Kubernetes 无法使用Kops命令创建群集

Kubernetes 无法使用Kops命令创建群集,kubernetes,devops,kops,Kubernetes,Devops,Kops,我在使用kops命令创建k8集群时遇到问题 这是我在尝试创建集群时遇到的错误 W1104 16:31:41.803150 18534 apply_cluster.go:945] **unable to pre-create DNS records - cluster startup may be slower: Error pre-creating DNS records: InvalidChangeBatch**: [RRSet with DNS name api.dev.devops.c

我在使用kops命令创建k8集群时遇到问题

这是我在尝试创建集群时遇到的错误

W1104 16:31:41.803150   18534 apply_cluster.go:945] **unable to pre-create DNS records - cluster startup may be slower: Error pre-creating DNS records: InvalidChangeBatch**: [RRSet with DNS name api.dev.devops.com. is not permitted in zone uswest2.dev.devops.com., RRSet with DNS name api.internal.dev.devops.com. is not permitted in zone uswest2.dev.devops.com.]
用于创建群集的命令:

kops create cluster --cloud=aws --zones=us-west-2b --name=dev.devops.com --dns-zone=uswest2.dev.devops.com --dns private

kops update cluster --name dev.devops.com --yes

谁能帮帮我吗。提前谢谢

您已将您的
dns区域注册为
uswest2.dev.devops.com
,并且您在命令中将名称称为
dev.devops.com

如果您查看,尤其是第节,您会发现:

在这个场景中,您希望在一个 在路由器53中承载的域的子域。这需要创建一个 在route53中设置第二个托管区域,然后将路由委派设置为 新区

在本例中,您拥有
example.com
和Kubernetes的记录 看起来像
etcd-us-east-1c.internal.clustername.subdomain.example.com

您会发现,基于此文档示例:
etcd-us-east-1c.internal.clustername.subdomain.example.com
您的
dev.devops.com
是域,
uswest2.dev.devops.com
是您的子域

在文档中,您可以找到示例,在这种情况下,
example.org
的子域被设置为
kopsclustertest

export ID=$(uuidgen)
echo $ID
ae852c68-78b3-41af-85ee-997fc470fd1c

aws route53 \
create-hosted-zone \
--output=json \
--name kopsclustertest.example.org \
--caller-reference $ID | \
jq .DelegationSet.NameServers

[
  "ns-1383.awsdns-44.org",
  "ns-829.awsdns-39.net",
  "ns-346.awsdns-43.com",
  "ns-1973.awsdns-54.co.uk"
]
此时此刻: 子域:
kopsclustertest
域:
example.org

在下面的几章中,您将看到创建KOPS集群部分

kops create cluster \
--cloud=aws \
--master-zones=us-east-1a,us-east-1b,us-east-1c \
--zones=us-east-1a,us-east-1b,us-east-1c \
--node-count=2 \
--node-size=t2.micro \
--master-size=t2.micro \
${NAME}
有消息说

环境变量${NAME}以前是使用 集群名称:
mycluster01.kopsclustertest.example.org

这意味着在
subdomain.domain
之前,您需要指定集群名称

简而言之,在flag
--name
中,必须指定:
.subdomain.domain

请尝试:


kops创建集群--cloud=aws--zones=us-west-2b--name=my-cluster.uswest2.dev.devops.com--dns zone=uswest2.dev.devops.com--dns private

我尝试使用kops创建集群。您能否共享aws route53的输出,按名称列出托管区域?如果您尝试使用
--dns zone=dev.devops.com
,您将得到相同的错误?
ubuntu@K8-管理服务器:~$aws route53按名称{“HostedZones”列出托管区域:[{“ResourceRecordSetCount”:2,“CallerReference”:“***-AC78-B9F0-A056-**********1B”,“配置”:{“PrivateZone”:true},“Id”:“/hostedzone/************MA781O3”,“Name”:“uswest2.dev.devops.com.”],“IsTruncated”:false,“MaxItems”:“100”}
当我习惯于--dns zone=dev.devops.com W1106 21:57:49.025751 22867 executor.go:130]运行任务时出错”IAMRolePolicy/masters.dev.devops.com“(9m59s剩余成功):错误呈现策略文档:打开资源时出错:DNS区域ID未设置W1106 21:57:49.026066 22867 executor.go:130]运行任务“IAMRolePolicy/nodes.dev.devops.com”时出错(9m59s剩余成功):错误呈现策略文档:打开资源时出错:DNS ZoneID not setHi@PjoterS..非常感谢您的帮助..您提供的命令已运行,再次感谢您解释DNS和路由53Hi@PjoterS,谢谢,它帮助了我。我的名字服务器在google中,我的域名有效,如我所说的“Host-t-NS mydomain.com”“并且它显示了名称选择器。但当我使用kops来加速集群时,它会抛出错误,因为它找不到DNS名称。那么这是否意味着我需要使用亚马逊的名称服务器呢?