kubernetes报错解决
1、问题1
#1、检查etcd文件
vi /opt/etcd/cfg/etcd
#2、停止etcd服务
systemctl stop etcd
#3、删除缓存目录
rm -rf /var/lib/etcd/*
#4、重启etcd服务
systemctl start etcd
#如果报错请重复上述步骤
2、问题2
#1检查etcd配置文件内容是否正确
vi /opt/etcd/cfg/etcd
#2停止etcd服务
systemctl stop etcd
#3确定pem文件是否存在
ls /opt/etcd/ssl/
#4清除缓存
rm -rf /var/lib/etcd/*
#5重启etcd
systemctl daemon-reload
systemctl restart etcd
#6健康检查自己
curl --cacert /opt/etcd/ssl/ca.pem --cert /opt/etcd/ssl/server.pem --key /opt/etcd/ssl/server-key.pem https://10.25.247.144:2379/health
3、问题3
这里可能会有个报错导致启动失败:error: failed to run Kubelet: cannot create certificate signing request: certificatesigningrequests.certificates.k8s.io is forbidden: User "kubelet-bootstrap" cannot create certificatesigningrequests.certificates.k8s.io at the cluster scope
原因是:kubelet-bootstrap并没有权限创建证书。所以要创建这个用户的权限并绑定到这个角色上。
解决方法是在master上执行kubectl create clusterrolebinding kubelet-bootstrap --clusterrole=system:node-bootstrapper --user=kubelet-bootstrap
#查看kubelet service启动日志
journalctl -xefu kubelet
查看思路:
#1、查看kubelet状态
ps -aux|grep kubelet
#2、检查配置文件/opt/kubernetes/cfg/kubelet
#主要是--hostname-override=是否为自己机器IP
#3、检查配置文件/opt/kubernetes/cfg/kubelet.config
#主要是address:是否为自己IP
#4、检查master机器bootstrap.kubeconfig kube-proxy.kubeconfig文件是否生成
ls /opt/kubernetes/cfg/
#5、检查kubelet-bootstrap有没有权限创建证书。否则要创建这个用户的权限并绑定到这个角色上。
kubectl create clusterrolebinding kubelet-bootstrap --clusterrole=system:node-bootstrapper --user=kubelet-bootstrap
4、问题4
READY状态错误
1、先通过标签查看描述信息
kubectl describe pods -n prom-grafana
2、看到报错信息
下载10.25.193.138/teamco/pod-infrastructure:latest镜像失败
3、检查10.25.247.141机器是否能连接10.25.193.138仓库
4、检查10.25.247.141docker服务
o/pod-infrastructure:latest镜像失败
3、检查10.25.247.141机器是否能连接10.25.193.138仓库
4、检查10.25.247.141docker服务
5、确定Node节点的机器能下载[pod-infrastructure]镜像