使用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
有人可以帮助我吗?在此先感谢!
答案 0 :(得分:1)
您已将dns-zone
注册为uswest2.dev.devops.com
,并且在命令中引用的名称是dev.devops.com
。
如果您检查this docs,尤其是Configure DNS部分,将会发现:
在这种情况下,您希望将所有kubernetes记录包含在 您在Route53中托管的域的子域。这需要创建一个 route53中的第二个托管区域,然后将路由委派设置为 新区域。
在此示例中,您拥有
example.com
和Kubernetes的记录 看起来像etcd-us-east-1c.internal.clustername.subdomain.example.com
根据此doc示例,您会发现:
etcd-us-east-1c.internal.clustername.subdomain.example.com
您的dev.devops.com
是域,uswest2.dev.devops.com
是您的子域。
在Route 53文档中,您可以找到示例,其中在这种情况下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
之前,您需要指定集群名称。
简而言之,必须在标志--name
中指定:
<your_cluster_name>.subdomain.domain
请尝试:
kops create cluster --cloud=aws --zones=us-west-2b --name=my-cluster.uswest2.dev.devops.com --dns-zone=uswest2.dev.devops.com --dns private