Rancher 2.6.0集群可查询资源但无法创建,报错[::1]:6443网络不可达
问题定位与解决方法
报错核心原因
该报错是Kubernetes kube-apiserver处理写入类请求时的内部调用失败导致:
写入类(创建/更新/删除)请求需要触发资源配额准入控制器校验逻辑,kube-apiserver会主动请求自身服务接口拉取对应命名空间的资源配额配置,而当前集群kube-apiserver配置的自身访问地址为IPv6环回地址[::1]:6443,但控制平面节点IPv6被禁用,导致请求失败;而查询类请求不需要触发该准入校验逻辑,因此可正常执行。
定位步骤
- 首先确认控制平面节点IPv6配置状态,在所有控制面节点执行命令
sysctl net.ipv6.conf.lo.disable_ipv6,若返回值为1则代表IPv6环回已被禁用,匹配根因 - 检查kube-apiserver监听地址配置,在控制面节点查看
/etc/kubernetes/manifests/kube-apiserver.yaml配置文件,确认是否存在监听IPv6地址的相关配置
解决方案
方案1:不需要启用IPv6的场景
- 临时修复:在所有控制面节点执行以下命令启用IPv6环回并持久化配置
sysctl net.ipv6.conf.all.disable_ipv6=0 sysctl net.ipv6.conf.lo.disable_ipv6=0 echo "net.ipv6.conf.lo.disable_ipv6 = 0" >> /etc/sysctl.conf
执行完成后等待kube-apiserver容器重启完成,即可正常执行写入操作
- 永久修复(适配Rancher配置层面修正错误配置):
进入Rancher控制台对应集群的编辑配置页面,在集群配置->网络中关闭preferIPv6选项,强制集群使用IPv4作为内部通信地址,保存后等待集群会自动滚动更新控制面组件配置,可彻底解决该问题
方案2:需要启用IPv6的场景
- 确认所有控制面节点IPv6地址配置正常,
::1环回地址正常存在 - 确认节点防火墙放行IPv6协议的6443端口访问规则
- 执行
ss -tulpn | grep 6443确认kube-apiserver已经监听:::6443地址
后续建议
Rancher 2.6.0为2.6大版本的首次正式发布版本,存在较多已知配置类bug,建议后续升级到2.6.3及以上的稳定补丁版本,避免再次出现同类配置异常问题。
内容的提问来源于stack exchange,提问作者SHC
相关产品推荐
相关产品推荐

