Розширення Kubernetes
Будуйте НА Kubernetes, а не просто ВИКОРИСТОВУЙТЕ його.
Цей напрямок призначений для інженерів, яким потрібно розширювати саму платформу Kubernetes — писати власні контролери, оператори, вебхуки допуску та плагіни планувальника. У цьому й полягає різниця між користувачем K8s та будівничим платформи на основі K8s.
Усі модулі містять реальний код мовою Go, придатний до компіляції.
Модулі
Розділ «Модулі»| # | Модуль | Час | Що ви побудуєте |
|---|---|---|---|
| 1.1 | Архітектура API та розширюваність | 3 год | Програма на Go з Informer із client-go |
| 1.2 | Поглиблене вивчення CRD | 3 год | Складний CRD із валідацією, версіонуванням, субресурсами |
| 1.3 | Контролери з client-go | 5 год | Власний контролер з нуля (без фреймворків) |
| 1.4 | Kubebuilder та оператори | 4 год | Згенерований оператор із Reconciler |
| 1.5 | Розробка операторів: поглиблений рівень | 5 год | Finalizers, Conditions, Events, envtest |
| 1.6 | Вебхуки допуску | 4 год | Мутаційний вебхук, що впроваджує sidecar |
| 1.7 | Плагіни планувальника | 4 год | Власний плагін Score + вторинний планувальник |
| 1.8 | Агрегація API | 5 год | Сервер розширення API (Extension API Server) |
Загальний час: ~33 години
Передумови
Розділ «Передумови»- Сертифікація CKA або еквівалентний досвід роботи з Kubernetes
- Програмування мовою Go (від базового до середнього рівня)
- Модуль CKA 1.5: CRD та оператори є вступом — цей напрямок занурюється значно глибше