Назад | Перейти на главную страницу

Как мне обновить IP-адрес балансировщика нагрузки?

У меня был кластер A со статическим IP-адресом на балансировщике нагрузки, но мне нужно было переместить развертывание в службу B, сохраняя при этом тот же статический IP-адрес.

Я сделал следующее:

  1. Из кластера A удален балансировщик нагрузки.
  2. Создал новый балансировщик нагрузки в кластере B, а затем после его создания назначил ему статический IP-адрес через экран сети и одновременно удалил эфемерный IP-адрес.
  3. Надеюсь на успех.

Сервис балансировки нагрузки на портале GCS под Kubernetes Engine > Services выглядит так:

apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/aws-load-balancer-backend-protocol: tcp
  name: contour
  namespace: heptio-contour
spec:
  clusterIP: x.x.x.x
  externalTrafficPolicy: Cluster
  ports:
  - name: http
    nodePort: 31774
    port: 80
    protocol: TCP
    targetPort: 8080
  - name: https
    nodePort: 30314
    port: 443
    protocol: TCP
    targetPort: 8443
  selector:
    app: contour
  sessionAffinity: None
  type: LoadBalancer
status:
  loadBalancer:
    ingress:
    - ip: e.e.e.e

В настоящее время IP-адрес является временным IP-адресом. e.e.e.e, и это то, что на вкладке сведений отображается как IP-адреса «внешних конечных точек» и «балансировщика нагрузки».

Если я перейду на связанный балансировщик нагрузки (находится в Network Services > Load Balancing), Я вижу, что внешний IP-адрес s.s.s.s (мой статический IP-адрес) для портов 80-443 - я специально пытаюсь получить доступ к портам 80 и 443.

Я обнаружил, что не могу изменить IP-адрес балансировщика нагрузки в нижней части файла конфигурации YAML - после сохранения он просто отменяет мои изменения. Я также пробовал добавить loadBalancerIP: s.s.s.s ниже clusterIP но это не имело значения. Наконец, я перешел к статическому IP-адресу и убедился, что правило переадресации направлено на правильный балансировщик нагрузки.

Мой вопрос: какие шаги я должен предпринять, чтобы успешно назначить этот внешний IP-адрес существующему балансировщику нагрузки и передать трафик в кластер?

Сервис Kubernetes:

Балансировщик нагрузки:

Если вы хотите обновить статический IP-адрес балансировщика нагрузки в GKE:

  • Создайте LB с помощью служебного yaml файла.
  • Войдите в файл yaml службы и затем определите статический IP-адрес LB, используя нотацию
    «loadBalancerIP".
  • После изменения вашего yaml вам просто нужно запустить его, используя:

    kubectl apply -f service.yaml.

Это обновит изменения конфигурации.

Важно отметить, что в GKE каждая модификация должна выполняться в файле yaml, а не с консоли.

Вы можете взглянуть на это руководство для получения дополнительных разъяснений.