Умное управление секретами в Kubernetes через sealed-secrets

Практические лайфхаки для разработчиков, DevOps и админов: Docker, Linux, Bash, Python, Golang, Ansible, логи и безопасность — только рабочие решения. Даем готовые команды, конфиги и приёмы диагностики, которые экономят часы и дни. Если нужно быстро настроить, отладить и обезопасить инфраструктуру — вы по адресу.

kubernetessealed-secretskubeseal

ℹ️ Работа с секретами в Kubernetes традиционно вызывает головную боль. Использование стандартных Kubernetes Secrets может быть рискованным, так как их данные хранятся в base64-кодировке, что не обеспечивает надёжной защиты. Передача этих секретов через Git тоже небезопасна.

🔥 Используй sealed-secrets от Bitnami. Это инструмент, который позволяет безопасно хранить секреты в Git в зашифрованном виде.

ℹ️ Как это работает?

  1. 1. Контроллер sealed-secrets устанавливается в кластер Kubernetes.
  2. 2. Ты создаёшь секреты локально и шифруешь их с помощью публичного ключа контроллера.
  3. 3. Зашифрованные файлы (sealed secrets) добавляются в репозиторий Git.
  4. 4. Контроллер автоматически расшифровывает их в кластере, но только там, где установлена соответствующая пара ключей.

🖥 Установка:

  1. 📂 1. Установи kubeseal локально:
brew install kubeseal  # Для macOS
# Или смотри документацию: https://github.com/bitnami-labs/sealed-secrets
  1. 🖥 2. Добавь контроллер в кластер:
kubectl apply -f https://github.com/bitnami-labs/sealed-secrets/releases/download/v0.27.2/controller.yaml

⚡️ Пример использования:

  1. 📑 1. Создай обычный Kubernetes Secret:
kubectl create secret generic my-secret --from-literal=username=admin --from-literal=password=supersecret --dry-run=client -o yaml > my-secret.yaml
  1. 🔒 2. Зашифруй его:
kubeseal --format=yaml < my-secret.yaml > my-sealed-secret.yaml
  1. 🦊 3. Добавь my-sealed-secret.yaml в Git.
  2. 👨‍💻 4. Применяй зашифрованный секрет как обычный манифест:
kubectl apply -f my-sealed-secret.yaml

✳️ Теперь секреты можно хранить в Git безопасно, автоматизировать их применение и быть уверенным в защите данных.

tags: #полезно #k8s #безопасность

🧭 @recura_tech

Иллюстрация: абстрактная иконка хранилища данных и замка на фоне схемы — символизация защищённых секретов и шифрования в Kubernetes.
Визуализация концепции безопасного хранения секретов (sealed-secrets) в Kubernetes.

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