← До фільтрів та технологій

← До списку лабораторних по Kubernetes

Kubernetes Лабораторна 33: Mount Secret з tls сертифікатами

Технологія: Kubernetes

Номер лабораторної: 33 · Рівень: middle

Тема: Secret як том для tls сертифікатів

Повний опис / сценарій лабораторної:

Мета: навчитися зберігати 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 замість зберігання ключів в образі контейнера.