Как получить статическую конечную точку ELB для развертываний в Kubernates - PullRequest
0 голосов
/ 21 декабря 2018

Каждый раз, когда я развертываю новую сборку в kubernates.Я получаю другой ВНЕШНИЙ IP-адрес, который в приведенном ниже примере afea383cbf72c11e8924c0a19b12bce4-xxxxx.us-east-1.elb.amazonaws.com

$ kubectl get services -o wide -l appname=${APP_FULLNAME_SYSTEST},stage=${APP_SYSTEST_ENV}
NAME                                        TYPE           CLUSTER-IP      EXTERNAL-IP                                                               PORT(S)         AGE       SELECTOR
test-systest-lb-https   LoadBalancer   123.45.xxx.21   afea383cbf72c11e8924c0a19b12bce4-xxxxx.us-east-1.elb.amazonaws.com   443:30316/TCP   9d        appname=test-systest,stage=systest

Как мне иметь статический внешний IP (elb), чтобы я могмогу связать это с маршрутом 53. Нужно ли мне что-то включать в мой файл развертывания Kubernates?

Дополнительные сведения: Я использую ниже loadbalancer

spec:
  type: LoadBalancer
  ports:
  - name: http
    port: 443
    targetPort: 8080
    protocol: TCP
  selector:
    appname: %APP_FULL_NAME%
    stage: %APP_ENV%

1 Ответ

0 голосов
/ 21 декабря 2018

Если вы просто делаете новые сборки одного развертывания, вам следует проверить, что ваш конвейер делает со службой.Вы хотите сделать kubectl apply и скользящее обновление для Развертывания (при условии, что стратегия настроена на Развертывание) без изменения Службы (поэтому не delete и create).Если вы наберете kubectl get services, вы должны увидеть его возраст (ваш вывод показывает 9d, так что все хорошо), а kubectl describe service <service_name> покажет любые события на нем.

Я предполагаю, что вам просто нужна внешняя запись IPможет указывать на «afea383cbf72c11e8924c0a19b12bce4-xxxxx.us-east-1.elb.amazonaws.com» и не является действительно статическим IP .Если вам нужен настоящий статический IP-адрес, вы не получите его таким образом, но вы можете попробовать NLB .

Если вы хотите, чтобы несколько развертываний (разных микросервисов) совместно использовали одинIP, то вы можете установить входной контроллер и выставить его с помощью ELB.Затем, когда вы развертываете новые приложения, вы используете ресурс Ingress для каждого из них, чтобы сообщить контроллеру об их внешнем представлении.Таким образом, вы можете поместить все свои приложения на один и тот же внешний IP-адрес, но маршрутизировать по разным путям или поддоменам. Входной контроллер nginx является хорошим вариантом .

...