上次一進https://labs.play-with-k8s.com/ 下第一個Initialize Cluster Master Node就發生系統容量不足的錯誤,不知道跟筆電本身有沒有關係,我今天用公司電腦進這個lab再下一次Initialize Cluster Node的指令就建成Cluster了。

 

Initialize Cluster Master Node

$ kubeadm init --apiserver-advertise-address $(hostname -i)

執行成功:

然後我們就可以 Initialize Cluster Networking!

 

Initialize Cluster Networking

$ kubectl apply -n kube-system -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr-d '\n')"

這邊補充一下$(kubectl version | base64 | tr-d '\n') 這一段指令在做啥。

首先 kubectl version 會輸出 kubernetes的版本資訊,大概像底下這樣:

然後base64可以把這段回傳的內容轉成base64編碼字串,但該段字串會自動換行,所以最後用 tr -d ‘\n’ 把換行符號\n拿掉。

回到整段指令,以下是指令執行結果:

看起來一切OK,我們還得到了一個service account “weave-net” 到這邊應該可以說Initialize kubernetes cluster networking 成功了吧。

最後我們可以嘗試建立一個nginx反向代理Servicedeployment,在初始化過程中這一步是optional的,起碼在labs.play-with-k8s這個lab中是如此,但我們可以試試看是不是可以成功deploy nginx 在我們的cluster中。

 

(Optional) 建立Nginx 反向代理ServiceDeployment

$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/website/master/content/en/examples/application/nginx-app.yaml

只要直接用kubectl apply 指令去指定要apply 網路上的nginx yaml檔案就可以建立NginxDeployment了。

看起來也OK了,現在我們的cluster中已經建立好nginxpod 了,可以用$ kubectl get pods來列出現在k8s中有哪些pod已建立:

以上是在 labs.play-with-k8s Lab中初始化 Cluster Master Node以及Cluster Networking的一個過程。

 

20191211日星期三

arrow
arrow

    jackterrylau 發表在 痞客邦 留言(2) 人氣()