Kubernetes — работа с секретами

Опубликовано: 18 Февраля, 2023

Секреты Kubernetes — это объекты, которые используются для хранения секретных данных в формате с кодировкой base64. Использование секретов позволяет разработчикам не помещать конфиденциальную информацию в код приложения. Поскольку секреты создаются независимо от модулей, риск раскрытия секретов меньше.

Использование секретов:

  • Как файлы в томе, смонтированном в одном или нескольких его контейнерах.
  • Как переменная среды контейнера.
  • Кубелетом при извлечении изображений для Pod.

Создание секрета:

$ kubectl create secret generic [secret-name]   
--from-file=[key1]=[file1]   
--from-file=[key2]=[file2]

Секрет расшифровки:

$ kubectl get secret [secret] -o jsonpath="{.data}"

Приведенный выше вывод показывает закодированные пары ключ-значение.

Декодируйте их с помощью эха и передайте вывод в base64.

$ echo "[encoded-value]" | base64 --decode

Приведенный выше вывод представляет собой декодированный пароль.

Секрет редактирования:

$ kubectl edit secrets <secret-name>

Файл конфигурации при редактировании будет выглядеть так:

Удаление секрета:

$ kubectl delete secret <secret-name>