Amazon web services 在使用KOPS创建新的kubernetes群集时,如何使用现有的专用VPC?

Amazon web services 在使用KOPS创建新的kubernetes群集时,如何使用现有的专用VPC?,amazon-web-services,kubernetes,kops,Amazon Web Services,Kubernetes,Kops,我在AWS上有一个现有的VPC。其中每个可用区域有2个子网(一个专用,一个公用)。 每个公用子网中都有一个NAT网关,以允许从该可用性区域中的专用子网访问internet 我所有的服务器都在私有子网中,在公共子网中有一个堡垒服务器,允许访问私有子网 VPC上还配置了一个私有托管区域,用于解析dns主机名 我想使用KOP在该VPC中设置kubernetes群集,但我希望群集的所有元素都驻留在专用子网中。我将使用bastion服务器的隧道访问API(我有一个零信任/BeyondCorp逻辑,所以这不

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

我所有的服务器都在私有子网中,在公共子网中有一个堡垒服务器,允许访问私有子网

VPC上还配置了一个私有托管区域,用于解析dns主机名

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

我似乎不明白如何使用KOP创建集群,以便在现有私有子网上创建集群,使用现有私有托管区域(或现有私有托管区域的子域),而不创建新的VPC、子网、nat网关、堡垒服务器等

我读过关于公共/私有拓扑、高可用性、使用私有托管区域和使用现有VPC的内容,但我似乎无法将其全部粘合到一个
kops create
命令中

这是我目前得到的,但我不确定它是否正确,我担心会损坏现有的专有网络:

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
export KOPS\u STATE\u STORE=s3://
导出群集\u NAME=“A\u NAME.my.private.hosted.zone.NAME”?
导出子网\u ID=列出\u私有\u子网\u或\u专有网络中的\u所有\u子网\u?
创建集群\
--专有网络专有网络-12345678\
--区域us-east-1a、us-east-1b、us-east-1c、us-east-1d、us-east-1e\
--名称${CLUSTER\u name}\
--子网${SUBNET_IDS}\
--主区us-east-1a、us-east-1b、us-east-1c、us-east-1d、us-east-1e\
--拓扑私有\
--dns专用\
--dns区域my.private.hosted.zone.name\
--网络印花布
  • 我错过什么了吗
  • 我指定的子网应该是专用子网(因为这是我希望集群驻留的地方)还是vpc的所有子网
  • 群集的名称是否应以私有托管区域域名结尾
  • 群集名称是否需要是可解析的域名?它是否需要与专用托管区域相同
  • 是否有充分的理由不使用gossip协议而不是DNS