fbpx
Тренінг
Kubernetes для Java розробників

У наші дні мікросервіси стали стандартом де-факто, тому очікування від Java розробників тепер поширюються як на написання коду, так й на його постачання різні оточення. Для цього не потрібно винаходити свої велосипеди, є вже готові рішення у вигляді Docker для контейнеризації мікросервісів та Kubernetes як платформи для оркестрації контейнерів. За допомогою даних інструментів Java розробник може ефективно розгортати, масштабувати, тестувати, моніторити та налагоджувати свій мікросервіс як на локальній машині, так і на зовнішніх оточеннях.

Цілі та завдання тренінгу

– розібратися із принципами створення cloud-native мікросервісів на прикладі платформи Spring Boot;
– cуттєво скоротити час на вивчення Docker/Kubernetes до рівня практичного використання;
– дізнатися про кращі практики та анти-патерни, накопичені з досвіду безлічі команд та компаній;
– розібратися в принципах роботи досить глибоко, щоб застосовувати інструменти з розумінням;
– одержати напрямки для подальшого поглибленого вивчення;
– зрозуміти як розвивається екосистема Docker/Kubernetes та де знаходити рішення для своїх проблем та завдань.

Цільова аудиторія

Java розробники, архітектори, технічні ліди

Вартість
$600
за учасника
Дата та час
27 годин / пн, ср, пт (16:00-19:00)
Місце
онлайн

Програма тренінгу

Частина 1:

– Короткий вступ до мікросервісної архітектури.
– Архітектурні атрибути як основний драйвер вимог до інфраструктури.
– Визначення cloud native для мікросервісів.
– Принципи побудови cloud native мікросервісів на Spring Boot.
– Docker та принципи незмінної інфраструктури.
– Упаковка Spring Boot мікросервісу в образі Docker.
– Використання контейнерів для ефективної локальної розробки.

Частина 2:

– Вимоги до сучасної платформи контейнерної оркестрації.
– Архітектура K8S та основні концепції.
– Принципи декларативного опису інфраструктури.
– Огляд різноманітних клієнтів для роботи з K8S API.
– Варіанти встановлення K8S.
– Детальне знайомство з kubectl.
– Можливості щодо валідації K8S маніфестів.

Частина 3:

– Pod як базова абстракція.
– Можливості розробника лише на рівні опису ресурсу Pod.
– Scheduler та його принцип роботи, можливості впливу на нього.
– Реалізація Service Discovery з урахуванням ресурсу Service.
– Масштабування та керування версіями за допомогою ресурсів Deployment та ReplicaSet.
– Гнучка конфігурація з ресурсом ConfigMap.
– Управління секретами за допомогою ресурсу Secret та альтернативні підходи.
– Вирішення адміністративних завдань за допомогою ресурсу DaemonSet, Job та CronJob.
– Принцип роботи сервісів зі станом при використанні ресурсу StatefulSet.
– Повноцінне розгортання Spring Boot мікросервісу K8S.
– Додаткові можливості з Spring Cloud Kubernetes.

Частина 4:

– Управління мережевою взаємодією у K8S.
– Управління HTTP трафіком за допомогою ресурсу Ingress.
– Безпека у K8S, реалізація RBAC.
– Варіанти автоматизації масштабування сервісів.
– Забезпечення високої доступності сервісу K8S.
– Інструменти для ефективної локальної розробки із K8S.
– Паттерни гнучкого деплойменту K8S.

Частина 5:

– Кастомізація маніфестів із Kustomize.
– Шаблонізація маніфестів з Helm.
– Використання Helm для повного циклу розгортання та конфігурації додатків у K8S.
– Зміна чи валідація ресурсів з Admission Control.
– Можливості з розширення K8S з CRD та операторами.
– Концепція Service Mesh з прикладу Istio.
– Організація CD у gitops стилі з ArgoCD.
– Анти-патерни використання K8S.