Тренінг

Kubernetes для Java розробників

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

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

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

Замовити для компанії

Детальна програма

Частина 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.

Історія проведення

  • 6-25 березня, 2024онлайн9 занять у Zoom по понеділках, середах та п'ятницях з 16:00 до 19:00 (3 години).
  • 18 вересня - 6 жовтня, 2023онлайн9 занять у Zoom по понеділках, середах та п'ятницях з 16:00 до 19:00 (3 години).
  • 9-28 листопада, 2022онлайн9 занять у Zoom по понеділках, середах та п'ятницях з 17:00 до 20:00 (3 години).
  • 7-26 вересня, 2022онлайн9 занять у Zoom по понеділках, середах та п'ятницях з 17:00 до 20:00 (3 години).
  • 14 червня - 2 липня, 2022онлайн9 занять у Zoom по вівторках та четвергах з 17:00 до 20:00 (3 години), а також суботах з 10:00 до 13:00 (3 години).
  • 4-20 травня, 2022онлайн8 занять у Zoom по понеділках, середах та п'ятницях з 17:00 до 20:00 (3 години).
  • 11-29 квітня, 2022онлайн9 занять у Zoom по понеділках, середах та п'ятницях з 17:00 до 20:00 (3 години).
  • 13-14 березня, 2020Київ, УкраїнаТренінг “Kubernetes for Java developers”