Как назначить внешний IP-адрес работающей службе? - PullRequest
0 голосов
/ 13 апреля 2020

У меня есть следующий сервис:

NAME      TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)   AGE
rancher   ClusterIP   10.245.162.197   <none>        80/TCP    10h

, которому я бы хотел присвоить EXTERNAL-IP . Я попытался:

kubectl expose deployment rancher --type=LoadBalancer --name=rancher-access

, но EXTERNAL-IP по-прежнему не назначается. Я использую Digital Ocean Kubernetes.
Как получить EXTERNAL-IP для услуги rancher.

1 Ответ

2 голосов
/ 13 апреля 2020

У вас есть две опции:

  1. Тип службы LoadBalancer реализуется путем добавления кода в спецификацию мастера kubernetes c для каждого облачного провайдера. Для провайдеров облачных услуг Digital Ocean не поддерживается облачный провайдер, поэтому тип LoadBalancer не сможет использовать преимущества плавающих IP-адресов Digital Ocean.

Вместо этого вам следует рассмотрите возможность использования службы NodePort или присоединения ExternalIP к вашей услуге и сопоставления открытого IP-адреса с плавающим IP-адресом Digital Ocean.

Чтобы получить фактический IP-адрес, вам необходимо: выставить вам нужно s sh в каплю вашего шлюза и найти его привязанный IP, включив службу метаданных:

curl -s http://169.254.169.254/metadata/v1/interfaces/public/0/anchor_ipv4/address

Использовать созданную Digital Ocean реализацию облачного провайдера

Вы можете использовать входной контроллер NGINX и направить LB DigitalOcean на хост, где контроллер развернут. Еще немного повозившись, вы можете сделать эту настройку очень доступной

https://github.com/hobby-kube/guide#bringing -traffi c-to-the-cluster

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...