报错:Failed to create SubnetManager: error retrieving pod spec for 'kube-flannel/kube-flannel-ds-XXX': Get "https://10.96.0.1:443/api/v1/namespaces/kube-flannel/pods/kube-flannel-ds-XXX": dial tcp 10.96.0.1:443: i/o timeout
背景:
本人搭建了K8s集群使用了flannel作为插件,但是当我重启虚拟机,发现再进入flannel频繁的重启,logs查看日志发现上述报错。内容是发现flannel的Pod与apiserver连接超时?
为什么会这样呢?可能是因为flannel Pod出问题了导致cluster service没法正确路由请求到apiserver了。。。
解决方案:
(1)本人有效(如果你flannel之前是好使的,重启之后才发现这个问题)
在flannel部署的yaml文件环境变量(- ENV)中加入:
- name: KUBERNETES_SERVICE_HOST
value: "192.168.31.50" # 主节点地址
- name: KUBERNETES_SERVICE_PORT
value: "6443" # apiserver服务端口
之后重新部署flannel Pod。
(2)下下之策-换个插件~(Calico)
(3)检查你集群初始化时使用了集群网络地址范围和flannel yaml文件里的范围是否冲突?
flannel部署的时候 yaml文件是需要根据你的具体情况进行调整的!!!可以上网搜搜教程,我这里就不详细讲了,简单来说主要是configmap部分:
(4)看看你的apiserver啥的是不是出故障了。。。别是因为组件的问题
我目前想起来就这些问题,大家如果遇到什么问题可以在评论区讨论,我看到了会帮忙看看~
(插件对于新手还是很容易出问题的。。。