rancher中國區加速安裝Kubernetes

上篇 《rancher安裝Kubernetes》 最後的步驟是錯誤的,即便每次手動改了k8s的鏡像,可是依然服務pull,並且每次重啓docker或者k8s,又會重置回默認的gcr.io的鏡像。html

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

環境準備

主機名 主機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鏡像 ,或者其餘阿里雲鏡像,騰訊雲鏡像,清華鏡像等)ubuntu

若是以前裝有其餘版本的,須要刪除全部鏡像和容器,並卸載docker重裝,rancher k8s 目前只支持 docker 1.12.3+ 的版本bash

sudo apt install docker.io複製代碼

安裝rancher

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

若是rancher/server是v1.6.10版本(低於v1.6.10版本未試過),須要你修改私有registry,且將gcr.io的插件push到私有registry,且namespace必須爲google_containers,若是容許的話,請選擇v1.6.11+(目前v1.6.11仍是rc版) 請根據實際狀況自行選擇版本post

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,須要運行google

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 anjia0532spa

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…

相關文章
相關標籤/搜索