← До списку лабораторних по Kubernetes
Повний опис / сценарій лабораторної:
Мета: навчитися використовувати kubectl diff для попереднього перегляду змін та server side apply для кращого керування конфігом. Крок 1. Створити простий deployment через yaml. Команда: kubectl create deployment diff-demo --image=nginx -o yaml --dry-run=client > diff-demo.yaml Пояснення: базовий маніфест для експериментів. Крок 2. Застосувати yaml у кластері. Команда: kubectl apply -f diff-demo.yaml Пояснення: створиться deployment з початковими параметрами. Крок 3. Внести зміни у yaml. Пояснення: наприклад додай env або змінити кількість replica. Крок 4. Виконати kubectl diff. Команда: kubectl diff -f diff-demo.yaml Пояснення: у виводі видно різницю між поточним станом і новим yaml. Крок 5. Застосувати зміни з server side apply. Команда: kubectl apply -f diff-demo.yaml --server-side Пояснення: kube api зберігає інформацію про поля власника конфігу. Крок 6. Переглянути managedFields у ресурсі. Команда: kubectl get deploy diff-demo -o yaml Пояснення: у managedFields видно які клієнти змінювали які поля. Крок 7. Зімітувати конфлікт змін. Пояснення: зміни частину полів через kubectl patch або через інший yaml і спробуй ще раз застосувати свій файл. Крок 8. Проаналізувати повідомлення про конфлікт. Пояснення: зрозумій які поля конфліктують і чому server side apply їх захищає. Крок 9. Вирішити конфлікт коректним редагуванням yaml. Пояснення: відредагуй файл так щоб відображав бажаний кінцевий стан і повтори apply. Крок 10. Міні звіт. Завдання: опиши чому server side apply зручний для gitops і спільної роботи кількох команд.