You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用kops创建AWS上的Kubernetes集群失败,寻求技术解决办法

使用kops创建AWS Kubernetes集群时的DNS相关错误排查与解决

问题背景

在AWS环境中使用kops工具创建Kubernetes集群,已持有Route53公共托管区 connectingclouds.in,执行以下命令时出现DNS验证类错误:

kops create cluster --cloud=aws --node-count=1 --name=devk8s.connectingclouds.in --zones=ap-south-1a --master-zones=ap-south-1a --state=s3://dev-k8s-connectingclouds --dns-zone=connectingclouds.in  --node-size=t2.micro --master-size=t2.micro --master-volume-size 10 --node-volume-size 10 --networking calico

错误表现为无法验证DNS托管区权限、无法确认集群域名解析有效性,导致集群创建流程中断。

排查与解决步骤

1. 确认Route53托管区配置有效性

  • 确保connectingclouds.in是公共托管区,而非私有托管区(kops创建公共集群需依赖公共DNS解析)
  • 检查域名注册商处的NS记录,必须与Route53托管区的NS服务器完全一致,确保域名的权威DNS指向Route53

2. 验证IAM权限与S3状态存储

  • 执行kops命令的IAM用户需具备以下核心权限:
    • S3桶s3://dev-k8s-connectingclouds的GetObject、PutObject、ListBucket权限
    • Route53的ListHostedZones、ChangeResourceRecordSets、GetHostedZone权限
  • 确认S3桶已开启版本控制(kops官方推荐配置,避免状态文件损坏)

3. 调整kops命令参数

  • 显式指定公共DNS模式,避免自动识别异常:
kops create cluster --cloud=aws --node-count=1 --name=devk8s.connectingclouds.in --zones=ap-south-1a --master-zones=ap-south-1a --state=s3://dev-k8s-connectingclouds --dns-zone=connectingclouds.in --dns public --node-size=t2.micro --master-size=t2.micro --master-volume-size 10 --node-volume-size 10 --networking calico

4. 确保DNS解析生效

  • 在本地终端执行nslookup devk8s.connectingclouds.in,确认域名可被解析(可先手动在Route53添加临时A记录指向任意IP,完成kops验证后再由kops自动替换)
  • 等待DNS记录全局生效(通常需5-15分钟)后再执行集群创建命令

5. 清理无效状态后重试

若之前的创建尝试留下了无效状态数据,先清理再重新执行:

kops delete cluster devk8s.connectingclouds.in --state=s3://dev-k8s-connectingclouds --yes

内容的提问来源于stack exchange,提问作者Satyam Pandey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 04:15:57