Автоматизируйте вызов команд bash в контейнере Kubernetes

#elasticsearch #kubernetes

#эластичный поиск #kubernetes

Вопрос:

Я использую стек Elasticsearch с Kibana и Fluent Bit в Kubernetes. Чтобы настроить безопасность, я устанавливаю пароли с помощью этой команды:

 kubectl exec -it $(kubectl get pods -n logging | grep elasticsearch-client | sed -n 1p | awk '{print $1}') -n logging -- bin/elasticsearch-setup-passwords auto -b
 

Следуя этому руководству

Поскольку во время разработки мне приходится довольно часто выполнять эту настройку, я хочу автоматизировать этот шаг, но у меня не получается заставить его работать. Поскольку я использую Tiltfiles, моим первым побуждением было вызвать оттуда скрипт bash, но поскольку Starlark он не поддерживает это, это не вариант. Моей следующей попыткой было попробовать это с Init Containers помощью, но поскольку они не могут получить доступ к другим контейнерам, это также не сработало. Кто-нибудь знает, как правильно это сделать?

Комментарии:

1. Я бы смонтировал Секрет с соответствующим файлом паролей. kubectl exec Подобные сценарии очень ненадежны: если модуль будет уничтожен и воссоздан вне вашего контроля (например, из-за сбоя узла или перегрузки), эта настройка будет полностью потеряна.

2. Большое вам спасибо за ваш ответ. Да, вы правы, я должен поместить пароль (bootstrap) в секрет. Моя первоначальная проблема заключалась в том, что я думал, что инструмент elasticsearch-setup-passwords был единственным способом настройки пароля (пользователя). Другими словами, я не знал пароль до запуска программы. Но я только что нашел способ заранее изменить пароль начальной загрузки ( elastic.co/guide/en/elasticsearch/reference/current /… ) итак, проблема решена. Еще раз спасибо.

Ответ №1:

Как указал @David Maze, я должен ввести пароль (bootstrap) в secret .

Моя первоначальная проблема заключалась в том, что я думал, что elasticsearch-setup-passwords инструмент был единственным способом настройки пароля (пользователя).

Другими словами, я не знал пароль до запуска программы. Но я только что нашел способ заранее изменить пароль начальной загрузки, поэтому проблема решена.

Комментарии:

1. пожалуйста, примите ваш ответ. Вы не получите очки за принятие собственного ответа, но это решение будет более заметным для пользователей с аналогичной проблемой.