KOPS: кластер Kubernetes с частной сетью на AWS VPC: узлы списков ошибок
Я следовал этому руководству: кластер Kubernetes с частной сетью в AWS с использованием Kops
Однако после создания кластера kubernetes я получаю следующую ошибку:
$ kops validate cluster
Using cluster from kubectl context: k8s-cluster.mydomain.com
Validating cluster k8s-cluster.mydomain.com
Сообщение об ошибке:
unexpected error during validation: error listing nodes: Get https://subdomain.eu-central-1.elb.amazonaws.com/api/v1/nodes: EOF
Любые идеи о том, как отладить или решить эту проблему?
Шаги, которые я использовал для создания ниже:
Настройка VPC и Подсетей
Создать VPC
$ aws ec2 create-vpc --cidr-block 10.0.0.0/16 --region eu-central-1
Разрешить DNS-имена хостов
$ aws ec2 modify-vpc-attribute --vpc-id ${VPC_ID} --enable-dns-hostnames "{\"Value\":true}" --region ${REGION}
Создать интернет-шлюз
$ aws ec2 create-internet-gateway --region ${REGION}
Подключите интернет-шлюз к VPC
$ aws ec2 attach-internet-gateway --internet-gateway-id ${INTERNET_GATEWAY_ID} --vpc-id ${VPC_ID} --region ${REGION}
[ОБЩЕСТВЕННЫЕ ПОДСЕТИ] Создайте три общедоступных зоны / подсети (3x)
$ aws ec2 create-subnet --vpc-id ${VPC_ID} --cidr-block 10.0.0.0/20 --availability-zone ${AVAILABILITY_ZONE_1} --region ${REGION}
Установите публичные подсети для автоматического назначения публичного ip для экземпляров (3x)
$ aws ec2 modify-subnet-attribute --subnet-id ${PUBLIC_SUBNET_1} --map-public-ip-on-launch --region ${REGION}
[ЧАСТНЫЕ ПОДНЕТЫ] Создание трех частных зон / подсетей (3x)
$ aws ec2 create-subnet --vpc-id ${VPC_ID} --cidr-block 10.0.48.0/20 --availability-zone ${AVAILABILITY_ZONE_1} --region ${REGION}
[Настройка шлюзов NAT] Назначить адрес (3x)
$ aws ec2 allocate-address --domain vpc --region ${REGION}
Создать NAT-шлюз для публичных зон (3x)
$ aws ec2 create-nat-gateway --subnet-id ${PUBLIC_SUBNET_1} --allocation-id ${EIP_ALLOCATION_ID_1} --region ${REGION}
[CONFIGURE ROUTE TABLES] Создать таблицу маршрутов
$ aws ec2 create-route-table --vpc-id ${VPC_ID} --region ${REGION}
Создать маршрут для интернет-шлюза
$ aws ec2 create-route --route-table-id ${RTB_PUBLIC_1} --destination-cidr-block 0.0.0.0/0 --gateway-id ${INTERNET_GATEWAY_ID} --region ${REGION}
Связать общедоступные подсети с таблицей маршрутов (3x)
$ aws ec2 associate-route-table --route-table-id ${RTB_PUBLIC_1} --subnet-id ${PUBLIC_SUBNET_1} --region ${REGION}
[ТАБЛИЦА МАРШРУТОВ ДЛЯ ЧАСТНЫХ ЗОН] Создать таблицу маршрутов для каждой частной зоны (3x)
$ aws ec2 create-route-table --vpc-id ${VPC_ID} --region ${REGION}
Создать маршрут к шлюзу NAT (3x)
$ aws ec2 create-route --route-table-id ${RTB_PRIVATE_1} --destination-cidr-block 0.0.0.0/0 --nat-gateway-id ${NAT_GW_1} --region ${REGION}
Ассоциированные подсети (3x)
$ aws ec2 associate-route-table --route-table-id ${RTB_PRIVATE_1} --subnet-id ${PRIVATE_SUBNET_1} --region ${REGION}
Другая конфигурация
Настройте S3 Bucket в качестве государственного магазина Kops
$ aws s3api create-bucket --bucket my-state-store --region ${REGION} --create-bucket-configuration LocationConstraint=eu-central-1
Создать кластер
$ kops create cluster --node-count 3 --zones ${AVAILABILITY_ZONE_1},${AVAILABILITY_ZONE_2},${AVAILABILITY_ZONE_3} --master-zones ${AVAILABILITY_ZONE_1},${AVAILABILITY_ZONE_2},${AVAILABILITY_ZONE_3} --state ${KOPS_STATE_STORE} --dns-zone=${DNS_ZONE_PRIVATE_ID} --dns private --node-size m5.large --master-size m5.large --topology private --networking weave --vpc=${VPC_ID} --bastion ${NAME}
Изменить кластер для настройки подсетей
$ kops edit cluster ${NAME}
Примечание: обновите подсети, чтобы они соответствовали созданным общедоступным / личным подсетям выше
$ kops update cluster ${NAME} --yes
1 ответ
Проблема решена. Это не было kops
проблема, проблема была с AWS M5 и версией linux.
Образы Debian jessie по умолчанию kops не поддерживают nvme для томов EBS, который используется типами экземпляров AWS M5. В результате мастера не запускаются, так как не могут смонтировать тома EBS.