網(wǎng)卡由于采用的DHCP動(dòng)態(tài)獲取IP,新創(chuàng)建的機(jī)器占用了K8Smaster節(jié)點(diǎn)的IP地址,K8S啟動(dòng)報(bào)錯(cuò)無(wú)法訪問(wèn)主節(jié)點(diǎn),所以更換K8S的IP地址
報(bào)錯(cuò)如下:
把配置文件kube-apiserver.yaml中,替換以下幾個(gè)地方的IP地址
cd /etc/Kubernetes mv admin.conf admin.conf_bak 使用如下命令生成新的admin.conf # kubeadm init phase kubeconfig admin --apiserver-advertise-address 192.168.37.128 I0920 09:50:30.940689 38240 version.go:252] remote version is much newer: v1.19.2; falling back to: stable-1.18 W0920 09:50:33.261484 38240 configset.go:202] WARNING: kubeadm cannot validate component configs for API groups [kubelet.config.k8s.io kubeproxy.config.k8s.io] [kubeconfig] Writing "admin.conf" kubeconfig file --192.168.37.128 為當(dāng)前主機(jī)的IP地址 |
cd /etc/kubernetes/pki mv apiserver.key apiserver.key.bak mv apiserver.crt apiserver.crt.bak 使用如下命令生成 # kubeadm init phase certs apiserver --apiserver-advertise-address 192.168.37.128 I0920 09:55:31.656513 45703 version.go:252] remote version is much newer: v1.19.2; falling back to: stable-1.18 W0920 09:55:33.787879 45703 configset.go:202] WARNING: kubeadm cannot validate component configs for API groups [kubelet.config.k8s.io kubeproxy.config.k8s.io] [certs] Generating "apiserver" certificate and key [certs] apiserver serving cert is signed for DNS names [k8s1 kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local] and IPs [10.96.0.1 192.168.37.128] --192.168.37.128 為當(dāng)前主機(jī)的IP地址 |
root@k8s1 ~ # systemctl restart docker root@k8s1 ~ # systemctl restart kubelet |
cd /etc/kubernetes/ root@k8s1 /etc/kubernetes # kubectl get nodes --kubeconfig=admin.conf NAME STATUS ROLES AGE VERSION k8s1 Ready master 126d v1.18.2 k8s2 NotReady k8s3 NotReady k8s4 NotReady 可以看到master節(jié)點(diǎn)現(xiàn)在已經(jīng)起來(lái)了 執(zhí)行mv admin.conf ~/.kube/config,后續(xù)可以使用kubectl get nodes查看K8S集群狀態(tài)了 root@k8s1 ~ # kubectl get nodes NAME STATUS ROLES AGE VERSION k8s1 Ready master 126d v1.18.2 k8s2 NotReady k8s3 NotReady k8s4 NotReady |
從2.7可以看到,master已經(jīng)起來(lái)了,但是node節(jié)點(diǎn)都是notready的,到k8s2節(jié)點(diǎn)查看日志如下,其他node節(jié)點(diǎn)k83,k84也是如此
使用journalctl命令查看kubelet日志,可以看到K8S2還是連接的原來(lái)的IP192.168.37.129 journalctl -f -u kubelet Sep 20 10:14:58 k8s2 kubelet[102389]: E0920 10:14:58.673121 102389 file_linux.go:60] Unable to read config path "/etc/kubernetes/manifests": path does not exist, ignoring Sep 20 10:14:58 k8s2 kubelet[102389]: E0920 10:14:58.684202 102389 kubelet.go:2267] node "k8s2" not found Sep 20 10:14:58 k8s2 kubelet[102389]: E0920 10:14:58.784485 102389 kubelet.go:2267] node "k8s2" not found Sep 20 10:14:58 k8s2 kubelet[102389]: E0920 10:14:58.873297 102389 kubelet_node_status.go:92] Unable to register node "k8s2" with API server: Post https://192.168.37.129:6443/api/v1/nodes: dial tcp 192.168.37.129:6443: connect: connection refused Sep 20 10:14:58 k8s2 kubelet[102389]: E0920 10:14:58.884986 102389 kubelet.go:2267] node "k8s2" not found Sep 20 10:14:58 k8s2 kubelet[102389]: E0920 10:14:58.985714 102389 kubelet.go:2267] node "k8s2" not found Sep 20 10:14:59 k8s2 kubelet[102389]: E0920 10:14:59.021311 102389 controller.go:136] failed to ensure node lease exists, will retry in 3.2s, error: Get https://192.168.37.129:6443/apis/coordination.k8s.io/v1/namespaces/kube-node-lease/leases/k8s2?timeout=10s: dial tcp 192.168.37.129:6443: connect: connection refused Sep 20 10:14:59 k8s2 kubelet[102389]: E0920 10:14:59.073642 102389 reflector.go:178] k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:46: Failed to list *v1.Pod: Get https://192.168.37.129:6443/api/v1/pods?fieldSelector=spec.nodeName%3Dk8s2&limit=500&resourceVersion=0: dial tcp 192.168.37.129:6443: connect: connection refused |
1.從master節(jié)點(diǎn)k8s1拷貝ca.crt到node節(jié)點(diǎn)對(duì)應(yīng)的目錄 scp ca.crt k8s2:/etc/kubernetes/pki/ 2.修改node節(jié)點(diǎn)的kubelet.conf,把server: https://192.168.37.129:6443修改為現(xiàn)在master節(jié)點(diǎn)的ip地址192.168.37.128 3.重啟node節(jié)點(diǎn)的docker systemctl restart docker 4.使用kubectl get nodes查看,node狀態(tài)已經(jīng)正常 # kubectl get nodes NAME STATUS ROLES AGE VERSION k8s1 Ready master 126d v1.18.2 k8s2 Ready k8s3 Ready k8s4 Ready |
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/130092.html
摘要:使用安裝安全高可用集群安裝包地址如非高可用安裝請(qǐng)忽略此教程,直接看產(chǎn)品頁(yè)的三步安裝。 使用kubeadm安裝安全高可用kubernetes集群 安裝包地址 如非高可用安裝請(qǐng)忽略此教程,直接看產(chǎn)品頁(yè)的三步安裝。 單個(gè)master流程: 單master視頻教程 解壓后在master 上 cd shell && sh init.sh ,然后sh master.sh(注意因?yàn)槟_本用的相...
摘要:使用安裝安全高可用集群安裝包地址如非高可用安裝請(qǐng)忽略此教程,直接看產(chǎn)品頁(yè)的三步安裝。 使用kubeadm安裝安全高可用kubernetes集群 安裝包地址 如非高可用安裝請(qǐng)忽略此教程,直接看產(chǎn)品頁(yè)的三步安裝。 單個(gè)master流程: 單master視頻教程 解壓后在master 上 cd shell && sh init.sh ,然后sh master.sh(注意因?yàn)槟_本用的相...
摘要:使用安裝安全高可用集群安裝包地址如非高可用安裝請(qǐng)忽略此教程,直接看產(chǎn)品頁(yè)的三步安裝。 使用kubeadm安裝安全高可用kubernetes集群 安裝包地址 如非高可用安裝請(qǐng)忽略此教程,直接看產(chǎn)品頁(yè)的三步安裝。 單個(gè)master流程: 單master視頻教程 解壓后在master 上 cd shell && sh init.sh ,然后sh master.sh(注意因?yàn)槟_本用的相...
kubeadm介紹kubeadm概述Kubeadm 是一個(gè)工具,它提供了 kubeadm init 以及 kubeadm join 這兩個(gè)命令作為快速創(chuàng)建 kubernetes 集群的最佳實(shí)踐。 kubeadm 通過(guò)執(zhí)行必要的操作來(lái)啟動(dòng)和運(yùn)行一個(gè)最小可用的集群。kubeadm 只關(guān)心啟動(dòng)集群,而不關(guān)心其他工作,如部署前的節(jié)點(diǎn)準(zhǔn)備工作、安裝各種Kubernetes Dashboard、監(jiān)控解決方案...
閱讀 1346·2023-01-11 13:20
閱讀 1684·2023-01-11 13:20
閱讀 1132·2023-01-11 13:20
閱讀 1858·2023-01-11 13:20
閱讀 4100·2023-01-11 13:20
閱讀 2704·2023-01-11 13:20
閱讀 1385·2023-01-11 13:20
閱讀 3597·2023-01-11 13:20