Переменные среды контейнера в Kubernetes

В этом посте описаны ресурсы, доступные для контейнеров в среде контейнеров (Container environment).

Контейнерная среда

Контейнерная среда Kubernetes предоставляет контейнерам несколько важных ресурсов:

  • Файловая система, представляющая собой комбинацию образа и одного или нескольких томов.
  • Информация о самом контейнере.
  • Информация о других объектах в кластере.

Контейнерная информация

Имя хоста контейнера - это имя модуля (pod), в котором работает контейнер. Он доступен через команду hostname или вызов функции gethostname в libc.

Имя Pod и пространство имен доступны как переменные среды через нисходящий API (Downward API).

Пользовательские переменные среды из определения Pod также доступны для контейнера, как и любые переменные среды, указанные статически в образе Docker.

Информация о кластере

Список всех служб, которые работали при создании контейнера, доступен этому контейнеру в качестве переменных среды. Эти переменные среды соответствуют синтаксису ссылок Docker.

Для службы с именем foo, которая отображается на контейнер с именем bar, определены следующие переменные:

FOO_SERVICE_HOST = <хост, на котором запущена служба>
FOO_SERVICE_PORT = <порт, на котором работает служба>

Сервисы имеют выделенные IP-адреса и доступны контейнеру через DNS, если DNS addon включен.


Читайте также:


Комментарии

Популярные сообщения из этого блога

Контроллеры в Kubernetes: DaemonSet

Контроллеры в Kubernetes: ReplicaSet

Контроллеры в Kubernetes: StatefulSet