部署Kubernetes遇到的问题与解决方法(初始化等)

Kubelet和control plane版本不对应:

[ERROR KubeletVersion]: the kubelet version is higher than the control plane version. This is not a supported version skew and may lead to a malfunctional cluster. Kubelet version: "1.19.4" Control plane version: "1.18.6"

解决:

#卸载重装对应的低版本
yum -y remove kubelet
yum -y install kubelet-1.18.6 kubeadm-1.18.6

master节点初始化之后执行 kubectl cluster-info 显示Unable to connect to the server:

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")

原因:
Kebeadm init之后不删除元来文件并又新生成$HOME/.kube,重复了。要删干净文件后重新初始化。

解决:

#master节点执行:
rm -rf $HOME/.kube   #删掉所有文件
#重新执行生成文档:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubectl cluster-info

master节点:执行 kubectl get cs 显示unhealthy。变成healthy步骤:
kubectl get cs

解决:

#改配置文件
#Master节点修改:
#vi /etc/kubernetes/manifests/kube-controller-manager.yaml 
/etc/kubernetes/manifests/kube-scheduler.yaml 
#两个文件都注释掉--port=0这个设置

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

[root@localhost kubelet.service.d]# kubectl get nodes
W1116 20:29:22.881159 20594 loader.go:223] Config not found: /etc/kubernetes/admin.conf
The connection to the server localhost:8080 was refused - did you specify the right host or port?

解决:

#Master节点执行:
scp /etc/kubernetes/admin.conf root@10.0.52.98:/etc/kubernetes/admin.conf
#Node节点执行:
echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile
source ~/.bash_profile

worker节点:不显示节点名称;两个节点名称一样只显示一个
解决:

hostnamectl set-hostname node2
hostname

重置kubeadm初始化/配置

Kubeadm reset
rm -rf /var/lib/cni/ /var/lib/etcd/
rm -rf /var/lib/kubelet /etc/kubernetes/

重新kubeadm init 和kubeadm join

worker节点执行 kubectl get nodes显示Not ready。变成ready:

解决:

#Master和worker节点执行:
vi /var/lib/kubelet/kubeadm-flags.env:将“--network-plugin=cni”删掉
#重启:
systemctl daemon-reload
systemctl restart kubelet

kubeadm init初始化报错,无法拉取镜像:
[ERROR ImagePull]: failed to pull image registry.aliyuncs.com/google_containers/coredns/coredns:v1.8.0

解决:

docker pull registry.aliyuncs.com/google_containers/coredns:1.8.0
docker tag registry.aliyuncs.com/google_containers/coredns:v1.8.0 registry.aliyuncs.com/google_containers/coredns/coredns:v1.8.0
docker rmi registry.aliyuncs.com/google_containers/coredns:1.8.0
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值