网站首页 文章专栏 11QA.md
11QA.md
创建于:2021-07-04 07:50:33 更新于:2024-05-03 21:42:24 羽瀚尘 554

在k8s安装过程中,肯定会碰到很多报错,一般上根据报错信息提示即可解决问题。下面列出一些报错与解决措施。

问题一:invalid or incomplete external CA

运行下面命令来创建master节点:

sudo kubeadm init --apiserver-advertise-address=192.168.25.180  --kubernetes-version=v1.15.0  --ignore-preflight-errors=NumCPU

出现下面的错误:

invalid or incomplete external CA: failure loading certificate for API server: failed to load certificate: couldn't load the certificate file /etc/kubernetes/pki/apiserver.crt: open /etc/kubernetes/pki/apiserver.crt: no such file or directory

查看/etc/kubernetes/pki/路径,只有ca.crt文件,猜测是需要使用openssl根据ca.crt自己签一个https的证书。根据《准备证书》一节内容生成证书后,问题解决。

问题二:cgroupfs

[WARNING IsDockerSystemdCheck]: detected "cgroupfs" as the Docker cgroup driver. The recommended driver is "systemd". Please follow the guide at https://kubernetes.io/docs/setup/cri/

参考《准备安装环境》修改为systemd即可

问题三:kubeadm init后超时

查看所有退出的容器,使用docker logs查看原因,可以看到下面的报错信息,

E0801 02:24:08.021710       1 reflector.go:125] k8s.io/client-go/informers/factory.go:133: Failed to list *v1.StatefulSet: Get https://192.168.25.180:6443/apis/apps/v1/statefulsets?limit=500&resourceVersion=0: x509: cannot validate certificate for 192.168.25.180 because it doesn't contain any IP SANs

推测是由于证书出错

参考Failed tls handshake. Does not contain any IP SANs /etc/ssl/openssl.cnf[v3_ca]部分添加subjectAltName = IP:192.168.25.180, 重新生成证书

在实际操作中错误地放到了[ v3_req ],但是也成功部署了k8s

问题四:多次部署后的问题

又碰到另外一个问题 https://www.thenoccave.com/2020/08/kubernetes-flannel-failed-to-list-v1-service/

这个问题应该是在 flannel 启动前加入了 node 节点,随后启动了 flannel,导致 coredns 被调度了 node 节点,而 node 节点上一些网络不通(此时 master 与 node 还没有建立 dns 通信),所以出错。reset 集群后重新部署,该问题解决。