容器编排服务Kubernetes(二)

参考文章:http://idc.wanyunshuju.com/K8S/583.html

接上节  容器编排服务Kubernetes(一)

上一小节中,我们将masterNode机器上所有的组件安装完毕,接下来需要配置其他作为workerNode机器。

1、首先给各个workerNode机器安装docker,安装方式可参考容器服务Docker学习(一)实战篇

2、修改各个机器的主机名:

[root@localhost datas]# hostname
localhost
[root@localhost datas]# hostnamectl
  
开始修改:
1、方法一使用hostnamectl命令
[root@xlucas1 ~]# hostnamectl set-hostname xlucas2
 
2、方法二:修改配置文件 /etc/hostname 保存退出
[root@xlucas1 ~]# vi /etc/hostname
xlucas2
进入hostname配置文件:

修改为node1,同理分别将另外4台机器也依次修改为node2、node3、node4、node5。

查看命令,发现永久主机名已被修改,但是临时主机名仍然还是之前的(我不太分的清,临时主机名和永久主机名在搭建集群时,到底指向什么,所以我这里统一将临时主机名也修改为node1、node2、、、、node5,用命令 sudo hostname node1)

 

3、时间校对

[root@master ~]# ntpdate ntp1.aliyun.com
13 Sep 14:48:02 ntpdate[1596]: adjust time server 120.25.115.20 offset -0.015854 sec
 
[root@master ~]# hwclock
2018年09月13日 星期四 14时49分51秒  -0.646898 秒

4、配置IP地址,配置7台测试机的/etc/hosts文件(在七台服务器上同步)

 

 

 5、配置文件传到node1、node2、、、、

[root@master ~]# scp /usr/lib/systemd/system/docker.service node1:/usr/lib/systemd/system/docker.service
[root@master ~]# scp /etc/sysconfig/kubelet node1:/etc/sysconfig/
[root@master ~]# scp /usr/lib/systemd/system/docker.service node2:/usr/lib/systemd/system/docker.service
[root@master ~]# scp /etc/sysconfig/kubelet node2:/etc/sysconfig/

 

 

 

 6、开始从node1到node6开始下载配置环境。

(1)[root@node1 ~]# wget https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
(2)[root@node1 ~]# rpm --import rpm-package-key.gpg

(3)[root@node1 ~]# yum -y install kubelet kubeadm(此处出现问题)

 

 

 对比上节安装masterNode的经验,感觉像是没有配置kubernetes仓库。

进到 /etc/yum.repos.d 文件夹 新建kubernetes.repo文件。

新建文件:

 

 

 然后再次执行

(1)[root@node1 ~]# wget https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
(2)[root@node1 ~]# rpm --import rpm-package-key.gpg

(3)[root@node1 ~]# yum -y install kubelet kubeadm 成功!

 7、启动Docker

[root@node2 ~]# systemctl start docker
[root@node2 ~]# systemctl enable docker kubelet

[root@node2 ~]# docker info

8、将此结点添加到主集群里。

kubeadm join 172.16.12.217:6443 --token ayykxh.fdsnw6dnai6k1rh1 --discovery-token-ca-cert-hash sha256:bc39b2e7139f573d397c3c031680e76a22d28a916e928d30c83d8f4f8fda8d61 --ignore-preflight-errors=Swap

 

 出现了一个报错,就一直卡在这里

更改了docker的启动,解决了第一个warning,

在/etc/docker下创建daemon.json并编辑以下内容:

 

 解决了第一个warning,但是程序一直卡在这里不动。

 

 

关闭防火墙(所有结点都关闭,以及禁用swap,用swapoff -a命令),第二个warning成功解决,然后又开始报新的错误。

查找资料说是主机生成的token过期,解决办法;去master主机生成新的token:

 主机生成新的token:

将新生成的token,拿到node1结点上进行替换,添加成功:

 

9、查看下载镜像
[root@node1 ~]# docker image ls

我这里显示的东西少了两项,略显单薄。网上的教程,docker里面的东西比我这里多了三项东西,具体见下图(此图片来源于网站)。

10、用同样的方法,将6个Node添加进来,master服务器上可以查节点信息
[root@master ~]# kubectl get nodes

 

 

 6个结点全部添加进来了,但是notReady。

根据这个打印日志发现,是缺少fannel等组件,没法实现网络通信,于是对比步骤9中的docker image中的内容,补充下载了三项(六个结点都需要下载):

 

 成功将Node的状态改为了ready。

 

 11、至此K8S搭建完成,需要进一步验证是否成功。

12、结点的加入、删除。

https://blog.csdn.net/feichen2016/article/details/91396181

 

附录:还有很多比较好的帖子来不及整理,先记下,有时间再去围观。

1.初始化集群的,图文并茂https://www.cnblogs.com/hanshanxiaoheshang/p/10942550.html、介绍了各个网络之间的通信,以及具体构成部件。

2.图文并茂,还有部分错误解决办法。https://mritd.me/2016/10/29/set-up-kubernetes-cluster-by-kubeadm/

3.CentOS7.6安装Kubernetes v1.15.1(我们一起踩过的坑)https://blog.csdn.net/chendoukuang7121/article/details/100969378(很清晰,强推)

4.跟我的版本完全匹配,强推《安装Kubernetes V1.16.2》https://www.cnblogs.com/bluersw/p/11713468.html

5.具体安装步骤 https://www.jianshu.com/p/e31fb1c469f7

6.https://www.jianshu.com/p/866f02f67578

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted on 2019-11-06 10:34  毛无语666  阅读(201)  评论(0编辑  收藏  举报

导航