← До списку лабораторних по Kubernetes
Повний опис / сценарій лабораторної:
Мета: навчитися зберігати tls сертифікати в secret і підключати їх до контейнера як файли. Крок 1. Підготувати self signed сертифікат. Пояснення: за допомогою openssl створи ключ і сертифікат для тестового домену. Крок 2. Створити tls secret. Команда: kubectl create secret tls web-tls --cert=cert.pem --key=key.pem Пояснення: це спеціальний тип secret для tls. Крок 3. Написати deployment з nginx який використовує tls файли. Опис: контейнер nginx з змонтованим томом secret у каталог наприклад /etc/nginx/tls. Пояснення: конфіг nginx має посилатися на ці файли сертифіката і ключа. Крок 4. Застосувати deployment. Команда: kubectl apply -f deploy-tls-nginx.yaml Пояснення: pod отримує файли з secret у файловій системі. Крок 5. Перевірити вміст каталогу з сертифікатами. Команда: kubectl exec -it <pod-tls> -- ls /etc/nginx/tls Пояснення: має бути видно файли cert і key. Крок 6. Створити service типу ClusterIP для nginx. Команда: kubectl expose deployment tls-nginx --name=tls-nginx-svc --port=443 --target-port=443 Пояснення: підготуємо доступ до https сервісу зсередини кластера. Крок 7. Створити pod клієнт і перевірити https. Команда: kubectl run tls-client --rm -it --image=radial/busyboxplus:curl --restart=Never -- sh Пояснення: виконай curl -k https://tls-nginx-svc щоб перевірити відповіді. Крок 8. Оновити сертифікат у secret. Пояснення: створи новий сертифікат і повторно виконай kubectl create secret tls з параметром apply. Крок 9. Перезапустити deployment. Команда: kubectl rollout restart deployment/tls-nginx Пояснення: нові pod підхоплять оновлені tls файли. Крок 10. Міні звіт. Завдання: опиши переваги використання secret замість зберігання ключів в образі контейнера.