У меня уже есть VPC на AWS. В нем есть 2 подсети на каждую зону доступности (одна частная, одна общедоступная).
В каждой общедоступной подсети имеется шлюз NAT, позволяющий доступ в Интернет из частной подсети в этой зоне доступности.
Все мои серверы находятся в частных подсетях, а в общедоступной подсети есть бастионный сервер для доступа в частные подсети.
Существует также частная размещенная зона, настроенная на VPC для разрешения разрешения имени хоста DNS.
Я хочу настроить кластер kubernetes в этом VPC, используя KOPS, но я хочу, чтобы все элементы кластера находились в частных подсетях. Я буду получать доступ к API через туннель с бастионного сервера (у меня есть логика Zero Trust / 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?