Как использовать kops для создания кластера Kubernetes на AWS без использования службы ELB? - PullRequest
0 голосов
/ 11 января 2019

Я только изучаю Kubernetes и хотел бы не тратить деньги на Elastic Load Balancing при запуске его на AWS.

Вот команда, которую я использую для установки Kubernetes:

kops create cluster \
    --cloud aws \
    --name ${MY_KUBE_NAME}.k8s.local \
    --state s3://${MY_KUBE_NAME} \
    --master-count 1 \
    --master-size ${MY_KUBE_MASTER_AWS_INSTANCE_SIZE} \
    --master-volume-size ${MY_KUBE_MASTER_AWS_VOLUME_SIZE} \
    --master-zones ${MY_KUBE_AWS_ZONE} \
    --zones ${MY_KUBE_AWS_ZONE} \
    --node-count 1 \
    --node-size ${MY_KUBE_WORKER_AWS_INSTANCE_SIZE} \
    --node-volume-size ${MY_KUBE_WORKER_AWS_VOLUME_SIZE}

После выполнения этой команды я вижу, что балансировщик нагрузки создается через сервис ELB Amazon.

В общем, у меня все работало хорошо, и тогда я мог бы использовать kubectl для мониторинга и управления моим кластером, а также с его помощью установить панель управления Kubernetes. Но мне не нравится то, что kops использует ELB. Вначале это было нормально, и я использовал URL, предоставленный балансировщиком нагрузки, для доступа к панели управления. Теперь я считаю, что могу избежать использования ELB для сокращения своих расходов на AWS. Не могли бы вы рассказать мне, как я могу использовать kops create cluster без ELB, но при этом иметь возможность подключаться к моему кластеру и информационной панели с моего локального компьютера?

1 Ответ

0 голосов
/ 11 января 2019

LB необходим для связи с куб-аписервером, который работает на мастере. Вы можете обойти это, удалив ELB из консоли AWS и изменив свои настройки, чтобы напрямую общаться с публичным или частным IP-адресом вашего мастера. Возможно, вам придется повторно выдать сертификаты на главном сервере, чтобы вы могли общаться с новым IP-адресом. Копс создает ELB, потому что это больше стандартная готовая практика, а также она совместима, если у вас более одного мастера. Другими словами, все еще рекомендуется иметь этот ELB.

Что касается панели мониторинга, то, как правило, эта панель представлена ​​как Сервис Kubernetes LoadBalancer в AWS, который создает ELB. Вы можете просто удалить службу, и балансировщик нагрузки должен быть удален.

$ kubectl delete svc <your-dashboard-svc>

Теперь, если вы хотите избежать создания балансировщика нагрузки в службе, просто создайте службу с помощью ClusterIP или NodePort . Затем вы можете получить доступ к своему сервису, используя что-то вроде kubectl proxy.

...