nginx tcp 代理 kube api 接口请求报错

前提

Rke 完成k8s集群部署,测试各项功能正常后,在为master 添加vip,实现高可用,此时再次请求api接口报错:

vip:172.20.101.252

master:172.20.101.157, 172.20.101.164, 172.20.101.165

报错:

Unable to connect to the server: x509: certificate is valid for 
172.20.101.157, 172.20.101.164, 172.20.101.165, 127.0.0.1, 10.43.0.1, not 172.20.101.252

解决办法:

修改rke cluster.yml 文件,更新集群证书;

解决办法1:

编辑集群配置文件,添加需要外围IP地址和相关域名:

vi cluster.yml 

authentication:
    strategy: x509
    sans:
      - "172.20.101.252"
      - "k8sdev.ptmind.com"

然后执行,证书轮换

 rke cert rotate

证书轮换之后,Kubernetes组件将自动重新启动。证书轮换可用于下列服务:

etcd
kubelet
kube-apiserver
kube-proxy
kube-scheduler
kube-controller-manager

方法2

推荐方法:

使用--service 指定单个服务,比如kubelet:

rke cert rotate --service kubelet

原因

生成证书配置文件时,没有vip在访问列表清单;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章