Назначение имени хоста контейнеров 127.0.0.1 в файле hosts - контейнер kubernetes - PullRequest
0 голосов
/ 10 апреля 2020

Я хотел бы добавить en запись в etc/hosts внутри контейнера следующим образом

127.0.0.1 hostname-of-pod

, и я получил эту ссылку , которая объясняет, как добавить запись хоста, однако я хотел бы знать, что нам нужно добавить, чтобы получить hostname-of-pod

Ответы [ 3 ]

0 голосов
/ 10 апреля 2020

Вы можете ввести имя узла или IP-адрес хоста в переменные среды в модуле, используя нисходящий API

см. https://kubernetes.io/docs/tasks/inject-data-application/environment-variable-expose-pod-information/#use -pod-fields-as-values-for-environment-variable для получения дополнительной информации

Я считаю, что часть, которую вы искали, такова:

        - name: MY_POD_NAME
          valueFrom:
            fieldRef:
              fieldPath: metadata.name

Источник: https://github.com/kubernetes/client-go/issues/565

0 голосов
/ 10 апреля 2020

однако я хотел бы знать, что нам нужно добавить, чтобы получить это hostname-of-pod

Он должен быть уже в / etc / hosts для Pod. K8s обрабатывает это для пользователей.

$ kubectl get pods
NAME                       READY   STATUS    RESTARTS   AGE
busybox-68dc67fcc5-gwd95   1/1     Running   6          6h52m

$ kubectl exec -it busybox-68dc67fcc5-gwd95 -- sh

# cat /etc/hosts
# Kubernetes-managed hosts file.
127.0.0.1   localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
fe00::0 ip6-mcastprefix
fe00::1 ip6-allnodes
fe00::2 ip6-allrouters
10.60.0.17  busybox-68dc67fcc5-gwd95

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

0 голосов
/ 10 апреля 2020

Вы можете просто добавить 127.0.0.1 hostname-of-pod следующим образом:

Command 1: kubectl exec -n namespace -it pod_name sh
Command 2: echo "127.0.0.1    $HOSTNAME" >> /etc/hosts 

Примечание. Command 2 необходимо выполнить внутри модуля после command 1 успеха.

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