kubernetes节点无法连接到api服务器:拨号tcp:lookup kubernetes.default.svc on 127.0.0.53:53:没有这样的主机
我在linux academy上构建了3个节点。在控制平面上,我可以看到3个节点在运行。在两个工作节点中的任意一个上,我尝试运行kubernetes节点无法连接到api服务器:拨号tcp:lookup kubernetes.default.svc on 127.0.0.53:53:没有这样的主机,kubernetes,Kubernetes,我在linux academy上构建了3个节点。在控制平面上,我可以看到3个节点在运行。在两个工作节点中的任意一个上,我尝试运行kubectl get nodes。最初,我被提示未设置KUBERNETES_MASTER 在worker节点中,我尝试将其设置为master中/kube/config中的服务器值。因此,在工作节点中:export KUBERNETES\u MASTER=https://1.2.3.4:6443。当我尝试此操作,然后重试kubectl get nodes时,我发现无法连
kubectl get nodes
。最初,我被提示未设置KUBERNETES_MASTER
在worker节点中,我尝试将其设置为master中/kube/config
中的服务器值。因此,在工作节点中:export KUBERNETES\u MASTER=https://1.2.3.4:6443
。当我尝试此操作,然后重试kubectl get nodes
时,我发现无法连接到服务器:x509:由未知授权机构签署的证书
我还尝试设置为导出KUBERNETES\u MASTER=https://kubernetes.default.svc在工作节点中。当我尝试此操作,然后尝试kubectl get nodes
时,我发现无法连接到服务器:拨打tcp:lookup kubernetes.default.svc on 127.0.0.53:53:没有这样的主机
知道我做错了什么吗?您只能从POD内部使用群集DNS名称,不能直接从节点使用。至于证书问题,您的kube配置文件通常包括用于API TLS的CA。我们通常将
kubectl
的配置保存到~/.kube/config
的文件中,该文件包含主端点和证书。您可以轻松地从母版复制它
并且,kubernetes.default.svc
的FQDN是kubernetes.default.svc.cluster.local
,假设您的集群域是cluster.local
。此域名是为在中部署的工作负载设置的
群集和需要访问API服务器。因此,域名设计为仅通过kube dns
在集群中解析
对于集群外的进程,主机名或IP地址/VIP通常用作API服务器的端点。我认为,如果我们的一个资源位于不同的位置或不同的区域,我们会收到此错误。感谢您提供的信息。我认为
kubernetes.default.svc
不起作用,但我不确定还有什么可以尝试。我可以在配置文件中查看我的CA,但是你能告诉我在工作节点中需要在哪里使用它吗?为什么你要在节点上使用kubectl?