Installing a pod network add-on
https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/#pod-network
network add-on flannel
我選擇 flannel 作為 K8s CNI 功能實現方式。 有關 K8s 官方說明,可以查看此篇 https://kubernetes.io/docs/concepts/cluster-administration/networking/#flannel Github flannel 連結 https://github.com/coreos/flannel
因我對 CNI 尚未深入了解,故此篇僅偏向實作筆記,沒有談論到 CNI 相關面向資訊。 當完成了 kubeadm init 步驟後,下一步驟就是安裝 K8s CNI 角色
You should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
https://kubernetes.io/docs/concepts/cluster-administration/addons/安裝 flannel
# 選擇安裝 flannel
# kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/bc79dd1505b0c8681ece4de4c0d86c5cd2643275/Documentation/kube-flannel.yml
[vagrant@kk8s-1 ~]$ kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/bc79dd1505b0c8681ece4de4c0d86c5cd2643275/Documentation/kube-flannel.yml
clusterrole.rbac.authorization.k8s.io/flannel created
clusterrolebinding.rbac.authorization.k8s.io/flannel created
serviceaccount/flannel created
configmap/kube-flannel-cfg created
daemonset.extensions/kube-flannel-ds-amd64 created
daemonset.extensions/kube-flannel-ds-arm64 created
daemonset.extensions/kube-flannel-ds-arm created
daemonset.extensions/kube-flannel-ds-ppc64le created
daemonset.extensions/kube-flannel-ds-s390x created
[vagrant@kk8s-1 ~]$查看有關 CoreDNS 及 flannel pod 運作狀況
出錯,解決問題
查看 log
Error registering network: failed to acquire lease: node "kk8s-1" pod cidr not assigned
經過爬文得知,要使用此網路解決方案,則需要再 kubeadm init 時加上
--pod-network-cidr=10.244.0.0/16
我又爬了文,想嘗試現行環境下在某個設定檔案中追加此參數,但沒有查到此解法,看來我只能 reset master node。
記錄移除了整個 master node 過程
重新 kubeadm init
重新安裝
又卡關
先查 log
經過透過 Google 搜尋前人經驗,發現在建立 flannel 時會創建cni0、flannel.1兩網卡。
找到原因了~ 原來網卡衝突了!
會衝突的原因是,我在相同環境反覆 kubeadm reset && init 過程中,留下了先前建立的舊網卡~
重建 flannel 就好了,通體舒暢真舒服 XDDDD
以上,過程中出現的問題,或許有解法直接新環境重建就好~ 但是,Lab 能夠發現問題,並找出問題根源,了解到故中原理才是我最開心最有收穫之處。
Last updated