上次一進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反向代理Service的deployment,在初始化過程中這一步是optional的,起碼在labs.play-with-k8s這個lab中是如此,但我們可以試試看是不是可以成功deploy nginx 在我們的cluster中。
(Optional) 建立Nginx 反向代理Service的Deployment
$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/website/master/content/en/examples/application/nginx-app.yaml
只要直接用kubectl apply 指令去指定要apply 網路上的nginx yaml檔案就可以建立Nginx的Deployment了。
看起來也OK了,現在我們的cluster中已經建立好nginx的pod 了,可以用$ kubectl get pods來列出現在k8s中有哪些pod已建立:
以上是在 labs.play-with-k8s Lab中初始化 Cluster Master Node以及Cluster Networking的一個過程。
2019年12月11日星期三
留言列表