1. 程式人生 > >Ubantu16.04 64bit 搭建 docker + k8s 實戰記錄(個人備忘)

Ubantu16.04 64bit 搭建 docker + k8s 實戰記錄(個人備忘)

之前在centos7 搭建了 docker1.13 和 k8s 1.5.2 ,最後,k8s 的 kube-dns 沒有建立成功,flannel 網路沒有建立成功。今天這個 ubantu 都成了。

harbor 的安裝請看我的其他博文。

注意兩點:

一 :docker harbor 私服倉庫,需要在每個 k8s工作節點上 配置 地址,這樣,slave 上 才可以找到 harbor 中的映象命令如下:

echo '{ "insecure-registries":["9.2.1.26:5000"] }' > /etc/docker/daemon.json

上面的 9.2.1.26 是 harbor 所在伺服器的ip, 5000 是 在harbor docker-commples.yml 中 的registery 配置的。

二:每次 k8s master 通過 kubelet 排程 k8s 各個slave 的時候,每個 slave去 doker pull harbor 映象的時候,會提示失敗。

通過如下命令可以檢視該pod 的錯誤日誌:

#當pod 啟動失敗後, 可以用如下命令檢視pod 日誌,web-gateway-deployment-7bcd9f8f8c-85lcq他是pod name.
kubectl describe pod web-gateway-deployment-7bcd9f8f8c-85lcq 

錯誤資訊為如下:

 Warning  Failed     6m (x4 over 7m)   kubelet, 9.42.19.118  Failed to pull image "9.42.41.226:5000/wsjc-web/web-gateway:latest": rpc error: code = Unknown desc = Error response from daemon: pull access denied for 9.2.1.26:5000/wsjc-web/web-gateway, repository does not exist or may require 'docker login'

解決辦法:

sudo cp ~/.docker/config.json /var/lib/kubelet/config.json

最好重啟docker 服務:systemctl restart docker.service 。