rancher中國區加速安裝Kubernetes

趙安家發表於2019-03-04

上篇 《rancher安裝Kubernetes》 最後的步驟是錯誤的,即使每次手動改了k8s的映象,但是依然服務pull,而且每次重啟docker或者k8s,又會重置回預設的gcr.io的映象。

本文是在群內@天闌-李小威 @洪曉露 @logan 等大神指導下,並根據 《原生加速中國區Kubernetes安裝》,最終搞定的方案

環境準備

主機名 主機ip OS docker version ranhcer version
anjia-ubuntu 192.168.31.83 ubuntu 17.04 4.9.0-12-generic x86_64 Docker version 1.12.6 v1.6.11-rc10

安裝 docker

按照 Getting Started with Hosts#SUPPORTED DOCKER VERSIONS 安裝受支援的docker-ce version (如果國內安裝較慢,可以考慮使用中科大docker映象 ,或者其他阿里雲映象,騰訊雲映象,清華映象等)

如果之前裝有其他版本的,需要刪除所有映象和容器,並解除安裝docker重灌,rancher k8s 目前只支援 docker 1.12.3+ 的版本

sudo apt install docker.io複製程式碼

安裝rancher

按照 Installing Rancher Server 根據實際情況,安裝rancher ,建議使用 加速器 DaoCloud – 業界領先的容器雲平臺 或者 阿里雲docker加速器

如果rancher/server是v1.6.10版本(低於v1.6.10版本未試過),需要你修改私有registry,且將gcr.io的外掛push到私有registry,且namespace必須為google_containers,如果允許的話,請選擇v1.6.11+(目前v1.6.11還是rc版) 請根據實際情況自行選擇版本

sudo docker run -d --restart=unless-stopped --name=rancher-server -p 8080:8080 rancher/server:v1.6.11-rc10 && sudo docker logs -f rancher-server
#sudo docker run -d --restart=unless-stopped --name=rancher-server -p 8080:8080 rancher/server:v1.6.10 && sudo docker logs -f rancher-server複製程式碼

註冊 docker hub

安裝k8s

如果之前安裝過docker和k8s,需要執行

docker rm -f -v $(docker ps -aq) 
docker volume rm $(docker volume ls)
sudo rm -rf /var/etcd/複製程式碼

建立環境模板

建立環境模板
建立環境模板

修改k8s模板

Private Registry for Add-Ons and Pod Infra Container Image index.docker.io

Image namespace for Add-Ons and Pod Infra Container Image anjia0532

Image namespace for kubernetes-helm Image anjia0532

Pod Infra Container Image anjia0532

修改k8s模板
修改k8s模板
修改k8s模板
修改k8s模板
修改k8s模板
修改k8s模板

建立k8s環境

建立k8s環境
建立k8s環境

選擇k8s環境並新增主機

選擇k8s環境並新增主機
選擇k8s環境並新增主機

檢視k8s基礎服務狀態

當基礎服務都是綠色後,即可使用

檢視k8s基礎服務狀態
檢視k8s基礎服務狀態

檢視k8s 儀表板 dashboard

檢視k8s 儀表板 dashboard
檢視k8s 儀表板 dashboard

異常排查

如果開啟dashboard 報 503 ServiceUnavailable , 非常感謝群內@天闌-李小威 耐心解答,同時 參考 Kubernetes 部署失敗的 10 個最普遍原因(Part 1) 解決了好幾個問題

開啟Cli

> kubectl --namespace=kube-system  get pods
NAME                                   READY     STATUS             RESTARTS   AGE
heapster-79684d56d6-8pjrd              1/1       Running            0          13m
kube-dns-7f59fd996-nkvv5               3/3       Running            0          13m
kubernetes-dashboard-86d9cc5b4-7lxj5   0/1       ImagePullBackOff   0          13m
monitoring-grafana-6dc7576774-8x79x    1/1       Running            0          13m
monitoring-influxdb-d78f84c6c-29wcp    1/1       Running            0          13m
tiller-deploy-c4598db7d-8wxpp          1/1       Running            0          13m

# 復
> kubectl --namespace=kube-system  describe pod kubernetes-dashboard-86d9cc5b4-7lxj5
# 我這是正常Running的日誌,ImagePullBackOff的沒截下來
 Events:
  Type    Reason                 Age   From               Message
  ----    ------                 ----  ----               -------
  Normal  Scheduled              16m   default-scheduler  Successfully assigned kubernetes-dashboard-86d9cc5b4-7lxj5 to k8s
  Normal  SuccessfulMountVolume  16m   kubelet, k8s       MountVolume.SetUp succeeded for volume "io-rancher-system-token-lb68r"
  Normal  Pulled                 16m   kubelet, k8s       Container image "index.docker.io/anjia0532/kubernetes-dashboard-amd64:v1.7.1" already present on machine
  Normal  Created                16m   kubelet, k8s       Created container
  Normal  Started                16m   kubelet, k8s       Started container

# 也可以根據 events 來輔助排查問題
> kubectl --namespace=kube-system get events複製程式碼

部落格 anjia.ml/2017/11/13/…
掘金 juejin.im/post/5a0975…
簡書 www.jianshu.com/p/2f906a7f4…

相關文章