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
作者:
博客园-李宗盛
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
2020-01-20 Tomcat windows服务器配置多个Tomcat