在上一章《 rancher下的kubernetes之一:構建標准化vmware鏡像》,我們做了個通用的虛擬機鏡像,可以root登錄,apt已經更新,docker也裝好了,現在我們就來安裝rancher,再搭建kubernetes環境;
前提條件
由於要用到谷歌的服務,所以要求您的網絡環境可以科學上網,具體的方案就不在這里說了;
使用標准化鏡像
使用上一章制作好的虛擬機文件,整個文件夾復制粘貼三份,如下圖所示:
如上圖,ubuntu16server64是上一章制作的虛擬機的文件夾,復制成了三份:master、node1、node2;
啟動master
用vmware打開master文件夾中的虛擬機文件,啟動前記得修改虛擬機名稱,如下圖:
啟動時彈出的窗口,選擇我已復制該虛擬機,如下圖:
修改主機名
啟動后第一件事是修改hostname:
1. 打開/etc/hostname文件;
2. 刪除所有內容,再添加”master”,保存后退出;
3. 執行命令reboot重啟虛擬機;
確保防火牆已經關閉
執行命令ufw status查看防火牆狀態,如果不是inactive,就要執行ufw disable命令關閉防火牆;
安裝rancher
在虛擬機的命令行執行以下命令,會下載rancher的docker鏡像,並運行一個容器:
docker run -d --restart=unless-stopped -p 8080:8080 rancher/server:stable
執行成功后,執行docker ps命令得到該容器的ID,例如“87f432784321”,再執行docker logs -f 87f432784321,就能看到該容器的實時日志,如下圖:
日志滾動到下列信息的時候,rancher已經啟動完成了:
訪問rancher
虛擬機的ip是192.168.119.148,所以我們在當前的windows下打開瀏覽器輸入“192.168.119.148:8080”,即可看到rancher的歡迎頁面,如下圖:
如下圖,在網頁的右下角選擇語言“簡體中文”:
現在rancher服務已經運轉正常了,接下來我們用rancher創建一套kubernetes環境吧,此時請確保可以科學上網,因為要去谷歌的倉庫下載docker鏡像了;
創建kubernetes環境
如下圖,點擊“環境管理”:
如下圖,點擊“添加環境”:
如下圖,創建一個kubernetes環境:
如下圖,此時將鼠標放到紅框位置,就能看見新增的“kubernetes001”環境了,點擊下圖藍框位置,切換到”kubernetes001”環境:
切換到“kubernetes001”環境的頁面如下圖所示,提示我們要至少加入一個主機,點擊紅框中的“添加主機”:
如下圖,請確認今后新加的主機通過什么地址可以訪問到當前的rancher服務器,本次實戰的虛擬機ip就是192.168.119.148,所以不用更改直接點擊下面的“保存”按鈕即可,如果您的機器有多個ip或者新機器可用host訪問當前rancher,請選擇“其他地址”並填入正確信息;
跳轉的頁面如下圖所示,紅框中的內容就是新的主機加入時需要數據的命令,請復制並妥善保存,然后點擊“關閉”:
現在我們已經創建了kubernetes環境,主機加入時用到的命令也已經拿到,是時候添加新的主機了;
添加主機
“添加主機”就是將新的服務器加入到rancher下新建的kubernetes001環境中,還記得我們從標准化鏡像文件夾復制的三個文件夾么?如下圖:
用vmware將上圖紅框中的node1鏡像打開,記得修改虛擬機名稱為“node1”,啟動時彈出的窗口,選擇我已復制該虛擬機;
啟動后,先修改/etc/hostname為node1,再確認防火牆已經關閉,然后重啟虛擬機node1;
主機加入kubernetes環境
還記得master上生成的那段命令么?如下圖:
在node1上打開控制台,然后執行上面那個命令;
執行時會在node1的docker上運行一個rancher/agent容器,並注冊到kubernetes環境;
此時去頁面上點擊左上角的“kubernetes001”,會發現頁面展示了如下信息:
可以看到node1已經添加成功了,正在執行kubernetes服務的各個步驟;
這時候點擊頂部的“基礎架構”->“主機”,可以見到如下的信息,各種服務的部署和啟動,忙得熱火朝天的:
點擊頂部的“基礎架構”->“容器”,可以見到如下的信息,各個docker的容器處於各種不同的狀態:
此時從下載docker鏡像到啟動各個服務,都是耗時的操作,請靜待20分鍾左右吧;
等到所有的容器都啟動成功,狀態會全部變成綠圈,如下圖:
再點擊左上角的“kubernetes001”,看到Kubernetes儀表板的按鈕已經出來了,如下圖:
點擊“Kubernetes UI”按鈕,就會跳轉到kubernetes的dashboard頁面,如下圖:
如果您看不到上圖頁面,而是一片白屏,請稍等幾分鍾,因為dashboard服務啟動較慢;
現在kubernetes環境已經搭建成功了,接下來我們部署一個應用試試吧;
部署tomcat服務
點擊頂部的”KUBERNETES”菜單,再點擊”>_CLI”子菜單,就會出現控制台頁面,我們可以在此頁面輸入kubectl命令,如下圖:
在上圖的控制台輸入以下命令,立即創建一個deploy,鏡像是tomcat,兩個副本:
kubectl run tomcat001 --image=tomcat:7.0.82-jre7 --replicas=2 --port=8080
去dashboard頁面,點擊左側的“部署”,可以看到我們剛剛創建的tomcat001,如下圖:
等下載鏡像完成,並且啟動容器成功后,頁面更新如下:
回到剛剛輸入命令行的控制台,輸入以下命令創建一個服務:
kubectl expose deploy tomcat001 --type=NodePort --target-port=8080
再去dashboard頁面點擊左下角的”服務“,就能看到剛剛創建的服務了,並且8080端口被映射到node1的30991端口,如下圖:
node1的ip是192.168.119.153,所以,此時我們在windows系統中打開瀏覽器,輸入:192.168.119.153:30991 ,就能訪問到kubernetes環境中的tomcat容器了,如下圖,熟悉的tomcat歡迎頁:
以上就是加入主機到kubernetes環境並驗證的過程,另一個主機的加入請讀者您自行操作;
至此,在rancher下搭建kubernetes的實戰就全部結束了,感謝rancher幫助我們簡單快速的搭建了kubernetes環境,讓我們可以更方便的暢游kubernetes,學習和實踐更多的容器化知識;