kubernetes-二进制部署的时候,遇到kubelet启动失败,服务报错Unit kubelet.service entered failed state.

博主最近在学习二进制部署k8s,在node上部署kubelet组件时遇到错误。

作为一个新手,遇见这个问题慌得一批,完全不知道如何下手,百度也看不懂。

这个分享一下解决得思路:

一、检查node节点,kubelet得bin命令是否拷贝

用cp 命令把二进制包里面得命令复制到你kubernetes的工作目录

二、检查node节点,ssl证书是否拷贝,跟主节点是否一致

在master节点生成了证书后,记得复制过去

三、对比跟node和master的bootstrap.kubeconfig是否一致,不一致复制master或者重新生成

补充:master重新生成bootstrap.kubeconfig命令

先查看之前的token.csv和kube-apiserver.conf,拿到两个数据
TOKEN:4fb823f13d1d21be5991b9e3a582718c
KUBE_APISERVER="https://192.168.1.130:6443"

# 生成 kubelet bootstrap kubeconfig 配置文件
kubectl config set-cluster kubernetes \
  --certificate-authority=/opt/kubernetes/ssl/ca.pem \
  --embed-certs=true \
  --server=https://192.168.1.130:6443 \
  --kubeconfig=bootstrap.kubeconfig
  
  
kubectl config set-credentials "kubelet-bootstrap" \
  --token=4fb823f13d1d21be5991b9e3a582718c \
  --kubeconfig=bootstrap.kubeconfig
  
  
kubectl config set-context default \
  --cluster=kubernetes \
  --user="kubelet-bootstrap" \
  --kubeconfig=bootstrap.kubeconfig
  
  
kubectl config use-context default --kubeconfig=bootstrap.kubeconfig

# 拷贝到配置文件路径
scp bootstrap.kubeconfig root@paas2:/opt/kubernetes/cfg/

四、是不是没有授权 kubelet-bootstrap 用户允许请求证书

这一部非常坑,有时候自己没看清一些前辈的文档,忘了这步

在master执行一下命令,执行后在node上重启kubelet

#如果启动报错,在master节点授权boot-startboop
kubectl create clusterrolebinding kubelet-bootstrap \
--clusterrole=system:node-bootstrapper \
--user=kubelet-bootstrap

node重启

systemctl start kubelet
systemctl enable kubelet
systemctl status kubelet

五、以上都不行请查看日志

 journalctl -xefu kubelet

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值