Kubernetes - контейнер, зная об узле, на который он должен - PullRequest
0 голосов
/ 07 апреля 2020

Я пытаюсь выяснить, каким образом контейнер или модуль может знать некоторую конкретную c информацию об узле, на который он запланирован. Например, мой контейнер, возможно, должен знать, присутствует ли графический процессор на этом узле, чтобы решить, следует ли включать ускорение графического процессора. Другим примером было бы знание переменной $ DISPLAY узла, чтобы знать, на какой X-сервер выводить графику.

Какой лучший подход к этому?

Спасибо

Обновление: если бы я мог получить имя узла из контейнера, я мог бы найти внешний сервис для получения необходимой информации. Есть ли способ сделать это?

Ответы [ 2 ]

2 голосов
/ 08 апреля 2020

OP Здесь. Я нашел несколько приличный способ сделать это.

При настройке узла с помощью моего кластера я могу установить скрипт для исходных переменных среды в файл, а затем смонтировать этот файл в контейнер.

В качестве альтернативы я также мог бы сохранить конфигурацию для каждого ndoe в отдельном сервисе и внедрить nodeName для поиска свойств указанного c узла следующим образом:

https://kubernetes.io/docs/tasks/inject-data-application/environment-variable-expose-pod-information/#use -pod-fields -as-values-for-environment-variable

Затем, основываясь на имени, мой контейнер может выполнять поиск через службу или конфигурацию, сопоставляя сопоставление nodeName с любой информацией, которая мне нужна от узла. Все, что мне нужно сделать, это поддерживать эту карту сервиса / конфигурации в актуальном состоянии с информацией об узле.

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

Taints и Tolerations были разработаны для этого.

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