部署k8s遇到的问题
Posted Tanuki_11
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了部署k8s遇到的问题相关的知识,希望对你有一定的参考价值。
### k8s集群部署经验,做笔记。
1、etcd证书文件错误
描述:配置文件串行...
解决:调正位置
分析:使用cat > ca-csr.json << EOF 导致文件串行,这种情况我也是第一次见。
经验:vim真好用,另外复制粘贴也会有会问题,最好是中间经过一个文本编辑器,避免特殊符号不可见导致错误。
2、echo $?不是万能的
描述:
[ root @ k8s-master-01 tmp ]# systemctl daemon-reload
[ root @ k8s-master-01 tmp ]# systemctl enable kube-apiserver.service
[ root @ k8s-master-01 tmp ]# systemctl start kube-apiserver.service
[ root @ k8s-master-01 tmp ]# echo $?
0
# systemctl status kube-apiservice 查看状态发现失败
经验:echo $?不是万能的,需要实际去查看文件的产生以及服务的状态。
3、kuctl get csr 失败
描述:x509,连接不到 master 6443端口
ss -anput | grep 6443 发现端口不通
解决:端口不通有两种可能:第一点就是端口真的没有开放,云服务器的安全组,还有虚拟机的防火墙拦截。第二点就是检测master端的apiserver,因为6443或者8443是我当初设置的apiserve的端口,就是服务本身没有起来,去查看日志。
经验:journalctl -u kube-apiserver.service 进行查看service的日志。
4、查看etcd集群状态,命令启动参数错误
## 描述:
[ root @k8s-master-01 ~ ]# “ETCDCTL_API=3 /opt/etcd/bin/etcdctl --cacert=/opt/etcd/ssl/ca.pem --cert=/opt/etcd/ssl/server.pem --key=/opt/etcd/ssl/server-key.pem --endpoints="https://192.168.66.128:2379,https://192.168.66.129:2379,https://192.168.66.130:2379" endpoint health --write-out=table”
上面一行是检测etcd集群是否启动的命令,如果有问题,就enpoint --help
我记得我出过的问题是:--cafile 参数里面是--ca (当时忘了,后来也只能回想起错误的一部分。)
解决:endpoint --help查看命令参数
5、master端kubelet.service起不来
描述:kubelet没起来,查看日志
IS the daemon Running ?
解决:第一次发现日志还会打问号....
下载docker,并起kubelet,ok没问题了。
6、查看节点状态
描述:发现自己的master节点没有起来,一直是not ready状态。
[ root@k8s-master-01 k8s-cert ]# kubectl get pod -A -o wide
NAME STSTUS ROLES AGES VERSION INTERNAL-IP EXTERNAL-IP OS_IM
k8s-master-01 NotReady <none> 5m9s v1.16.1.0 172.16.1.75 <none> CentOS7.6
k8s-node-01 Ready <none> 5m9s v1.16.1.0 172.16.1.76 <none> CentOS7.6
k8s-node-02 Ready <none> 5m9s v1.16.1.0 172.16.1.77 <none> CentOS7.6
解决:就是没安装flannel.....
经验:问题不大,只是为了纪念自己在家部署到半夜,昏了头还在向前跑,觉得自己很帅。
以上是关于部署k8s遇到的问题的主要内容,如果未能解决你的问题,请参考以下文章