无法使用 Kops 命令创建集群
Unable to create cluster with Kops command
我在使用 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-zone
注册为 uswest2.dev.devops.com
,并且您在命令中引用的名称为 dev.devops.com
。
如果您检查 this docs, especially Configure DNS 部分,您会发现:
In this scenario you want to contain all kubernetes records under a
subdomain of a domain you host in Route53. This requires creating a
second hosted zone in route53, and then setting up route delegation to
the new zone.
In this example you own example.com
and your records for Kubernetes
would look like
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
是您的子域。
在 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}
包含
的信息
The environment variable ${NAME} was previously exported with our
cluster 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
我在使用 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-zone
注册为 uswest2.dev.devops.com
,并且您在命令中引用的名称为 dev.devops.com
。
如果您检查 this docs, especially Configure DNS 部分,您会发现:
In this scenario you want to contain all kubernetes records under a subdomain of a domain you host in Route53. This requires creating a second hosted zone in route53, and then setting up route delegation to the new zone.
In this example you own
example.com
and your records for Kubernetes would look likeetcd-us-east-1c.internal.clustername.subdomain.example.com
你会发现基于这个文档示例:
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}
包含
的信息The environment variable ${NAME} was previously exported with our cluster 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