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


上節我們通過 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
593.png
 

添加 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 查看。

595.png
 

kubeadm join 執行如下:

594.png

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

596.png

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

kubectl get pod --all-namespaces

597.png

PendingContainerCreatingImagePullBackOff 都表明 Pod 沒有就緒,Running 才是就緒狀態。我們可以通過 kubectl describe pod <Pod Name> 查看 Pod 具體情況,比如:

kubectl describe pod kube-flannel-ds-v0p3x --namespace=kube-system
598.png
 

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

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

599.png

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

600.png

小結

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

書籍:

1.《每天5分鍾玩轉Docker容器技術》
https://item.jd.com/16936307278.html


2.《每天5分鍾玩轉OpenStack》
https://item.jd.com/12086376.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM