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

上節咱們經過 kubeadm 在 k8s-master 上部署了 Kubernetes,本節安裝 Pod 網絡並添加 k8s-node1 和 k8s-node2,完成集羣部署。html

安裝 Pod 網絡node

要讓 Kubernetes Cluster 可以工做,必須安裝 Pod 網絡,不然 Pod 之間沒法通訊。git

Kubernetes 支持多種網絡方案,這裏咱們先使用 flannel,後面還會討論 Canal。github

執行以下命令部署 flannel:docker

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 查看。app

595.png
 

kubeadm join 執行以下:學習

594.png

根據提示,咱們能夠經過 kubectl get nodes 查看節點的狀態。ui

596.png

目前全部節點都是 NotReady,這是由於每一個節點都須要啓動若干組件,這些組件都是在 Pod 中運行,須要首先從 google 下載鏡像,咱們能夠經過以下命令查看 Pod 的狀態:google

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

相關文章
相關標籤/搜索