部署 k8s Cluster(下)- 每天5分鐘玩轉 Docker 容器技術(119)

摘要:?上節我們通過 kubeadm 在 k8s-master 上部署了 Kubernetes,本節安裝 Pod 網絡并添加 k8s-node1 和 k8s-node2,完成集群部署。

上節我們通過 kubeadm 在 k8s-master 上部署了 Kubernetes,本節安裝 Pod 網絡并添加 k8s-node1 和 k8s-node2,完成集群部署。

安裝 Pod 網絡

要讓 Kubernetes Cluster 能夠工作,必須安裝 Pod 網絡,否則 Pod 之間無法通信。

Kubernetes 支持多種網絡方案,這里我們先使用 flannel,后面還會討論 Canal。

執行如下命令部署 flannel:

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml


添加 k8s-node1 和 k8s-node2

在 k8s-node1 和 k8s-node2 上分別執行如下命令,將其注冊到 Cluster 中:

kubeadm join --token d38a01.13653e584ccc1980 192.168.56.105:6443

這里的?--token?來自前面?kubeadm init?輸出的第 ⑨ 步提示,如果當時沒有記錄下來可以通過?kubeadm token list?查看。


kubeadm join?執行如下:

根據提示,我們可以通過?kubectl get nodes?查看節點的狀態。

目前所有節點都是?NotReady,這是因為每個節點都需要啟動若干組件,這些組件都是在 Pod 中運行,需要首先從 google 下載鏡像,我們可以通過如下命令查看 Pod 的狀態:

kubectl get pod --all-namespaces

Pending、ContainerCreating、ImagePullBackOff?都表明 Pod 沒有就緒,Running?才是就緒狀態。我們可以通過?kubectl describe pod ?查看 Pod 具體情況,比如:

kubectl describe pod kube-flannel-ds-v0p3x --namespace=kube-system


為了節省篇幅,這里只截取命令輸出的最后部分,可以看到在下載 image 時失敗,如果網絡質量不好,這種情況是很常見的。我們可以耐心等待,因為 Kubernetes 會重試,我們也可以自己手工執行?docker pull?去下載這個鏡像。

等待一段時間,image 都成功下載后,所有 Pod 會處于?Running?狀態。

這時,所有的節點都已經?Ready,Kubernetes Cluster 創建成功,一切準備就緒。

小結

本章通過 kubeadm 部署了三節點的 Kubernetes 集群,后面章節我們都將在這個實驗環境中學習 Kubernetes 的各項技術。

書籍:

1.《每天5分鐘玩轉Docker容器技術》




https://item.jd.com/16936307278.html

2.《每天5分鐘玩轉OpenStack》

https://item.jd.com/12086376.html

版權聲明:本文內容由互聯網用戶自發貢獻,版權歸作者所有,本社區不擁有所有權,也不承擔相關法律責任。如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至:yqgroup@service.aliyun.com?進行舉報,并提供相關證據,一經查實,本社區將立刻刪除涉嫌侵權內容。

原文鏈接

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容