Как получить доступ к IP-адресу и порту узла на другом узле в Kubernetes - PullRequest
0 голосов
/ 06 мая 2020

У меня есть приложение с двумя модулями, в котором один модуль принимает данные, а другой хочет их использовать. Я пытаюсь настроить Kubernetes с одним узлом. Прямо сейчас:

`in pod1` 
        - name: ingest_cfg
        value: zmq_tcp,0.0.0.0:9000 [where pod1 is publishing on port 9000, even this I want to be dynamically configurable]

`in pod2`
        - name: ingest_cfg
        value: "zmq_tcp,IPadd:pv" [where IPadd should be Ip address where pod 1 is publishing and pv is port number where pod1 has published]

Теперь мне нужно знать, как я могу настроить это в коде. Я не хочу жестко кодировать IP-адрес и порт. Любые указатели будут очень кстати. Я пробовал использовать имя службы, но оно указывает на IP-адрес кластера.

1 Ответ

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

Я предлагаю вам использовать Deployment для каждого из ваших приложений. Создайте Сервис поверх каждого развертывания. А затем от потребителя данных вы можете указать на внутреннюю службу DNS, предоставляемую kubernetes.

Допустим, ваша служба приема данных:

apiVersion: v1
kind: Service
metadata:
  name: my-service
spec:
  selector:
    app: ingestion
  ports:
    - protocol: TCP
      port: 80
      targetPort: 9090

Вы можете использовать DNS-адрес myservice.default.svc.cluster.local.

...