【问题标题】:kops create cluster inside existing AWS vpc and subnetskops 在现有的 AWS vpc 和子网中创建集群
【发布时间】:2018-06-21 09:05:05
【问题描述】:

我在使用现有 AWS vpc 和子网中的 kops 创建 kubernet 时遇到问题。 我有一个具有以下 CIDR 块的现有 vpc:

IPv4 CIDR: 10.10.16.0/20

在那个 VPC 中,我的子网及其分配的 CIDR 块:

子网数据库A: 10.10.23.0/24

子网数据库B: 10.10.24.0/24

子网数据库C: 10.10.20.0/24

等等……

在尝试使用 kops 创建集群时出现此错误:

 error running task "Subnet/ap-southeast-2a.clusters.dev1.k8s.local" (9m58s remaining to succeed): error creating subnet: InvalidSubnet.Conflict: The CIDR '10.10.18.0/23' conflicts with another subnet
        status code: 400, request id: 252367d1-d693-47b9-a6c5-a44908a0f6f7

这意味着我的一个子网已经在使用该 IP 范围。

如何分配 kops 以使用我选择的特定 CIDR?

因为我可以看到每次我尝试创建集群时它都会分配一个不同的 CIDR(例如 CIDR 10.10.18.0/23)?

【问题讨论】:

  • 您能否发布完整的 kops 命令来说明您如何尝试创建 K8s 集群?
  • kops 创建集群 --name=$CLUSTER_NAME --state=$KOPS_STATE_STORE --zones=ap-southeast-2a --vpc=$VpcId --kubernetes-version=$k8sVersion --node- count=1 --node-size=t2.small
  • 我从未使用自定义子网通过 kops 创建集群,但我相信 --network-cidr--subnets 参数会对您有所帮助。通过kops create cluster -h 检查所有可能的参数。也许下一个链接会有所帮助icicimov.github.io/blog/virtualization/…
  • 也许这个链接对你也有用github.com/kubernetes/kops/blob/master/docs/…
  • 我会尝试您的建议并在得出结论后立即发表我的评论

标签: kubernetes kops


【解决方案1】:
kops create cluster --help
--subnets stringSlice                  Set to use shared subnets
--vpc string                           Set to use a shared VPC

见下文

 kops create cluster --name=${CLUSTER_NAME} --vpc=vpc-1010af11 --subnets=subnet- 000e123a,subnet-123b456,subnet-888c9991 --master-zones=${ZONES} --zones=${ZONES}  --networking=weave

因此,如果您传递子网 ID,kops 不会创建新的 CIDR,而是使用提供的子网 ID 和相应的 CIDR。参考以下。

  subnets:
- cidr: 92.145.123.0/26
  id: subnet- 000e123a
  name: us-east-1a
  type: Public
  zone: us-east-1a
- cidr: 92.145.123.64/26
  id: subnet-123b456
  name: us-east-1b
  type: Public
  zone: us-east-1b
- cidr: 92.145.123.128/26
  id: subnet-888c9991
  name: us-east-1c
  type: Public
  zone: us-east-1c

或者您可以在运行kops create cluster 而不使用--subnets 标志后使用kops edit cluster $CLUSTER_NAME 编辑集群,并如上所示更新子网部分。

参考:https://github.com/kubernetes/kops/blob/master/docs/cli/kops_create_cluster.md

【讨论】:

    【解决方案2】:

    对我来说,要求是在现有 VPC 和子网中创建 K8s 集群。即使在传递了 VPCID、SUBNETID 之后,我仍然收到此错误。

    当我更改主和节点区域时,它对我有用 us-east-1a 与我想要的子网区域 (us-east-1a) 相同创建。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-01-29
      • 2020-12-01
      • 2018-07-22
      • 2020-08-01
      • 2020-12-15
      • 2020-01-19
      • 2022-10-13
      相关资源
      最近更新 更多