kubernetes节点无法连接到api服务器:拨号tcp:lookup kubernetes.default.svc on 127.0.0.53:53:没有这样的主机

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时,我发现无法连

我在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
时,我发现
无法连接到服务器: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?