使用KOPS创建新的Kubernetes集群时,如何使用现有的专用VPC?

时间:2018-09-09 08:51:07

标签: amazon-web-services kubernetes kops

我在AWS上已有一个VPC。其中每个可用区都有2个子网(一个私有,一个公共)。
每个公共子网中都有一个NAT网关,以允许从该可用区域中的私有子网访问Internet。

我所有的服务器都在专用子网中,而在公共子网中有一个堡垒服务器,可以访问这些专用子网。

在VPC上还配置了一个私有托管区域,以允许解析DNS主机名。

我想使用KOPS在该VPC中设置一个kubernetes集群,但我希望集群的所有元素都驻留在专用子网中。我将使用来自堡垒服务器的隧道访问API(我有一个零信任/ BeyondCorp逻辑,所以这不是问题)。

我似乎无法理解如何使用KOPS创建群集,以便使用现有的专用托管区域(或现有的专用托管区域的子域)在现有的专用子网上创建群集,而无需创建新的VPC,子网,NAT网关,堡垒服务器等...

我已经了解了公共/私有拓扑,高可用性,使用私有托管区域以及使用现有VPC的知识-但我似乎无法将其全部粘合到单个kops create命令中。

这是到目前为止的结果,但是我不确定它是正确的,而且我担心会损坏现有的VPC:

export KOPS_STATE_STORE=s3://<somes3bucket>
export CLUSTER_NAME="A_NAME.my.private.hosted.zone.name" ?
export SUBNET_IDS=LIST_OF_IDS_OF_PRIVATE_SUBNETS?_OR_ALL_SUBNETS_IN_VPC?

kops create cluster \
    --vpc vpc-12345678 \
    --zones us-east-1a,us-east-1b,us-east-1c,us-east-1d,us-east-1e \
    --name ${CLUSTER_NAME} \
    --subnets ${SUBNET_IDS} \
    --master-zones us-east-1a,us-east-1b,us-east-1c,us-east-1d,us-east-1e \
    --topology private \
    --dns private \
    --dns-zone my.private.hosted.zone.name \
    --networking calico
  • 我想念什么吗?
  • 我指定的子网应该仅是专用子网(因为我要在其中放置群集)还是vpc的所有子网?
  • 集群名称是否应以私有托管区域域名结尾?
  • 集群名称是否需要为可解析的域名?是否需要与私有托管区域相同?
  • 是否有充分的理由使用八卦协议而不是DNS?

0 个答案:

没有答案