1. 程式人生 > >原生加速中國區Kubernetes安裝_Kubernetes中文社群

原生加速中國區Kubernetes安裝_Kubernetes中文社群

教你如何在中國區加速部署k8s,且實現自定義設定擁有k8s映象的倉庫與其名稱空間。

概述

Kubernetes是一個強大的容器編排工具,幫助使用者在可伸縮性系統上可靠部署和執行容器化應用。在容器領域內,K8s已毋庸置疑成為了容器編排和管理的社群標準,連Docker官方都已宣佈支援K8s。在容器編排領域的戰火已然分出結果,塵埃落定,K8s得到了包括Google、Huawei、Microsoft、IBM、AWS、Rancher、Redhat、CoreOS等在內的容器玩家的一致認可。

Rancher容器管理平臺原生支援K8s,使使用者可以簡單輕鬆地部署K8s叢集。

然而對於中國玩家而言,由於谷歌映象倉庫的原因,很多時候K8S的使用體驗並不順滑。在往期釋出的文章(

《Rancher-k8s加速安裝文件》)中,我們有講解過如何通過修改應用商店地址來實現加速部署kubernetes。雖然這種方法能夠實現kubernetes的加速部署,但是因為自定義的商店倉庫無法與官方倉庫實時同步,很多元件(網路、健康檢查等)將無法保證及時的更新。因此,為了解決這個問題,我們在官方catalog模板的基礎上做了修改,增加了可以自定義倉庫地址和名稱空間的功能。這樣,我們在部署kubernetes時可以自定義設定擁有kubernetes映象的倉庫與其名稱空間。

環境準備

安裝前準備(重要):

  • Rancher-server:v1.6.11現在還是rc版本,安裝過程中可能會有一些錯誤提示。
  • 如果出現這個警告,需要刪除所有容器並更換Docker版本,Docker儘量選擇1.12.3

  • 配置好各節點間的hosts檔案;
  • 如果是克隆的主機,請檢查有沒有/var/lib/rancher/state/這個資料夾,如果有則刪除;
  • 如果以前有通過Rancher安裝過kubernetes,請執行命令:
docker rm -f -v $(docker ps -aq) 
docker volume rm $(docker volume ls)
rm -rf /var/etcd/
  • 如果選擇vxlan網路部署,需要在/etc/hosts檔案有:’本機IP localhost’這一行,如果沒有則新增;
  • 禁止swap: sudo swapoff –a(此命令為臨時禁止,永久禁止參考https://www.xtplayer.cn/2017/10/3162)(重要);
  • 其他注意事項請參考:https://kubernetes.io/docs/setup/independent/install-kubeadm/;

操作說明

啟動Rancher server

通過docker命令執行rancher server 並列印啟動日誌;

Sudo docker run -d --restart always –name rancher-server -p 8080:8080 rancher/server: v1.6.11-rc3 && sudo docker logs -f rancher-server

容器初始化完成後,通過主機IP:8080訪問WEB。

kubernetes環境管理

登入Rancher web後,按照標準流程我們應該去系統管理中做一些基礎配置,因我們這裡是演示環境,所以省去這一步。

進入環境管理,準備新增環境模板

點選新增環境模板,

點選編輯設定後,在彈出的頁面中,更改如下幾個引數:

私有倉庫地址:registry.cn-shenzhen.aliyuncs.com
AAONS元件名稱空間:rancher_cn
kubernetes-helm名稱空間:rancher_cn

引數設定完,點選頁面下方的設定按鈕返回環境模板編輯頁面。

保持環境模板其他引數不變,點選頁面下方的建立按鈕。

回到環境管理,點選新增環境,最後點選建立

這樣就用剛剛建立的模板建立了一個K8S環境

新增節點

切換到剛剛建立的環境

現在狀態是這樣,點選新增主機,

因為是第一次新增主機,系統會要求你確認節點註冊地址,我們直接點選儲存。

複製程式碼到三個node上執行

安裝完畢:

儀表盤

應用棧

主機檢視

進入基礎架構 | 容器檢視,取消勾選 顯示系統容器

正常狀態,非系統容器應該有14個。

部署演示示例

進入Dashdorad

頁面右上角,點選建立,建立一個示例服務NGINX

點選Overview檢視:

點選外部入口訪問應用: