K8S安装常见问题
1. 在node节点上拉取image出错
报错信息如下:
Failed to pull image "reg.firstshare.cn/foneshare/heapster-amd64:v1.3.0": rpc error: code = 2 desc = manifest unknown: manifest unknown
Error syncing pod, skipping: [failed to "StartContainer" for "heapster" with ErrImagePull: "rpc error: code = 2 desc = manifest unknown: manifest unknown" , failed to "StartContainer" for "eventer" with ImagePullBackOff: "Back-off pulling image "reg.firstshare.cn/foneshare/heapster-amd64:v1.3.0"" , failed to "StartContainer" for "heapster-nanny" with ErrImagePull: "rpc error: code = 2 desc = manifest unknown: manifest unknown" , failed to "StartContainer" for "eventer-nanny" with ImagePullBackOff: "Back-off pulling image "reg.firstshare.cn/foneshare/addon-resizer:1.7"" ]
问题原因:在node节点的docker配置中没有配置针对私有仓库不验证digest。
解决办法:修改 /etc/sysconfig/docker ,增加配置 OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false'
这样就不验证私有仓库的digest了,拉取image就不会出错了。
2.master节点apiserver配置问题
apiserver配置文件下,默认配置下KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16",需要将地址跟改为证书配置的IP。
使用命令查看证书配置的IP地址:
openssl x509 -noout -text -in server.crt |
输出:
修改:
KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.137.0.0/16"
认证文件问题:
--token-auth-file=/etc/kubernetes/ssl/known_tokens.csv"如果known_tokens这个文件不存在,请创建一个空文件即可。
3.master节点配置变更重启
no API token found for service account kube-dns, retry after the token is automatically created and added to the service account
使用命令查看:
kubectl get serviceaccount -n kube-system |
输出
NAME SECRETS AGE default 1 17d kube-dns 0 13d |
出现以上问题有一下几个情况:
- 核对master配置文件,修改后并重新启动master相关服务。
- 证书配置有问题,使用命令校验证书:openssl verify -CAfile ca.crt server.crt
4.使用单节点Master试错
当遇到一些问题完全没有头绪的时候,可以尝试使用单节点Master,单节点Node,一定要注意把其他的Master、Node节点服务停掉,否则会影响查找问题的判断方向。
5.x.foneshare.cn报错问题
部署应用时报错,错误信息中会出现x.foneshare.cn报错时。请查看Node节点的kubelet配置文件,线上环境中有的机器可能会默认配置KUBELET_HOSTNAME。
请注释掉KUBELET_HOSTNAME:
#KUBELET_HOSTNAME= "--hostname-override=vlnx000149.x.foneshare.cn" |
K8S集群常见问题
一、docker ps无响应,重启docker
- kubectl cordon vlnx000147.foneshare.cn
- systemctl restart docker
- kubectl uncordon vlnx000147.foneshare.cn
- tomcat请求无响应,需要删掉147上的pod,让k8s自动再拉起一个