我有一个正在运行的集群,只有一个master。负载均衡器(kube.company.com(被配置为在443处接受流量并将其转发到k8s主机6443。
我试图将~/.kube/configserver
字段定义从$masterIP:6443更改为kube.company.com:443。
它抛出错误x509:由未知权威机构签名的证书。
我想应该有一些配置来实现这一点,我只是在官方文档中找不到它
这是一个使用k8s版本1.21.2的裸机设置,包含在RHEL环境中。负载平衡器是nginx。集群通过kubeadm 安装
使用kubeadm
部署集群时,如果要使用自定义名称访问Kubernetes API Server
,则需要指定kubeadm init
的--apiserver-cert-extra-sans
标志。
用于API服务器服务证书的可选额外使用者替代名称(SAN(。可以是IP地址和DNS名称。
这是未经测试的,但理论上,如果您想在现有集群上执行此操作,您应该能够登录in every master node
并运行以下命令:
# remove current apiserver certificates
sudo rm /etc/kubernetes/pki/apiserver.*
# generate new certificates
sudo kubeadm init phase certs apiserver --apiserver-cert-extra-sans=<your custom dns name here>