在CentOS上部署Kubernetes(K8S)时,可能会遇到多种常见问题。以下是一些常见问题及其解决方案:
-
系统错误:未知的标志:–etcd-quorum-read
- 问题描述:在删除service时出现该错误,可能是由于之前的进程占用。
- 解决方案:查看是否有进程占用,手动启动service,查看是否成功。
-
健康检查失败
- 问题描述:例如,peer acd2ba924953b1ec无法连接到192.168.81.60:2380,原因是etcd1的配置文件中etcd_initial_cluster_state为new,而etcd_initial_cluster写入了etcd2/3的ip:port,etcd2/3未启动。
- 解决方案:先启动etcd2和3的etcd服务,再启动etcd1。
-
连接被拒绝
- 问题描述:例如,dial tcp 127.0.0.1:2379: getsockopt: connection refused。
- 解决方案:在etcd配置文件/etc/etcd/etcd.conf的etcd_listen_client_urls选项中加入
https://127.0.0.1:2379
。
-
kubelet无法启动
- 问题描述:例如,启动kubelet时提示no such file or directory或misconfiguration。
- 解决方案:创建目录/var/lib/kubelet,修改/usr/lib/systemd/system/docker.service的execstart配置。
-
证书问题
- 问题描述:例如,连接被拒绝,提示x509: certificate signed by unknown authority。
- 解决方案:重新初始化环境,清理干净文件,重新执行初始化命令。
-
网络问题
- 问题描述:例如,pods大量异常,日志显示dns解析失败或节点间网络连接失败。
- 解决方案:测试节点互ping,使用http请求访问coredns metrics接口,确认网络状态。
-
CPU软锁死
- 问题描述:例如,系统无法登录,K8S集群负载飙升。
- 解决方案:强制重启服务器,调整内核参数,如修改/proc/sys/kernel/watchdog_thresh。
-
服务访问失败
- 问题描述:例如,curl命令显示peer’s certificate issuer is not recognized。
- 解决方案:更新证书或检查证书是否过期。
-
镜像拉取失败
- 问题描述:例如,readiness-httpget-pod状态为ErrImagePull。
- 解决方案:更换镜像。
-
init容器状态不正常
- 问题描述:例如,pod创建失败,init容器未执行完毕。
- 解决方案:创建相关service,确保域名解析正常。
这些常见问题及其解决方案可以帮助你在CentOS上成功部署和运行Kubernetes集群。