← До списку лабораторних по Kubernetes
Повний опис / сценарій лабораторної:
Мета: навчитися керувати тим коли 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. Міні звіт. Завдання: опиши правила роботи з тегами образів які ти введеш у команді.