Могу ли я получить доступ к контейнеру по его имени хоста из другого контейнера, запущенного на другом узле в Kubernetes? - PullRequest
1 голос
/ 14 апреля 2019

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

Допустим, у меня есть:

master - имя хоста для контейнера Docker DB, который зафиксирован на первом узле

slave - имя хоста для контейнера Docker DB, которое зафиксировано на втором узле

Можно ли общаться с master из любого контейнера (приложения и т. Д.)) в кластере независимо от того, работает ли он на одном узле или нет?

Это поведение по умолчанию?Или что-то еще должно быть сделано?

Я предполагаю, что мне нужно настроить параметр hostname в файле YAML или JSON, чтобы Kubernetes знал, что такое имя хоста.

Возможно, это не фактор, но я планирую использовать метод установки Kubespray, чтобы он подключался к сети Calico для k8s.

Большое спасибо

1 Ответ

3 голосов
/ 14 апреля 2019

Да,

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

Вот пример о Kubernetes Service configure:

---
apiVersion: v1
kind: Service
metadata:
  name: master
  labels:
    name: master
  namespace: smart-office
spec:
  ports:
  - port: 5672
    name: master
    targetPort: 5672
  selector:
    name: master

Deployment настроить:

---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: master
  labels:
    name: master
  namespace: smart-office
spec:
  replicas: 1
  template:
    metadata:
      labels:
        name: master
      annotations:
        prometheus.io/scrape: "false"
    spec:
      containers:
      - name: master
        image: rabbitmq:3.6.8-management
        ports:
        - containerPort: 5672
          name: master
      nodeSelector:
        beta.kubernetes.io/os: linux

А из других служб, например, ваш slaver .env будет:

AMQP_HOST=master <---- The hostname
AMQP_PORT=5672
AMQP_USERNAME=guest
AMQP_PASSWORD=guest
AMQP_HEARTBEAT=60

Он будет работать внутри Кластера, даже если вы не публикуете Внешний IP.

Надеюсь, это поможет вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...