← До списку лабораторних по Kubernetes
Повний опис / сценарій лабораторної:
Мета: навчитися зберігати чутливі дані в secret і підключати їх через env. Крок 1. Створити secret для доступу до бази. Команда: kubectl create secret generic db-secret --from-literal=DB_USER=appuser --from-literal=DB_PASSWORD=SuperSecret123 Пояснення: створюється секрет типу opaque. Крок 2. Перевірити, що secret існує. Команда: kubectl get secret db-secret Пояснення: переконайся, що запис зявився. Крок 3. Подивитися yaml secret. Команда: kubectl get secret db-secret -o yaml Пояснення: значення зберігаються в полі data у вигляді base64. Крок 4. Створити deployment, що читає secret в env. Ідея: контейнер busybox, який виводить змінні DB_USER і DB_PASSWORD, потім виконує sleep. Пояснення: імітується доступ додатка до бази. Крок 5. Застосувати deployment. Команда: kubectl apply -f deploy-secret.yaml Пояснення: створюється pod secret-demo. Крок 6. Переглянути логи pod. Команда: kubectl logs <secret-demo-pod> Пояснення: виводяться значення залогіну. У реальній системі такі логи не варто зберігати. Крок 7. Оновити пароль у secret. Команда: kubectl create secret generic db-secret --from-literal=DB_USER=appuser --from-literal=DB_PASSWORD=NewSecret456 -o yaml --dry-run=client | kubectl apply -f - Пояснення: так обережно оновлюється секрет. Крок 8. Перезапустити deployment. Команда: kubectl rollout restart deployment/secret-demo Пояснення: нові pod отримають новий пароль. Крок 9. Перевірити логи нового pod. Команда: kubectl logs <новий-secret-demo-pod> Пояснення: переконайся, що використовується нове значення. Крок 10. Міні звіт. Завдання: опиши, чому секрети не можна тримати у звичайних configmap або в коді.