Как перейти с вывода модуля k8s на внешний IP-адрес балансировщика нагрузки

#kubernetes #load-balancing #high-availability

Вопрос:

Я пытаюсь создать кластер HA K8s с 2 главными узлами , 3 рабочими узлами и 1 узлом балансировки нагрузки HAProxy. Я могу настроить кластер со всеми запущенными модулями и службами.

Проблема в том, что я не могу получить доступ к своему развернутому приложению с IP-адреса балансировщика нагрузки.

Конфигурация службы pod :-

     apiVersion: v1
    kind: Service
    metadata:
      annotations:
        juju.io/controller: xyxxxfdsfdsfdsfdsfdsfds
        juju.io/model: dsffdgfdfdgfdg
      creationTimestamp: "2021-10-06T11:12:02Z"
      labels:
        juju-app: ng-ui
      name: ng-ui
      namespace: osm
      resourceVersion: "1642760"
      selfLink: /api/v1/namespaces/osm/services/ng-ui
      uid: sdffgfdfgfgfgfg
    spec:
      clusterIP: w.x.y.z
      externalIPs:
      - a.b.c.d
      externalTrafficPolicy: Cluster
      ports:
      - name: ng-ui
        nodePort: 32000
        port: 80
        protocol: TCP
        targetPort: 80
      selector:
        juju-app: ng-ui
      sessionAffinity: None
      type: NodePort
    status:
      loadBalancer: {}
 

IP — адрес балансировщика нагрузки: — a.b.c.d

IP — адрес кластера: — w.x.y.z

когда я делаю kubectl get svc :-

 NAME    TYPE       CLUSTER-IP       EXTERNAL-IP    PORT(S)        AGE
ng-ui   NodePort    w.x.y.z           a.b.c.d     80:32000/TCP   5d20h
 

но в браузере , когда я попытался получить доступ http://a.b.c.d:32000 , он был недоступен.
Я могу получить доступ к своему приложению только с помощью http://master-node-ip:32000 .
Итак, есть ли какой-либо способ получить доступ к моему приложению с помощью IP-адреса балансировщика нагрузки?