一、节点重名
一种情况,master节点和node节点的NAME一样,加入到集群中后所有节点同名因此只显示一个,解决方法:
更改所有节点的主机名,便于区分:
master节点:
hostnamectl --static set-hostname k8s-master
node1节点:
hostnamectl --static set-hostname k8s-node1
node2节点:
hostnamectl --static set-hostname k8s-node2
重启后生效,也可以运行直接生效
hostname $hostname
再重新执行kubeadm init和kubeadm join操作就可以看到节点成功显示
二、token有效期过期
1. master重新生成token
在master机器中执行,kubeadm token create,获取token,token有效期一般为24小时
kubeadm token create
2. node使用最新的token重新执行join
三、节点重命名后运行kubectl get nodes报错问题
报错显示:Unable to connect to the server: x509: certificate signed by unknown authority (possibly because of "crypto/rsa: verification error" while trying to verify candidate authority certificate "kubernetes")
解决方法:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config (是否覆盖,选择y,否则不生效)
sudo chown $(id -u):$(id -g) $HOME/.kube/config
四、重命名后node节点依然不显示
删除节点重新加入:
1. 在master上查看所有node节点
kubectl get node
2. 在主节点上删除node节点
2.1在主节点上驱逐该node节点上的Pod
kubectl drain node --delete-local-data --force --ignore-daemonsets
2.2在主节点上删除该node节点
kubectl delete node node
3. 在node节点上清空集群信息
重置k8s:kubeadm reset
删除残留的文件:rm -rf /etc/kubernetes/*
清除iptables或者ipvs的配置:iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X
ipvsadm --clear
如果删除的是master节点,还需要删除用户目录下的.kube文件:rm -rf ~/.kube