Azure 上的 kudeadm k8s 集群

kudeadm k8s cluster on azure

我已经关注了这个优秀的博客[使用 kubeadm 在 azure 上创建一个非托管 k8s 集群的中型博客] [1]:https://medium.com/@patnaikshekhar/creating-a-kubernetes-cluster-in-azure-using-kubeadm-96e7c1ede4a 并在 azure 免费套餐订阅上创建了一个 2 worker 和 1 master k8s 集群.我能够从主节点执行 kubectl get nodes 并看到所有节点都已准备就绪,还看到 pods 已启动且 运行。只要我登录到主节点,一切似乎都很好

sbs-kubeadm-master:~$ kubectl cluster-info
Kubernetes master is running at https://172.0.0.4:6443
KubeDNS is running at https://172.0.0.4:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

现在,我想从我的笔记本电脑访问这个集群。我有 sudo 猫 /etc/kubernetes/admin.conf 文件,我将其复制到本地笔记本电脑。并正确设置环境和所有这些。 但是我得到这个错误

Unable to connect to the server: x509: certificate is 
valid for sbs-kubeadm-master, kubernetes, kubernetes.default, 
kubernetetes.default.svc.cluster.local, not sbs-kubeadm-master.eastus.cloudapp.azure.com

所以,我的问题是我应该在本地 kubeconfig 文件中提供的服务器名称是什么,我给了这个,任何方向将不胜感激

server: https://sbs-kubeadm-master.eastus.cloudapp.azure.com:6443

此错误表明 kubeadm 生成的 Kubernetes API 服务器证书没有 sbs-kubeadm-master.eastus.cloudapp.azure.com 作为主题备用名称 (SAN)。在主节点中使用如下所示的 kubeadm init 来设置集群。

kubeadm reset -f    
kubeadm init --apiserver-cert-extra-sans=sbs-kubeadm-master.eastus.cloudapp.azure.com

或者你可以使用 public master 节点的 IP 作为服务器并在 kubeadm init

中使用它
kubeadm reset -f    
kubeadm init --apiserver-cert-extra-sans=PUBLIC-IP_OF-MASTER-NODE