7

我是 Kubernetes 新手。我正在使用 Kops 在 AWS 上部署我的 Kubernetes 应用程序。我已经在 AWS 上注册了我的域,还创建了一个托管区域并将其附加到我的默认 VPC。

通过 kops 创建我的 Kubernetes 集群成功。但是,当我尝试使用 验证我的集群时kops validate cluster,它会失败并出现以下错误:

无法解析 Kubernetes 集群 API URL dns:在 149.142.35.46:53 上查找 api.ucla.dt-api-k8s.com:没有这样的主机

我试过调试这个错误但失败了。你能帮帮我吗?我现在非常沮丧。

4

4 回答 4

4

根据您的描述,您在 Route 53 中创建了一个私有托管区域。验证可能失败,因为 Kops 正在尝试从您的机器(位于 VPC 外部)访问集群 API,但私有托管区域仅响应来自内部的请求VPC。具体来说,主机名api.ucla.dt-api-k8s.com是 Kubernetes API 所在的位置,是您可以从计算机向集群通信和发出命令的方式。私有托管区域不允许您从外部世界(您的计算机)访问此 API。

解决此问题的一种方法是公开您的托管区域。Kops 会自动为您创建一个 VPC(除非另有配置),但您仍然可以从您的计算机访问 API。

于 2018-03-07T11:18:26.367 回答
1

昨晚我使用以前工作过的基于 kops 的集群创建脚本遇到了这个问题。我想也许切换区域会有所帮助,但它没有。 今天早上它又开始工作了。 这感觉就像 AWS 方面的间歇性。

所以我建议的答案是:当这种情况发生时,你可能需要给它几个小时来解决它自己。就我而言,我在等了一夜之后从头开始重建了集群。我不知道是否有必要从头开始——我希望没有。

于 2019-01-24T14:53:41.657 回答
1

我在一个 ubuntu 盒子上遇到了这个问题。我所做的是将路由 53 中托管区域中的 dns 记录添加到 /etc/hosts。

于 2020-07-13T20:04:45.750 回答
0

以下是我解决问题的方法:看起来 kops 库有一个错误,尽管它显示 **Validation failed: unexpected error during validation: unable to resolve Kubernetes cluster API URL dns:lookup api ** when you try kops validate cluster post等待10-15分钟。在幕后,kubernetes 集群启动了!您可以通过在 kunernetes 集群的主节点中执行 ssh 来验证相同,如下所示

  1. 转到您可以运行 ec2 实例和您的 k8 实例的页面
  2. 复制您的主 k8 节点的“公共 IPv4 地址”
  3. 在命令提示符下登录到 ec2 实例登录到主节点,如下所示 ssh ubuntu@<<您的主 k8 节点的“公共 IPv4 地址”>>
  4. 验证您是否可以使用以下命令查看 k8 集群的所有节点,它应该显示您的主节点和工作节点列出在那里 kubectl get nodes --all-namespaces
于 2021-01-24T11:49:40.277 回答