ℹ️ Работа с секретами в Kubernetes традиционно вызывает головную боль. Использование стандартных Kubernetes Secrets может быть рискованным, так как их данные хранятся в base64-кодировке, что не обеспечивает надёжной защиты. Передача этих секретов через Git тоже небезопасна.
🔥 Используй sealed-secrets от Bitnami. Это инструмент, который позволяет безопасно хранить секреты в Git в зашифрованном виде.
ℹ️ Как это работает?
- 1. Контроллер
sealed-secretsустанавливается в кластер Kubernetes. - 2. Ты создаёшь секреты локально и шифруешь их с помощью публичного ключа контроллера.
- 3. Зашифрованные файлы (
sealed secrets) добавляются в репозиторий Git. - 4. Контроллер автоматически расшифровывает их в кластере, но только там, где установлена соответствующая пара ключей.
🖥 Установка:
- 📂 1. Установи
kubesealлокально:
brew install kubeseal # Для macOS
# Или смотри документацию: https://github.com/bitnami-labs/sealed-secrets- 🖥 2. Добавь контроллер в кластер:
kubectl apply -f https://github.com/bitnami-labs/sealed-secrets/releases/download/v0.27.2/controller.yaml⚡️ Пример использования:
- 📑 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- 🔒 2. Зашифруй его:
kubeseal --format=yaml < my-secret.yaml > my-sealed-secret.yaml- 🦊 3. Добавь
my-sealed-secret.yamlв Git. - 👨💻 4. Применяй зашифрованный секрет как обычный манифест:
kubectl apply -f my-sealed-secret.yaml✳️ Теперь секреты можно хранить в Git безопасно, автоматизировать их применение и быть уверенным в защите данных.
tags: #полезно #k8s #безопасность
🧭 @recura_tech



