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

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

Kubernetes Лабораторна 58: Політика оновлення образів

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

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

Тема: Оновлення образів через imagePullPolicy та tag

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

Мета: навчитися керувати тим коли kubelet завантажує нові версії образів через imagePullPolicy та теги.



Крок 1. Створити deployment з тегом latest.

Команда: kubectl create deployment img-demo --image=nginx:latest -o yaml --dry-run=client > img-demo.yaml

Пояснення: тег latest часто призводить до неочікуваних оновлень.



Крок 2. Перевірити значення imagePullPolicy за замовчуванням.

Команда: kubectl apply -f img-demo.yaml; kubectl get deploy img-demo -o yaml | grep imagePullPolicy -n

Пояснення: для latest політика зазвичай Always.



Крок 3. Змінити тег на конкретну версію.

Пояснення: встанови образ nginx:1.27 і залиш imagePullPolicy IfNotPresent.



Крок 4. Оновити deployment.

Команда: kubectl apply -f img-demo.yaml

Пояснення: kubelet не перезавантажуватиме образ доки його немає локально.



Крок 5. Зробити force перезавантаження pod.

Команда: kubectl rollout restart deployment/img-demo

Пояснення: pod будуть перезапущені з тією ж версією образу без повторного завантаження при IfNotPresent.



Крок 6. Зімітувати публікацію нового образу з тим самим тегом.

Пояснення: у реальній системі це погана практика але допомагає показати ефект.



Крок 7. Встановити imagePullPolicy Always.

Пояснення: тепер при кожному старті pod kubelet перевірятиме наявність нової версії.



Крок 8. Перезапустити deployment і простежити час старту.

Пояснення: зверни увагу на додатковий час завантаження при великому образі.



Крок 9. Обговорити стратегію тегування образів.

Пояснення: продумай використання незмінних тегів типу v1 v2 і окремих тегів для середовищ.



Крок 10. Міні звіт.

Завдання: опиши правила роботи з тегами образів які ти введеш у команді.