Перейти до вмісту

Модуль 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, її проєкти та як вони поєднуються. Розуміння цієї екосистеми є критично важливим.


┌─────────────────────────────────────────────────────────────┐
│ 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 MeshIstio, Linkerd
СпостережуваністьPrometheus, Jaeger, Fluentd
СховищеRook, Longhorn
МережаCilium, Calico, CoreDNS
БезпекаFalco, OPA, SPIFFE
CI/CDArgo, Flux, Tekton
Управління пакетамиHelm

┌─────────────────────────────────────────────────────────────┐
│ 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) │
│ ───────────────────────────────────────────────────────── │
│ • Уніфікований фреймворк спостережуваності │
│ • Трейси, метрики, логи │
│ • Незалежний від постачальника │
│ │
└─────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────┐
│ МЕРЕЖА │
├─────────────────────────────────────────────────────────────┤
│ │
│ 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 │
├─────────────────────────────────────────────────────────────┤
│ │
│ Сертифікації 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

  1. Які три рівні зрілості проєктів CNCF?

    Відповідь Sandbox (ранній етап), Incubating (зростаюче впровадження) та Graduated (готовий до продакшену). Проєкти просуваються через ці рівні на основі впровадження та технічних критеріїв.
  2. Для чого використовується Prometheus?

    Відповідь Моніторинг та алертинг. Він збирає та зберігає метрики як дані часових рядів, надає PromQL для запитів та AlertManager для алертів. Це graduated проєкт CNCF.
  3. Що таке Envoy?

    Відповідь Graduated проєкт CNCF, що забезпечує функціональність L7 проксі. Це площина даних для service mesh, таких як Istio. Він обробляє маршрутизацію трафіку, балансування навантаження та спостережуваність на мережевому краю.
  4. Що таке CNCF Landscape?

    Відповідь Інтерактивна карта на landscape.cncf.io, що показує хмарні нативні технології. Включає проєкти CNCF та комерційні продукти, організовані за категоріями. Допомагає знаходити та порівнювати інструменти.
  5. Які пʼять сертифікацій роблять 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 та інші хмарні нативні архітектурні патерни.