azure - azure 上的 kudeadm k8s 集群

标签 azure kubernetes azure-aks kubeadm

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

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 cat/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)IP作为服务器,并在kubeadm init中使用它

kubeadm reset -f    
kubeadm init --apiserver-cert-extra-sans=PUBLIC-IP_OF-MASTER-NODE

关于azure - azure 上的 kudeadm k8s 集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60685044/

相关文章:

Azure 应用服务在访问需要身份验证的 Web api 终结点时收到 401。但在本地工作

kubernetes - core_dns 卡在 ContainerCreating 状态

docker - 如何通过kubectl在kubernetes中使用本地docker镜像

Azure kubernetes - 多个托管身份?

kubernetes - 入口 Controller 可以使用基于选择器的规则吗?

azure - 如何在 Azure EA 门户中删除部门?

powershell - 为什么我在尝试删除 Microsoft.Insights/components 资源时收到错误?

kubernetes - 是否可以在声明性管道的 Kubernetes pod 代理模板中使用 Jenkins secret 作为 imagePullSecret

用于文件处理的 Azure 后台服务

asp.net-mvc - .包含在 Entity Framework 中有多贵?