Kubernetes集群搭建

  分类:技术   评论:2条  浏览: 1344次

Kubernetes集群搭建

本人最初搭建Kubernetes集群,曾经Goggle好长时间,也不曾搭建好,为了节省更多人时间,自己也作为笔记,现整理如下,希望对正有此需要的朋友有所帮助!

环境准备

机器IP 机器定位 CPU Memory
192.168.102.130 Master 1 2G
192.168.102.131 Node1 1 2G
192.168.102.132 Node2 1 2G
注意:以上三台机器,本人都是使用虚拟机,且三台虚拟机都已经安装好了docker环境。

Master机器配置

第一步:安装/配置etcd

当然,etcd也可以单独放在另一台机器上,现在为了方便且节省资源,将etcd 配置在master 机器上。

执行:

apt-get update
apt-get install etcd -y

执行之后将会出现下图打印信息: etcd安装

安装好后,修改etcd配置文件,执行:

vim /etc/default/etcd

将以下信息加入到配置文件中:

ETCD_DATA_DIR="/var/lib/etcd/default"
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
ETCD_ADVERTISE_CLIENT_URLS=http://0.0.0.0:2379

然后保存,执行:

service etcd restart

重新启动etcd服务,这样第一步安装/配置etcd就完成了; 注意:在开始安装 Kubernetes 之前,需要先将一些必要系统创建完成,其中 Etcd 就是 Kubernetes 最重要的一环,Kubernetes 会将大部分信息储存于 Etcd 上,来提供给其他节点索取,以确保整个集群运作与沟通正常。

第二步:下载/配置kubernetes

下载master(kubernetes-server-linux-amd64.tar.gz) 二进制文件

下载master(kubernetes-server-linux-amd64.tar.gz) 二进制文件,传送门,然后解压。

创建目录

创建几个目录,执行:

mkdir /opt/kubernetes/{bin,cfg} -p

etcd安装 并将解压出来的kube开头的几个文件移动到/opt/kubernetes/bin/目录下。

配置apiserver.sh文件

配置apiserver.sh文件,执行:

vim apiserver.sh

apiserver.sh

如上图,将

MASTER_ADDRESS:配置成你的master主机ip ETCD_SERVERS:配置成你的master主机ip

然后保存;

配置scheduler.sh文件

配置scheduler.sh文件,执行:

vim scheduler.sh

scheduler.sh 同样将

MASTER_ADDRESS:配置成你的master主机ip

如上图;

配置controller-manager.sh文件

配置controller-manager.sh文件,执行:

vim controller-manager.sh

controller-manager.sh 同样将

MASTER_ADDRESS:配置成你的master主机ip

如上图;

启动服务

启动服务,依次执行:

./apiserver.sh
./scheduler.sh
./controller-manager.sh

如下图: 启动

执行:

ps -ef | grep kube

可以查看进程,看是否成功启动,如下图即为启动成功: 进程

添加环境变量

最后便于方便,将bin目录添加环境变量,依次执行:

echo "export PATH=$PATH:/opt/kubernetes/bin" >> /etc/profile
source /etc/profile

ok,以上Master 机器就配置好了,接下来将配置Node 节点机。

Node1机器配置

下载node(kubernetes-node-linux-amd64.tar.gz) 二进制文件

下载master(kubernetes-node-linux-amd64.tar.gz) 二进制文件,传送门,然后解压。

创建目录

创建几个目录,执行:

mkdir /opt/kubernetes/{bin,cfg} -p

将kubelet 和kube-proxy移动到/opt/kubernetes/bin/目录下;

配置proxy.sh文件

配置proxy.sh文件,执行:

vim proxy.sh

proxy.sh 同样将

MASTER_ADDRESS:配置成你的master主机ip NODE_ADDRESS:当前节点ip

如上图;

配置kubelet.sh文件

配置kubelet.sh文件,执行:

vim kubelet.sh

kubelet.sh 同样将

MASTER_ADDRESS:配置成你的master主机ip NODE_ADDRESS:当前节点ip

如上图;

启动服务

启动服务,依次执行:

./proxy.sh
./kubelet.sh

但是这里,需要注意,在启动./kubelet.sh 服务的时候会报如下错误: 错误 原因可能是因为不能和swap 服务同时运行,可以执行:

free -m

swap

可以看到,swap服务是启动的,那么解决办法也就有了,可以关掉swap 服务,执行:

swapoff -a

然后,重新执行:

./kubelet.sh

就可以了,可以查看进程,如下图: 进程 这样,节点机就配置好了。

现在就可以在Master 机器上执行:

kubectl get nodes

得到下图: 集群 这样,节点机node1,就加入集群了,Node1节点就配置好了。

Node2机器配置

同理node2节点跟node1节点配置相同,只需要把相关文件的NODE_ADDRESS参数换成node2机器ip就行了。

至此,Kubernetes 集群搭建就搭建好了。

  1. 为什么我搭建的不成功?

    回复
    1. @洋哥的世界

      这是最简易了,按步骤走不会有问题

      回复
点击这里给我发消息
嘿!有什么可以帮助你吗?