Как использовать существующий частный VPC при создании нового кластера kubernetes с помощью KOPS? - PullRequest
0 голосов
/ 09 сентября 2018

У меня уже есть 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?
...