Инициализация контейнеров nslookup - PullRequest
0 голосов
/ 23 февраля 2020

В моем файле развертывания kubernetes есть контейнер Init, и я вижу, что контейнеры init не могут проверить доступность служб, присутствующих в разных пространствах имен, с помощью helm. ниже ns1 - это пространство имен

      initContainers:
        - name: init-service1 #here I cannot give init-service1.<namespace> as (.) is not allowd
          image: busybox
          command: ['sh', '-c', 'until nslookup service1.<namespace>; do echo waiting for service1.<namespace>; sleep 10; done;']

Я пробовал то же самое с тем же пространством имен, и он отлично работает с helm

Во-вторых, имя initcontainer должно совпадать с названием служб, которые я ищу? ?

Другая проблема - Хелм, я не могу дать имя как init-service1. как (.) не допускается.

Любая помощь высоко ценится

1 Ответ

0 голосов
/ 24 февраля 2020

Поскольку вы работаете с несколькими пространствами имен, вам необходимо использовать полное доменное имя для доступа к вашим услугам:

Когда вы создаете Сервис , он создает соответствующий DNS запись . Эта запись имеет вид <service-name>.<namespace-name>.svc.cluster.local, что означает, что если контейнер просто использует <service-name>, он будет преобразован в службу, которая является локальной для пространства имен. Это полезно для использования одной и той же конфигурации в нескольких пространствах имен, таких как разработка, подготовка и производство. Если вы хотите охватить пространства имен, вам нужно использовать полное доменное имя (FQDN)

В вашем случае: service1.svc.myapp.svc.cluster.local

Во-вторых, имя initontainer должно соответствовать названию служб, которые я ищу?

Нет. Имя initContainer не имеет значения в этом поле, вы можете использовать то, что вы хотите.

В вашем случае оно должно работать:

      initContainers:
        - name: my-init
          image: busybox:1.28
          command: ['sh', '-c', 'until nslookup service1.svc.myapp.svc.cluster.local; do echo waiting for service1.svc.myapp.svc.cluster.local; sleep 10; done;']

Ссылки:

Общие сведения о пространствах имен и DNS

...