Модуль 3.2: Екосистема CNCF
Складність:
[QUICK]- На основі знаньЧас на виконання: 20-25 хвилин
Передумови: Модуль 3.1 (Хмарні нативні принципи)
Що ви зможете робити
Розділ «Що ви зможете робити»Після завершення цього модуля ви зможете:
- Пояснити роль CNCF в управлінні cloud native проєктами та Kubernetes
- Порівняти рівні зрілості проєктів: sandbox, incubating та graduated
- Визначити ключові проєкти CNCF за категоріями (моніторинг, мережа, зберігання, безпека)
- Оцінити ландшафт CNCF для пошуку інструментів, що вирішують конкретні інфраструктурні проблеми
Чому цей модуль важливий
Розділ «Чому цей модуль важливий»Cloud Native Computing Foundation (CNCF) — це дім Kubernetes та сотень інших хмарних нативних проєктів. KCNA перевіряє ваші знання про CNCF, її проєкти та як вони поєднуються. Розуміння цієї екосистеми є критично важливим.
Що таке CNCF?
Розділ «Що таке CNCF?»┌─────────────────────────────────────────────────────────────┐│ CLOUD NATIVE COMPUTING FOUNDATION │├─────────────────────────────────────────────────────────────┤│ ││ Частина Linux Foundation ││ ││ Місія: ││ "Зробити хмарні нативні обчислення повсюдними" ││ ││ Що робить CNCF: ││ ───────────────────────────────────────────────────────── ││ • Розміщує проєкти з відкритим кодом ││ • Забезпечує управління та підтримку ││ • Сертифікує дистрибутиви Kubernetes ││ • Проводить конференції KubeCon ││ • Створює навчання та сертифікації (як KCNA!) ││ • Підтримує Cloud Native Landscape ││ ││ Засновано: 2015 ││ Перший проєкт: Kubernetes (переданий Google) ││ │└─────────────────────────────────────────────────────────────┘Рівні зрілості проєктів
Розділ «Рівні зрілості проєктів»Проєкти CNCF мають три рівні зрілості:
┌─────────────────────────────────────────────────────────────┐│ ЗРІЛІСТЬ ПРОЄКТІВ CNCF │├─────────────────────────────────────────────────────────────┤│ ││ GRADUATED ││ │ ││ │ Готовий до продакшену ││ │ Доведене впровадження ││ │ Стійке управління ││ │ ││ INCUBATING ││ │ ││ │ Зростаюче впровадження ││ │ Здорова спільнота ││ │ Технічна перевірка пройдена ││ │ ││ SANDBOX ││ │ ││ │ Ранній етап ││ │ Експериментальний ││ │ Перспективна технологія ││ ││ Шлях: Sandbox → Incubating → Graduated ││ │└─────────────────────────────────────────────────────────────┘Ключові Graduated проєкти
Розділ «Ключові Graduated проєкти»Це проєкти, готові до продакшену, які вам варто знати:
┌─────────────────────────────────────────────────────────────┐│ GRADUATED ПРОЄКТИ │├─────────────────────────────────────────────────────────────┤│ ││ KUBERNETES ││ Платформа оркестрації контейнерів ││ Фундамент cloud native ││ ││ PROMETHEUS ││ Моніторинг та алертинг ││ База даних часових рядів для метрик ││ ││ ENVOY ││ Service proxy / площина даних ││ Використовується service mesh (Istio) ││ ││ CONTAINERD ││ Середовище виконання контейнерів ││ Типове середовище виконання для Kubernetes ││ ││ HELM ││ Менеджер пакетів для Kubernetes ││ Charts для встановлення застосунків ││ ││ ETCD ││ Розподілене сховище ключ-значення ││ Kubernetes використовує його для стану ││ ││ FLUENTD ││ Збір та пересилання логів ││ Уніфікований шар логування ││ ││ HARBOR ││ Реєстр контейнерів ││ Зі сканування безпеки ││ ││ І багато інших... ││ │└─────────────────────────────────────────────────────────────┘Категорії проєктів
Розділ «Категорії проєктів»| Категорія | Приклади |
|---|---|
| Середовище виконання контейнерів | containerd, CRI-O |
| Оркестрація | Kubernetes |
| Service Mesh | Istio, Linkerd |
| Спостережуваність | Prometheus, Jaeger, Fluentd |
| Сховище | Rook, Longhorn |
| Мережа | Cilium, Calico, CoreDNS |
| Безпека | Falco, OPA, SPIFFE |
| CI/CD | Argo, Flux, Tekton |
| Управління пакетами | Helm |
CNCF Landscape
Розділ «CNCF Landscape»┌─────────────────────────────────────────────────────────────┐│ CNCF LANDSCAPE │├─────────────────────────────────────────────────────────────┤│ ││ landscape.cncf.io ││ ││ Що це: ││ • Інтерактивна карта хмарних нативних технологій ││ • Включає проєкти CNCF ТА комерційні продукти ││ • Організовано за категоріями ││ ││ ┌─────────────────────────────────────────────────────┐ ││ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ ││ │ │Provision│ │ Runtime │ │ Orchestr│ │ App Def │ │ ││ │ │ ing │ │ │ │ ation │ │ │ │ ││ │ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │ ││ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ ││ │ │Platform │ │Observab │ │Serverles│ │ Special │ │ ││ │ │ │ │ility │ │ s │ │ │ │ ││ │ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │ ││ └─────────────────────────────────────────────────────┘ ││ ││ 1000+ проєктів та продуктів! ││ ││ Використовуйте для: ││ • Пошуку інструментів для конкретних потреб ││ • Порівняння альтернатив ││ • Перегляду популярних/зрілих проєктів ││ │└─────────────────────────────────────────────────────────────┘Ключові проєкти для KCNA
Розділ «Ключові проєкти для KCNA»Стек спостережуваності
Розділ «Стек спостережуваності»┌─────────────────────────────────────────────────────────────┐│ СПОСТЕРЕЖУВАНІСТЬ │├─────────────────────────────────────────────────────────────┤│ ││ PROMETHEUS (Graduated) ││ ───────────────────────────────────────────────────────── ││ • Збір та зберігання метрик ││ • Модель на основі витягування (pull) ││ • Мова запитів PromQL ││ • AlertManager для алертів ││ ││ GRAFANA (Не CNCF, але часто використовується разом) ││ ───────────────────────────────────────────────────────── ││ • Дашборди та візуалізація ││ • Працює з Prometheus ││ ││ JAEGER (Graduated) ││ ───────────────────────────────────────────────────────── ││ • Розподілене трасування ││ • Відстеження запитів між сервісами ││ ││ FLUENTD (Graduated) ││ ───────────────────────────────────────────────────────── ││ • Збір логів ││ • Маршрутизація логів до сховища ││ ││ OPENTELEMETRY (Incubating) ││ ───────────────────────────────────────────────────────── ││ • Уніфікований фреймворк спостережуваності ││ • Трейси, метрики, логи ││ • Незалежний від постачальника ││ │└─────────────────────────────────────────────────────────────┘Мережа та Service Mesh
Розділ «Мережа та Service Mesh»┌─────────────────────────────────────────────────────────────┐│ МЕРЕЖА │├─────────────────────────────────────────────────────────────┤│ ││ ENVOY (Graduated) ││ ───────────────────────────────────────────────────────── ││ • L7 проксі ││ • Площина даних для service mesh ││ • Динамічна конфігурація через API ││ ││ ISTIO (Не CNCF — але дуже популярний) ││ ───────────────────────────────────────────────────────── ││ • Service mesh ││ • Використовує Envoy ││ • Управління трафіком, безпека, спостережуваність ││ ││ LINKERD (Graduated) ││ ───────────────────────────────────────────────────────── ││ • Service mesh ││ • Легковаговий, зосереджений на простоті ││ ││ CILIUM (Graduated) ││ ───────────────────────────────────────────────────────── ││ • Мережа на основі eBPF ││ • CNI плагін ││ • Мережеві політики, спостережуваність ││ ││ COREDNS (Graduated) ││ ───────────────────────────────────────────────────────── ││ • DNS сервер для Kubernetes ││ • Типовий DNS у Kubernetes ││ │└─────────────────────────────────────────────────────────────┘Безпека
Розділ «Безпека»┌─────────────────────────────────────────────────────────────┐│ БЕЗПЕКА │├─────────────────────────────────────────────────────────────┤│ ││ FALCO (Graduated) ││ ───────────────────────────────────────────────────────── ││ • Безпека під час виконання ││ • Виявляє аномальну поведінку ││ • Використовує моніторинг syscall ││ ││ OPA - OPEN POLICY AGENT (Graduated) ││ ───────────────────────────────────────────────────────── ││ • Політика як код ││ • Контроль допуску ││ • Універсальний механізм політик ││ ││ SPIFFE/SPIRE (Graduated) ││ ───────────────────────────────────────────────────────── ││ • Ідентифікація сервісів ││ • Автентифікація навантажень ││ • Безпека нульової довіри ││ │└─────────────────────────────────────────────────────────────┘Сертифікації CNCF
Розділ «Сертифікації CNCF»┌─────────────────────────────────────────────────────────────┐│ СЕРТИФІКАЦІЇ CNCF │├─────────────────────────────────────────────────────────────┤│ ││ Сертифікації Kubernetes: ││ ───────────────────────────────────────────────────────── ││ ││ KCNA - Kubernetes and Cloud Native Associate ││ • Початковий рівень, множинний вибір ││ • Фундаментальні знання ││ • ЦЕЙ іспит! ││ ││ KCSA - Kubernetes and Cloud Native Security Associate ││ • Основи безпеки ││ • Множинний вибір ││ ││ CKA - Certified Kubernetes Administrator ││ • Практичний, на основі виконання ││ • Адміністрування кластерів ││ ││ CKAD - Certified Kubernetes Application Developer ││ • Практичний, на основі виконання ││ • Розгортання застосунків ││ ││ CKS - Certified Kubernetes Security Specialist ││ • Практичний, на основі виконання ││ • Зміцнення безпеки ││ • Вимагає спочатку CKA ││ ││ Шлях: KCNA → CKA/CKAD → CKS ││ Усі пʼять = Kubestronaut! ││ │└─────────────────────────────────────────────────────────────┘Чи знали ви?
Розділ «Чи знали ви?»-
Kubernetes був першим — Kubernetes був першим великим проєктом з відкритим кодом, переданим Google до CNCF у 2015 році.
-
TOC вирішує випуск — Технічний наглядовий комітет (TOC) голосує, які проєкти випускаються, на основі впровадження та технічних критеріїв.
-
KubeCon — масштабний — KubeCon + CloudNativeCon — одна з найбільших конференцій з відкритим кодом, з 10 000+ учасниками.
-
Ландшафт величезний — CNCF Landscape має 1000+ проєктів та продуктів. Це може бути приголомшливо — спочатку зосередьтесь на graduated/incubating проєктах.
Поширені помилки
Розділ «Поширені помилки»| Помилка | Чому це шкодить | Правильне розуміння |
|---|---|---|
| Думати що всі інструменти в ландшафті — CNCF | Ландшафт включає не-CNCF інструменти | Перевіряйте приналежність проєкту |
| Ігнорувати рівні зрілості | Можете використати експериментальні проєкти в продакшені | Для продакшену надавайте перевагу graduated |
| Плутати схожі проєкти | Використання неправильного інструменту | Розумійте призначення проєктів |
| Запамʼятовувати всі проєкти | Їх занадто багато | Зосередьтесь на graduated |
Тест
Розділ «Тест»-
Які три рівні зрілості проєктів CNCF?
Відповідь
Sandbox (ранній етап), Incubating (зростаюче впровадження) та Graduated (готовий до продакшену). Проєкти просуваються через ці рівні на основі впровадження та технічних критеріїв. -
Для чого використовується Prometheus?
Відповідь
Моніторинг та алертинг. Він збирає та зберігає метрики як дані часових рядів, надає PromQL для запитів та AlertManager для алертів. Це graduated проєкт CNCF. -
Що таке Envoy?
Відповідь
Graduated проєкт CNCF, що забезпечує функціональність L7 проксі. Це площина даних для service mesh, таких як Istio. Він обробляє маршрутизацію трафіку, балансування навантаження та спостережуваність на мережевому краю. -
Що таке CNCF Landscape?
Відповідь
Інтерактивна карта на landscape.cncf.io, що показує хмарні нативні технології. Включає проєкти CNCF та комерційні продукти, організовані за категоріями. Допомагає знаходити та порівнювати інструменти. -
Які пʼять сертифікацій роблять Kubestronaut?
Відповідь
KCNA (Associate), KCSA (Security Associate), CKA (Administrator), CKAD (Application Developer) та CKS (Security Specialist). Усі пʼять мають бути отримані та підтримуватися.
Підсумок
Розділ «Підсумок»CNCF:
- Cloud Native Computing Foundation
- Частина Linux Foundation
- Розміщує Kubernetes та 100+ проєктів
Зрілість проєктів:
- Sandbox → Incubating → Graduated
- Graduated = готовий до продакшену
Ключові проєкти за категоріями:
- Оркестрація: Kubernetes
- Середовище виконання: containerd
- Спостережуваність: Prometheus, Jaeger, Fluentd
- Мережа: Envoy, CoreDNS, Cilium
- Безпека: Falco, OPA
- Управління пакетами: Helm
Сертифікації:
- KCNA → CKA/CKAD → CKS
- Усі пʼять = Kubestronaut
Наступний модуль
Розділ «Наступний модуль»Модуль 3.3: Хмарні нативні патерни - Service mesh, serverless та інші хмарні нативні архітектурні патерни.