Добавить / расширить LD_LIBRARY_PATH, используя исходный код Kubernetes - PullRequest
0 голосов
/ 26 сентября 2018

При планировании модуля я динамически (и прозрачно) монтирую папку с общими библиотеками в клиентские контейнеры через Kubernetes DevicePlugins.Теперь в контейнере я хочу добавить / расширить эти динамически монтируемые общие библиотеки в переменные окружения LD_LIBRARY_PATH.

Внутри контейнера: этого можно добиться, выполнив команду на bash "export LD_LIBRARY_PATH = $ LD_LIBRARY_PATH: / some/ new / directory "

С хоста: я могу добавить команду экспорта в файл pod.yaml под pod.spec.command и аргументами.

Но я хотел сделать это прозрачно, без указания клиентом / администратором этого файла yaml с помощью Kubernetes DevicePlugins или Extended-Schedulers

Я ищу метод / хак, которым я могу добавить /расширять LD_LIBRARY_PATH внутри контейнера только с использованием исходного кода Kubernetes.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 27 сентября 2018

Если я понимаю вашу проблему, все, что вам нужно, это прозрачно добавить ld_library_path в модуль, как это запланировано.Может быть, вы можете попробовать использовать мутировавшего веб-крючка.Который позволяет отправлять команду исправления в kubernetes для изменения манифеста.Theres хорошая документация от облака Banzai.Я сам не пробовал.https://banzaicloud.com/blog/k8s-admission-webhooks/

0 голосов
/ 26 сентября 2018

Вы можете просто вставить свой Dockerfile и создать образ, который вы используете для этого в Kubernetes.Не нужно взламывать исходный код Kubernetes.

В вашем Dockerfile в какой-то строке:

ENV LD_LIBRARY_PATH /extra/path:$LD_LIBRARY_PATH

Затем:

docker build -t <your-image-tag> .
docker push <your-image-tag>

Затем обновите ваш модуль или определение развертывания.и развернуть в Kubernetes.

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

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