容器編排服務Kubernetes(二)

參考文章:http://idc.wanyunshuju.com/K8S/583.htmlhtml

接上節  容器編排服務Kubernetes(一)node

上一小節中,咱們將masterNode機器上全部的組件安裝完畢,接下來須要配置其餘做爲workerNode機器。docker

一、首先給各個workerNode機器安裝docker,安裝方式可參考容器服務Docker學習(一)實戰篇json

二、修改各個機器的主機名:服務器

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

修改成node1,同理分別將另外4臺機器也依次修改成node二、node三、node四、node5。網絡

查看命令,發現永久主機名已被修改,可是臨時主機名仍然仍是以前的(我不太分的清,臨時主機名和永久主機名在搭建集羣時,到底指向什麼,因此我這裏統一將臨時主機名也修改成node一、node二、、、、node5,用命令 sudo hostname node1)post

 

三、時間校對學習

[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 秒
測試

四、配置IP地址,配置7臺測試機的/etc/hosts文件(在七臺服務器上同步)網站

 

 

 五、配置文件傳到node一、node二、、、、

[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/

 

 

 

 六、開始從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 成功!

 七、啓動Docker

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

[root@node2 ~]# docker info

八、將此結點添加到主集羣裏。

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結點上進行替換,添加成功:

 

九、查看下載鏡像
[root@node1 ~]# docker image ls

我這裏顯示的東西少了兩項,略顯單薄。網上的教程,docker裏面的東西比我這裏多了三項東西,具體見下圖(此圖片來源於網站)。

十、用一樣的方法,將6個Node添加進來,master服務器上能夠查節點信息
[root@master ~]# kubectl get nodes

 

 

 6個結點所有添加進來了,可是notReady。

根據這個打印日誌發現,是缺乏fannel等組件,無法實現網絡通訊,因而對比步驟9中的docker image中的內容,補充下載了三項(六個結點都須要下載):

 

 成功將Node的狀態改成了ready。

 

 十一、至此K8S搭建完成,須要進一步驗證是否成功。

十二、結點的加入、刪除。

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

相關文章
相關標籤/搜索