1. 程式人生 > 其它 >Centos-7快速升級到K8S-1.17.3

Centos-7快速升級到K8S-1.17.3

技術標籤:k8s分散式技術自動化運維kubernetes

1、清理歷史版本。將下面的命令儲存為檔案:uninstallk8s.sh

kubeadm reset -f
modprobe -r ipip
lsmod
rm -rf ~/.kube/
rm -rf /etc/kubernetes/
rm -rf /etc/systemd/system/kubelet.service.d
rm -rf /etc/systemd/system/kubelet.service
rm -rf /usr/bin/kube*
rm -rf /etc/cni
rm -rf /opt/cni
rm -rf /var/lib/etcd
rm -rf /var/etcd
yum clean all
yum remove kube*

2、執行命令:

sh uninstallk8s.sh

3、yum安裝kubelet、kubectl、kubeadm

yum install -y kubelet-1.17.3 kubectl-1.17.3 kubeadm-1.17.3

4、啟動kubelet

systemctl enable kubelet && systemctl start kubelet

5、在主節點上初始化admin

kubeadm init --kubernetes-version=v1.17.3 --pod-network-cidr=10.244.0.0/16 --image-repository registry.cn-hangzhou.aliyuncs.com/google_containers  --apiserver-advertise-address=10.213.7.6

6、執行完成後,複製最後的一段輸出,在子節點上執行

kubeadm join 10.213.7.6:6443 --token w4hpe5.7k3efrk702dyakzi \
    --discovery-token-ca-cert-hash sha256:11b63945106b69bdb2c2ca69faf1f0d3e8aeb7db9cae24dd2e8812582b291bde

7、檢視節點狀態

kubectl get nodes

NAME            STATUS     ROLES    AGE     VERSION
vpt00043s1a05   NotReady   master   2m50s   v1.17.3
vpt00043s1a11   Ready      <none>   2m3s    v1.17.3
vpt00043s1a12   Ready      <none>   54s     v1.17.3

8、發現master節點 notReady,需要配置網路外掛

kubectl apply -f kube-flannel.yml

再次嘗試:

kubectl get nodes

NAME            STATUS   ROLES    AGE     VERSION
vpt00043s1a05   Ready    master   7m      v1.17.3
vpt00043s1a11   Ready    <none>   6m13s   v1.17.3
vpt00043s1a12   Ready    <none>   5m4s    v1.17.3

9、在子節點上執行:

kubectl get pods --all-namespaces

The connection to the server localhost:8080 was refused - did you specify the right host or port?

拷貝mater節點的/etc/kubernetes/admin.conf到node節點上對應的位置即可。

10、啟動報埠不在範圍

The Service "svc-dot-2" is invalid: spec.ports[0].nodePort: Invalid value: 9002: provided port is not in the valid range. The range of valid ports is 30000-32767

nodeport的預設埠範圍是30000~32767

檢視配置檔案

vi /etc/kubernetes/manifests/kube-apiserver.yaml

在- --service-cluster-ip-range下面增加一行

- --service-node-port-range=18080-18090

重啟服務即可

systemctl daemon-reload
systemctl restart kubelet