前言
此文檔在三臺內網機器搭建,只是為了學習搭建環(huán)境,不做生成環(huán)境使用。
環(huán)境
| 主機名 | ip | 角色 |
|---|---|---|
| web2 | 192.168.2.202 | master |
| web5 | 192.168.2.205 | node1 |
| web8 | 192.168.2.208 | node2 |
三臺主機系統(tǒng)均為 CentOS 7.8.2003
文中會明確每個操作是在 master 還是 node 操作
node 包含 node1 和 node2
安裝之前先關閉三臺主機的防火墻
systemctl stop firewalld.service
安裝Docker
主機
master和node均需操作Docker版本為
19.03.12
-
卸載舊版本docker
sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine -
添加軟件源信息
# 添加yum工具 sudo yum install -y yum-utils # 添加源 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo -
安裝docker
sudo yum install -y docker-ce docker-ce-cli containerd.io -
啟動docker
sudo systemctl start docker -
【可選】設置開啟啟動
sudo systemctl enable docker -
【可選】通過
hello-word鏡像驗證是否安裝成功sudo docker run hello-world如下圖輸出說明安裝成功
iShot2020-09-10 18.40.55-w600
通過Docker運行Rancher
僅
master主機需要操作Rancher版本為
v2.4.8
-
通過docker運行rancher
sudo docker run -d --restart=unless-stopped \ -p 80:80 -p 443:443 \ rancher/rancher:latestdocker會先拉取鏡像,然后運行rancher,如下圖輸出說明運行成功
iShot2020-09-11 12.28.31-w613
- 等幾分鐘后,通過
master主機的ip192.168.2.202訪問rancher
訪問鏈接 https://192.168.2.202/
注意要使用https訪問,瀏覽器有可能會報不安全,強制訪問即可
iShot2020-09-11 13.40.54-w507
-
設置
admin的新密碼,同意協(xié)議,點擊Continue進入下一頁
iShot2020-09-11 13.38.00-w521 -
點擊
Save URL成功進入Rancher控制臺,選擇右下角的語言切換為中文
iShot2020-09-11 13.44.48-w1007
通過Rancher添加一個Kubernetes集群
-
在上一步或者訪問鏈接https://192.168.2.202/g/clusters點擊
添加集群選擇自定義創(chuàng)建一個新集群- 輸入集群名稱
web - 選擇Kubernetes版本,這里選擇最新的
v1.18.8-rancher1-1 -
其他設置可使用默認值,然后點擊下一步
iShot2020-09-11 14.24.32-w1044
- 輸入集群名稱
-
添加主機,每個主機均可運行多個角色可按照下文配置亦可自由配置,但是必須要保證至少一個
Etcd角色、一個Control角色、一個Worker角色- 主機選項中勾選
Etcd與Control兩個選項,復制命令,然后在master主機執(zhí)行命令 - 主機選項中勾選
Worker,復制命令,然后在node主機執(zhí)行命令
- 主機選項中勾選
-
在命令行執(zhí)行完添加主機的命令后點擊
完成即可回到集群列表頁;點擊節(jié)點數(shù)鏈接跳轉到主機頁,這里會根據主機添加的網絡情況顯示,如圖web8這臺機器docker鏡像暫時沒有拉取完成,所以還沒出現(xiàn)在列表中;
iShot2020-09-11 14.38.33-w1039
iShot2020-09-11 14.39.18-w1042 -
經過一段時間后主機全部注冊成功了,點擊紅框按鈕 -> 編輯 -> 自定義名稱 修改主機的名稱
-
web2->master -
web5->node1 -
web8->node2
至此Kubernetes集群搭建完畢
iShot2020-09-11 17.27.15-w1035
iShot2020-09-17 13.55.55-w1047 -
使用Rancher部署一個服務
這里使用 golang 寫一個簡單web服務并構建成docker鏡像上傳到docker倉庫 lvxiaohai/hello-go。下面我們使用Rancher部署這個服務。
-
為了能順利訪問服務,先在本機指一個
host# 使用node1或者node2的ip 192.168.2.208 www.hello-go.com -
點擊
部署服務
iShot2020-09-16 16.32.14-w1079 -
按照下圖填寫并點擊
啟動
iShot2020-09-16 16.37.05-w1127 -
稍等一會即可執(zhí)行成功,點擊
負載均衡->添加規(guī)則創(chuàng)建一個負載均衡
iShot2020-09-16 16.39.16-w1127 -
選擇
自定義域名并輸入第1步指定的hostwww.hello-go.com,點擊服務增加一條,然后把默認的工作負載一條給刪掉,最后保存
iShot2020-09-16 16.44.39-w1115 -
在瀏覽器中訪問鏈接 http://www.hello-go.com,顯示
Hello go!;配置成功。
iShot2020-09-16 17.13.11-w622














