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

Kubernetes LoadBalancer работает только для порта 80, а не для других в Google Cloud

У меня проблемы с открытием портов, отличных от порта 80, в моем кластере Google Cloud Kubernetes. Ниже представлен yaml-файл службы Kubernetes, но по какой-то причине открыт только порт 80. Я подключил модули к модулям по SSH и могу подтвердить, что они внутренне обслуживают другие порты, перечисленные ниже, но, похоже, они не открыты.

Есть ли понимание проблемы или что я должен проверить, чтобы отладить ее?

apiVersion: v1
kind: Service
metadata:
  name: my-frontend
  namespace: ocr-cluster
  labels:
    component: ocr
spec:
  type: LoadBalancer
  selector:
    component: ocr
  ports:
  # Working:
  - name: http
    port: 80
    protocol: TCP
  # Not working
  - name: rabbit
    port: 15672
    protocol: TCP
  - name: flower
    port: 5555
    protocol: TCP

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

Мой файл yaml выглядит примерно так:

apiVersion: v1
kind: Service
metadata:
  name: ocr-frontend
  namespace: ocr-da-cluster
  labels:
    component: ocr
spec:
  type: LoadBalancer
  # Unfortunately, we need to specify the IP address here.
  loadBalancerIP: 104.154.151.248
  ...