Amazon web services Kubernetes,更改Kops群集的服务器
我在AWS上使用kops设置了kubernetes群集 现在,服务器url为。 此url在指向群集主实例的公共ip的路由53上配置 我想把这个换成。 我在路由器53上配置了与主IP相同的新url。但它只是用新的URL打开kubernetes仪表板。 我无法使用此url通过kubectl访问kubernetes服务器 这是我在使用新url更改kubeconfig文件并运行kubectl get pods命令时遇到的错误 无法连接到服务器:x509:证书对internal.old-server-url.com、old-server-url.com、kubernetes、kubernetes.default、kubernetes.default.svc、kubernetes.default.svc.cluster.local有效,而不是new-server-url.com 我必须更改什么配置,以便只更改kubernetes群集的服务器,并且我可以通过kube config/kubectl访问它 更新:Amazon web services Kubernetes,更改Kops群集的服务器,amazon-web-services,amazon-ec2,kubernetes,amazon-route53,kops,Amazon Web Services,Amazon Ec2,Kubernetes,Amazon Route53,Kops,我在AWS上使用kops设置了kubernetes群集 现在,服务器url为。 此url在指向群集主实例的公共ip的路由53上配置 我想把这个换成。 我在路由器53上配置了与主IP相同的新url。但它只是用新的URL打开kubernetes仪表板。 我无法使用此url通过kubectl访问kubernetes服务器 这是我在使用新url更改kubeconfig文件并运行kubectl get pods命令时遇到的错误 无法连接到服务器:x509:证书对internal.old-server-ur
我可以通过kubectl命令使用-unsecure skip tls verify标志访问集群。但这是不安全的。我想知道如何在kops配置的集群中更改证书,并且对该场景的影响最小。Kubectl使用kubeconfig文件。在该文件中,您需要将API服务器url从旧url更改为新url 编辑: 更改url的影响是,您需要使用新url作为“主机”重新生成kube apiserver证书,否则kubectl将因证书验证错误而失败 这是因为kubectl在调用k8s API服务器时验证kube apiserver提供的服务器证书 要在主节点中使用kubeadm kops内部使用kubeadm重新生成kube apiserver证书,可以运行以下命令:
rm /etc/kubernetes/pki/apiserver.*
kubeadm init phase certs all --apiserver-cert-extra-sans=https://new-server-url.com
docker rm -f `docker ps -q -f 'name=k8s_kube-apiserver*'`
systemctl restart kubelet
默认SAN为kubernetes、kubernetes.Default、kubernetes.Default.svc、kubernetes.Default.svc.cluster.local、10.96.0.1127.0.0.1
Kubectl使用kubeconfig文件。在该文件中,您需要将API服务器url从旧url更改为新url 编辑: 更改url的影响是,您需要使用新url作为“主机”重新生成kube apiserver证书,否则kubectl将因证书验证错误而失败 这是因为kubectl在调用k8s API服务器时验证kube apiserver提供的服务器证书 要在主节点中使用kubeadm kops内部使用kubeadm重新生成kube apiserver证书,可以运行以下命令:
rm /etc/kubernetes/pki/apiserver.*
kubeadm init phase certs all --apiserver-cert-extra-sans=https://new-server-url.com
docker rm -f `docker ps -q -f 'name=k8s_kube-apiserver*'`
systemctl restart kubelet
默认SAN为kubernetes、kubernetes.Default、kubernetes.Default.svc、kubernetes.Default.svc.cluster.local、10.96.0.1127.0.0.1
要仅解决此错误,请执行以下操作:
"Unable to connect to the server: x509: certificate is valid for internal.old-server-url.com, old-server-url.com, kubernetes, kubernetes.default, kubernetes.default.svc, kubernetes.default.svc.cluster.local, not new-server-url.com"
您可以将-unsecure skip tls verify标志与kubectl命令一起使用,如下所述:
这不建议用于生产环境。要解决此错误,请执行以下操作:
"Unable to connect to the server: x509: certificate is valid for internal.old-server-url.com, old-server-url.com, kubernetes, kubernetes.default, kubernetes.default.svc, kubernetes.default.svc.cluster.local, not new-server-url.com"
您可以将-unsecure skip tls verify标志与kubectl命令一起使用,如下所述:
生产环境不建议这样做。我已经这样做了,但在更改kubeconfig文件后,我无法访问群集。出现了什么错误?你能试着用冗余集kubectl-v=8-get nodesI运行kubectl命令吗?我不能运行你要求的命令。你能告诉我你想让我用倒逗号运行什么命令吗。另外,这也是我在使用新url更改kubeconfig文件并运行kubectl get pods命令时遇到的错误。无法连接到服务器:x509:证书对internal.old-server-url.com、old-server-url.com、kubernetes、kubernetes.default、kubernetes.default.svc、kubernetes.default.svc.cluster.local有效,而不是new-server-url.com抱歉我输入了一个错误你能尝试这个kubectl-v=8获取节点吗?需要在master上完成吗?我已经完成了,但是在更改kubeconfig文件后,我无法访问集群。错误是什么?你能试着用冗余集kubectl-v=8-get nodesI运行kubectl命令吗?我不能运行你要求的命令。你能告诉我你想让我用倒逗号运行什么命令吗。另外,这也是我在使用新url更改kubeconfig文件并运行kubectl get pods命令时遇到的错误。无法连接到服务器:x509:证书对internal.old-server-url.com、old-server-url.com、kubernetes、kubernetes.default、kubernetes.default.svc、kubernetes.default.svc.cluster.local有效,not new-server-url.com抱歉,我输入了一个错误。你能试试这个kubectl-v=8获取节点吗?是的,需要在MasterOK上完成,适用于开发环境,但不推荐用于生产环境environment@ArghyaSadhu你说得对。对开发环境来说可以,但不推荐用于生产环境environment@ArghyaSadhu你是对的。