我在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