Как назначить IP-адрес балансировщика нагрузки на вход NGINX? - PullRequest
0 голосов
/ 08 мая 2020

Я создал кластер K8S с помощью Rancher на платформе DO (DigitalOcean) и за сценой он создает VPS (Droplet) для построения кластера K8S.

Способ, как я создал на Rancher:

enter image description here

и выбрал плагин DO

На DO платформе, у вас есть возможность создать балансировщики нагрузки для добавления в кластер K8S, как описано на https://www.digitalocean.com/docs/kubernetes/how-to/add-load-balancers/.

Я установил NGINX ingress на K8S через helm:

helm install ingress-nginx ingress-nginx/ingress-nginx --namespace nginx --set controller.publishService.enabled=true

и статус служб контроллера NGINX показывает:

k get service -n nginx                                                                                               
NAME                                 TYPE           CLUSTER-IP     EXTERNAL-IP   PORT(S)                      AGE
ingress-nginx-controller             LoadBalancer   10.43.117.7    <pending>     80:31609/TCP,443:32247/TCP   103s
ingress-nginx-controller-admission   ClusterIP      10.43.55.223   <none>        443/TCP                      103s  

Тогда я Мы создали балансировщик нагрузки со следующими правилами:

enter image description here

После этого я получил IP-адрес. Поэтому у меня вопрос, как назначить IP-адрес входящему контроллеру nginx?

1 Ответ

1 голос
/ 09 мая 2020

Служба типа LoadBalancer является заявлением о вашем желании, и она должна вызывать предоставление LB DigitalOcean. За реализацию этого желания отвечает облачный контроллер: код, который подписывается на список Сервисов типа LoadBalancer и использует API облачного провайдера для обеспечения предоставления LB облачного провайдера.

https://github.com/digitalocean/digitalocean-cloud-controller-manager

Не следует вручную мастерить DigitialOcean LB.

...