Unable to connect to the server: x509: certificate is valid for 10.206.0.8, 127.0.0.1, 10.43.0.1, not 146.56.221.71

Rancher Server 设置

  • Rancher 版本:2.5.7
  • 安装选项 (Docker install/Helm Chart): Docker install
    • 如果是 Helm Chart 安装,需要提供 Local 集群的类型(RKE1, RKE2, k3s, EKS, 等)和版本:
  • 在线或离线部署:在线部署

下游集群信息

  • Kubernetes 版本: v1.20.11
  • Cluster Type (Local/Downstream):
    • 如果 Downstream,是什么类型的集群?(自定义/导入或为托管 等): 自定义

用户信息

  • 登录用户的角色是什么? (管理员/集群所有者/集群成员/项目所有者/项目成员/自定义):管理员
    • 如果自定义,自定义权限集:

问题描述:
集群机器是公有云主机,自定义部署时没有指定内外网地址,默认证书只包含内网地址。我把kubeconfig文件拷到本地,然后把文件里的内网地址改成相应的外网地址去访问集群,报如下错误。
重现步骤:

结果:
Unable to connect to the server: x509: certificate is valid for 10.206.0.8, 127.0.0.1, 10.43.0.1, not 146.56.221.71
预期结果:
希望把外网IP信息加入证书,在不加跳过tls检查参数的情况下,正常返回集群信息。
截图:

其他上下文信息:

日志

如果你上面的截图来看,你连接的是 https://46.56.221.71:6443 ,这个是 kube-apiserver 的地址。所以我判断你这个集群有可能是 rke 安装的,如果是 rke 安装的,你可以更新集群,添加如下参数:

authentication:
  strategy: x509
  sans:
    - "x.x.x.x"

参考:cluster.yml 文件示例 | Rancher文档

2 个赞

如果是用rancher部署k8s集群,146.56.221.71 是怎么添加的呀

你可以重新提交一个话题,来描述上下文和操作步骤