某个/某几个 节点上的 Flannel Pod 一直无法启动(kube-flannel 命名空间下的一个 ds)
no such file or directory
表示没有 /run/flannel/subnet.env
需要创建这个文件,并填入相关内容(具体内容参考集群配置):
删除 pod 让它自动重启
i/o timeout
这是说明 flannel 无法与 api-server 所在 master 节点通信,需要删除 ds 并修改 kube-flannel.yml 再重新部署:
在 POD_NAMESPACE
这一环境变量下再补充两项,
ImagePullBackOff
拉不下来 flannel 的镜像,可以直接使用国内镜像源。在此提供 free4lab 的镜像源:
“cni0” already has an IP address different from
问题出现在给 Pod 分配 IP 上,意思是 cni0
的 IP 不同于 10.244.X.1/24
,
查看各个 IP,一般
-
flannel.X
是10.244.X.0/24
-
cni0
是10.244.X.1/24
可以使用 IP 命令直接修改
或是删除 cni0 让 K8S 自动重建
kube-flannel.yml
提供一版规避了上面问题的由 “自邮之翼 / free4inno” 提供的 flannel.yml
由 “自邮之翼 / free4inno” 提供的 flannel.yml:
- 增加了KUBERNETES_SERVICE_HOST & KUBERNETES_SERVICE_PORT 字段,请手动修改配置!
- 修改了镜像源,由 free4inno 团队提供的国内阿里镜像源
本文使用 Zhihu On VSCode 创作并发布