環境準備(4臺主機,Ubuntu16.04+Docker1.12.6 + SSH):
rancher1 ??192.168.3.160 ??只做管理節點
node1 ?????192.168.3.161 ??K8S的節點1
node2 ?????192.168.3.162 ??K8S的節點2
node3 ?????192.168.3.163 ??K8S的節點3
此時如果用docker pull命令下載鏡像,本地會連接hub.docker.com網站去下載,耗時較長,因此我們可以設置docker鏡像加速,使得本地連接去國內鏡像倉庫下載,鏡像加速的設置有很多種,本章以阿里云的設置為例,步驟如下:
1)創建目錄:
[root@master ~]# mkdir /etc/docker
2)設置鏡像倉庫地址:
在daemon.json最后加上{ ?"registry-mirrors": ["https://xwx6wxd1.mirror.aliyuncs.com"] }
tee /etc/docker/daemon.json <<-'EOF'{ ?"registry-mirrors": ["https://xwx6wxd1.mirror.aliyuncs.com"] }EOF
3)重新加載配置:
[root@master ~]# systemctl daemon-reload
4)重啟服務
[root@master ~]# systemctl restart docker.service
備注:slave1節點操作一致
一、啟動Rancher Server管理節點?
#在rancher1(192.168.3.160)上執行命令,啟動Rancher Server
sudo docker run -d --restart=unless-stopped -p 8080:8080 rancher/server
?
二、在Rancher的Web界面中創建K8S環境、自動生成主機加入集群的命令
#使用谷歌瀏覽器,訪問http://192.168.3.160:8080,登錄到Rancher管理頁面
#到頁面的右下角,切換到簡體中文界面
#點擊“Default”->“環境管理”->“添加環境”
#添加環境的名稱:K8S
#添加環境的描述:K8S測試環境
#環境模板:選擇kubernetes
#點擊創建,就創建好Kubernetes環境了。
?
#然后在菜單中切換到K8S環境,
#點擊“基礎架構”->“主機”->“添加主機”
#分別添加主機標簽和3臺主機節點的IP地址:
#比如:
#第3步標簽:host=node1
#第4步填入node1的IP地址:192.168.3.161
#這樣可以自動生成節點加入到K8S環境中的Docker命令,
#將命令復制到node1的SSH命令窗口中執行,
#即可完成將node1加入到K8S環境,
#需要等上幾分鐘時間,才能將K8S相關的容器下載、啟動完成
?
三、把3臺主機節點分別加入到K8S環境中
# 3.1在node1(192.168.3.161)上執行命令,加入到K8S集群中
sudo docker run -e CATTLE_AGENT_IP="192.168.3.161" ?-e CATTLE_HOST_LABELS='host=node1' ?--rm --privileged -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/rancher:/var/lib/rancher rancher/agent:v1.2.5 http://192.168.3.160:8080/v1/scripts/D9A8B18AE1FD1EC24161:1483142400000:TWXiElSPIHtPQ7BCrMzrSbMxsc
?
# 3.2在node2(192.168.3.162)上執行命令,加入到K8S集群中
sudo docker run -e CATTLE_AGENT_IP="192.168.3.162" ?-e CATTLE_HOST_LABELS='host=node2' ?--rm --privileged -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/rancher:/var/lib/rancher rancher/agent:v1.2.5 http://192.168.3.160:8080/v1/scripts/D9A8B18AE1FD1EC24161:1483142400000:TWXiElSPIHtPQ7BCrMzrSbMxsc
?
# 3.2在node3(192.168.3.163)上執行命令,加入到K8S集群中
sudo docker run -e CATTLE_AGENT_IP="192.168.3.163" ?-e CATTLE_HOST_LABELS='host=node3' ?--rm --privileged -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/rancher:/var/lib/rancher rancher/agent:v1.2.5 http://192.168.3.160:8080/v1/scripts/D9A8B18AE1FD1EC24161:1483142400000:TWXiElSPIHtPQ7BCrMzrSbMxsc
?
四、運行后的效果
-
?
圖1在rancher1上執行的命令,然后就可以訪問3.160的8080端口了
-
圖2.0添加K8S環境
-
圖2.1添加K8S環境
-
圖2.2切換到K8S環境的按鈕
-
圖3.1自動生成加入到K8S環境的命令-node1
-
圖3.1自動生成加入到K8S環境的命令-node2
-
圖3.1自動生成加入到K8S環境的命令-node3
-
圖3.2在node1上執行命令,將node1加入到K8S集群中
-
圖3.2在node2上執行命令,將node2加入到K8S集群中
-
圖3.2在node3上執行命令,將node3加入到K8S集群中
-
圖4.1最終的3臺主機狀態
-
圖4.2基礎設施應用
版權聲明:本文為博主原創文章,或轉載自網絡,歡迎轉載分享,讓這世界越來越好。