說明
我們用kubernetes去管理Docker集群,即可以將Docker看成Kubernetes內部使用的低級別組件。另外,kubernetes不僅僅支持Docker,還支持Rocket,這是另一種容器技術。希望我這篇文章中簡單的描述能讓你對兩者有所理解和認識。
機器準備
兩臺虛擬機
Centos版本需要大于7.5
192.168.20.85 master
192.168.20.20 node
部署流程
第一步:修改主機名
? 啟動后第一件事是修改hostname:
- 打開/etc/hostname文件;
- 刪除所有內容,再添加”master”,保存后退出;
- 執行命令reboot重啟虛擬機
- 確保防火墻已經關閉(systemctl status firewalld)
- 參照 安裝配置Docker環境
第二步:安裝rancher
docker run -d --restart=unless-stopped -p 8080:8080 rancher/server:stable
執行錯誤:重啟docker:systemctl restart docker
- 1
- 2
執行成功后,執行docker ps命令得到該容器的ID,例如“87f432784321”,再執行docker logs -f 87f432784321,就能看到該容器的實時日志,如下圖:
日志滾動到下列信息的時候,rancher已經啟動完成了:
第三步:虛擬機的ip是192.168.20.85,所以我們在當前的windows下打開瀏覽器輸入“192.168.20.85:8080”,即可看到rancher的歡迎頁面,如下圖:
如下圖,在網頁的右下角選擇語言“簡體中文”:
創建kubernetes環境
如下圖,點擊“環境管理”:
如下圖,點擊“添加環境”:
如下圖,創建一個kubernetes環境:
如下圖,此時將鼠標放到紅框位置,就能看見新增的“kubernetes001”環境了,點擊下圖藍框位置,切換到”kubernetes001”環境:
切換到“kubernetes001”環境的頁面如下圖所示,提示我們要至少加入一個主機,點擊紅框中的“添加主機”:
如下圖,請確認今后新加的主機通過什么地址可以訪問到當前的rancher服務器,本次實戰的虛擬機ip就是192.168.20.85,所以不用更改直接點擊下面的“保存”按鈕即可,如果您的機器有多個ip或者新機器可用host訪問當前rancher,請選擇“其他地址”并填入正確信息;
跳轉的頁面如下圖所示,紅框中的內容就是新的主機加入時需要數據的命令,請復制并妥善保存,然后點擊“關閉”:
現在我們已經創建了kubernetes環境,主機加入時用到的命令也已經拿到,是時候添加新的主機了;
ERROR: http://192.168.160.130:8080/v1 is not accessible (Failed to connect to 192.168.160.130 port 8080: No route to host)
......
原因可能是防火墻引起
[root@localhost ~]# firewall-cmd --state
running
[root@localhost?~]# systemctl stop firewalld
在node1上打開控制臺,然后執行上面那個命令;
執行時會在node1的docker上運行一個rancher/agent容器,并注冊到kubernetes環境;
部署tomcat服務
點擊頂部的”KUBERNETES”菜單,再點擊”>_CLI”子菜單,就會出現控制臺頁面,我們可以在此頁面輸入kubectl命令,如下圖:
在上圖的控制臺輸入以下命令,立即創建一個deploy,鏡像是tomcat,兩個副本:
kubectl run tomcat001 --image=tomcat:7.0.82-jre7 --replicas=2 --port=8080
- 1
去dashboard(儀表盤)頁面,點擊左側的“部署”,可以看到我們剛剛創建的tomcat001,如下圖:
等下載鏡像完成,并且啟動容器成功后,此步驟可能慢,頁面更新如下:
回到剛剛輸入命令行的控制臺,輸入以下命令創建一個服務:
kubectl expose deploy tomcat001 --type=NodePort --target-port=8080
- 1
再去dashboard頁面點擊左下角的”服務“,就能看到剛剛創建的服務了,并且8080端口被映射到node1的30991端口,如下圖:
node1的ip是192.168.119.153,所以,此時我們在windows系統中打開瀏覽器,輸入:192.168.119.153:30991 ,就能訪問到kubernetes環境中的tomcat容器了,如下圖,熟悉的tomcat歡迎頁:
k8s資料參考:
學習 Kubernetes 基礎知識 | Kubernetes
概念:
理解 Kubernetes 對象 | Kubernetes
Pods | Kubernetes
Deployments | Kubernetes
服務(Service) | Kubernetes