Основи Kubernetes
Доступно постійно
Цей курс допоможе вам розібратися в Kubernetes, освоїти базові концепції та навчитися керувати контейнерними додатками. Ви дізнаєтеся, як спростити оркестровку програмних контейнерів та масштабувати їх, використовуючи потужний інструментарій Kubernetes. Ідеально підходить для команд, які тільки починають використовувати Kubernetes, а також для тих, хто хоче розширити свої знання та вміння у хмарних технологіях.
- Доступно постійно
- Мова курсу українська
- Сертифікат по закінченню
Про курс
Хочете вивчити Kubernetes? The Linux Foundation та платформа Prometheus підготували для вас детальний посібник з цієї потужної системи для керування контейнерними додатками українською мовою. Ваша команда починає використовувати Kubernetes для оркестрування контейнерів? Вам потрібні рекомендації про те, як почати трансформацію вашої організації за допомогою Kubernetes та хмарних патернів? Хочете спростити оркестровку програмних контейнерів та знайти спосіб розширити використання Kubernetes без ускладнення інфраструктури? Тоді цей курс для вас! На цьому курсі ми обговоримо базові концепції Kubernetes, поговоримо про архітектуру системи, проблеми, які вона вирішує, та модель, яку вона використовує для роботи з розгортанням та масштабуванням контейнерів. Цей курс пропонує вступ до Kubernetes та містить технічні інструкції щодо розгортання автономних та багаторівневих застосунків. Ви дізнаєтесь про ConfigMaps та Secrets, а також про те, як використовувати Ingress. Після завершення курсу розробники матимуть чітке розуміння походження, архітектури та структурних елементів Kubernetes, а також зможуть розпочати тестування нової хмарної моделі, щоб розпочати свій шлях до хмарних технологій. Що потрібно знати слухачам?
-
Базові знання інтерфейсу командного рядка Linux (CLI).
-
Базові знання контейнерних технологій, таких як Docker, Rkt є обов'язковими.
-
Походження, архітектура, основні компоненти та блоки Kubernetes.
-
Як налаштувати кластер Kubernetes та отримати доступ до нього за допомогою Minikube?
-
Як запускати застосунки у розгорнутому середовищі Kubernetes та отримувати доступ до розгорнутих застосунків?
-
Корисність спільнот Kubernetes і як ви можете взяти участь
Партнери та донори курсу
Цей курс підходить для
Студентів
які вивчають програмування та прагнуть освоїти сучасні технології оркестрації контейнерів
Інженерів-розробників
які вже працюють з контейнерними технологіями, такими як Docker
DevOps-інженерів
які прагнуть оптимізувати процеси автоматизації та розгортання додатків у хмарному середовищі
Фахівців з ІТ
які прагнуть запровадити у своїх організаціях хмарні патерни та Kubernetes для підвищення ефективності роботи команд і розвитку хмарної інфраструктури.
Програма курсу
Привітання та вступ
·
Розділ 1. Від монолітної структури до мікросервісів
5 лекції ·
Більшість нових компаній сьогодні виконують свої бізнес-процеси у хмарах. Нові стартапи та підприємства, які вчасно змогли зрозуміти напрямок розвитку технологій, розробили власні застосунки для хмарних платформ. Не всім компаніям так пощастило. Деякі з них забезпечили свій успіх багато років тому, ще за часів старих технологій – монолітних програм, у яких усі компоненти було тісно пов’язані між собою і які практично неможливо роз’єднати, а їх розміщення і управління буде потребувати дуже дорогого обладнання.
Розділ 2. Оркестрування контейнерів
5 лекції ·
Образи контейнерів дозволяють нам обмежити код програми, час її виконання та всі залежності у заздалегідь визначеному форматі. Контейнерні середовища виконання, такі як runC, containerd або cri-o, можуть використовувати попередньо запаковані образи як джерело для створення і запуску одного або декількох контейнерів. Ці середовища виконання здатні запускати контейнери на одному хості, хоча на практиці хотілось би мати відмовостійке і масштабоване рішення, що досягається створенням єдиного контролера / управління, колекції кількох хостів, з'єднаних разом. Цей контролер / управлінський блок зазвичай називають оркестром контейнерів. У цьому розділі ми розберемось, чому варто використовувати оркестрування контейнерів, розглянемо різні способи оркестрування та де саме їх розгортати.
Розділ 3. Kubernetes
7 лекції ·
У цьому розділі ми поговоримо про Kubernetes, його можливості та причини використання саме його. Ми розглянемо еволюцію Kubernetes від Borg, менеджера розподілення робочих навантажень від Google. Ми також дізнаємося про Cloud Native Computing Foundation (CNCF), яка зараз опікується та розміщує проєкт Kubernetes, а також інші популярні хмарні проєкти, такі як Prometheus, Fluentd, cri-o, containerd, Helm, Envoy та Contour, і це лише для прикладу.
Розділ 4. Архітектура Kubernetes
18 лекції ·
У цьому розділі ми розглянемо архітектуру Kubernetes, компоненти ноди панелі керування, роль робочих нод, керування станом кластера за допомогою etcd та вимоги до налаштування мережі. Ми також дізнаємося про мережевий інтерфейс контейнера мережі (Container Network Interface, CNI) як мережеву специфікацію Kubernetes
Розділ 5. Інсталяція Kubernetes
6 лекції ·
У цьому розділі ми розглянемо питання розгортання кластерів Kubernetes. Спочатку ми дізнаємося про параметри конфігурації кластера Kubernetes, а потім про вимоги до інфраструктури та інструментів встановлення для різних моделей розгортання кластерів.
Розділ 6. Minikube - Інсталяція локальних кластерів Kubernetes
9 лекції ·
Minikube – це один із найпростіших, найгнучкіших та найпопулярніших методів запуску «все-в-одному» або кількома робочими нодами локального кластера Kubernetes, ізольованого віртуальними машинами (ВМ) або контейнерами безпосередньо на робочих станціях. Minikube – це інструмент для встановлення компонентів Kubernetes, завантаження кластера або його демонтажу. Він містить також додаткові функції, спрямовані на полегшення взаємодії користувача з кластером Kubernetes, але, тим не менш, ініціалізує також повністю функціональний невиробничий кластер, надзвичайно корисний для навчання. Minikube можна встановити на macOS, Windows та на багатьох дистрибутивах Linux. У цьому розділі ми розглянемо вимоги до локального встановлення Minikube на нашій робочій станції.
Розділ 7. Доступ до Minikube
15 лекії ·
У цьому розділі ми розглянемо різні методи доступу до кластера Kubernetes. Ми можемо використовувати різноманітні зовнішні клієнти або власні скрипти для доступу до кластера для адміністрування. Ми розглянемо kubectl як інтерфейс командного рядка (CLI) для керування кластером Minikube Kubernetes, та Kubernetes Dashboard як вебінтерфейс користувача для взаємодії з кластером, а також команду curl з належними обліковими даними для доступу до кластера через API.
Розділ 8. Структурні елементи Kubernetes
16 лекції ·
У цьому розділі ми дослідимо об'єктну модель Kubernetes і розглянемо деякі її основні структурні елементи, такі як ноди, простори імен, поди, ReplicaSets (набори копій), засоби розгортання, DaemonSets тощо. Ми також обговоримо важливу роль міток (labels) і селекторів в архітектурі, що керується мікросервісами, оскільки вони логічно поєднують відокремлені об'єкти.
Розділ 9. Автентифікація, авторизація, контроль доступу
12 лекції ·
Кожен запит API, який надходить до сервера API, має пройти кілька етапів контролю перш ніж сервер його схвалить і виконає. У цьому розділі ви дізнаєтеся про етапи автентифікації, авторизації та контролю допуску до API Kubernetes.
Розділ 10. Сервіси
13 лекції ·
У цьому розділі ви дізнаєтеся про об'єкти Сервісів, які використовуються для моделювання комунікації між мікросервісами внутрішнього кластера або із зовнішнім світом. Сервіс пропонує окремий запис DNS для контейнеризованого застосунку без статусу, керованого кластером Kubernetes, незалежно від кількості реплік. Він забезпечує спільну точку доступу до балансування навантаження логічно згрупованих і керованих контролером наборів подів, зокрема розгортанню (Deployment), ReplicaSet або DaemonSet.
Розділ 11. Розгортання автономних застосунків
18 лекції ·
У цьому розділі ми розповімо, як розгорнути застосунок за допомогою Dashboard (Kubernetes WebUI) та інтерфейсу командного рядка (CLI). Ми також опублікуємо застосунок з використанням сервісу типу NodePort та отримаємо до нього доступ за межами кластера Minikube.
Розділ 12. Керування томами у Kubernetes
7 лекції ·
У сучасній бізнес-моделі дані – найцінніший актив для багатьох стартапів і підприємств. У кластері Kubernetes контейнери в межах подів можуть бути або виробниками даних, або споживачами даних, або і тими, й іншими. І якщо деякі дані контейнера тимчасові, тобто не передбачено, що вони проінснують довше подів, то інші типи даних мають проіснувати довше подів, щоб агрегуватися та, за необхідності, завантажитися системами аналітики. Kubernetes має надавати ресурси для зберігання даних, що споживаються контейнерами, або для зберігання даних, створених контейнерами. Для керування даними контейнерів у Kubernetes використовуються томи кількох типів і трохи інші форми ресурсів зберігання для управління даними контейнера. У цьому розділі ми поговоримо про об'єкти PersistentVolume та PersistentVolumeClaim, які допоможуть прикріпити постійні сховища томів до подів.
Розділ 13. ConfigMaps та Secrets
14 лекції ·
Під час розгортання застосунку вам може знадобитися передати такі параметри виконання, як дані конфігурації, дозволи, паролі, ключі, сертифікати або токени. Припустимо, вам необхідно розгорнути десять різних застосунків для ваших клієнтів, і для кожного клієнта необхідно відобразити назву компанії в інтерфейсі користувача. Тоді, замість створення десяти різних образів Docker для кожного клієнта, ви можете просто використовувати один шаблонний образ та передавати назви клієнтів як параметри виконання. У таких випадках ви якраз можете використовувати ресурс ConfigMap API.
Розділ 14. Ingress
6 лекції ·
У попередньому розділі ми розглянули способи отримання доступу до нашого розгорнутого контейнеризованого застосунку із зовнішнього світу за допомогою сервісів. Серед типів сервісів найчастіше використовуються NodePort та LoadBalancer. Для типу сервісу LoadBalancer необхідна підтримка базової інфраструктури. Навіть за такої підтримки, ви можете не захотіти використовувати його для кожного сервісу, оскільки ресурси LoadBalancer обмежені і можуть значно збільшувати витрати. Керування типом сервісу NodePort іноді також може бути складним, оскільки необхідно постійно оновлювати налаштування проксі-сервера і відстежувати призначені порти. У цьому розділі ми опишемо ресурс API Ingress – ще один рівень абстракції, розгорнутий перед ресурсами API Service, і пропонує уніфікований метод керування доступом до наших застосунків із зовнішнього світу.
Розділ 15. Розширені можливості Kubernetes
14 лекції ·
У цьому курсі ми витратили більшість часу на розуміння основних концепцій Kubernetes і простих робочих процесів, щоб побудувати надійну базу. Для підтримки виробничих навантажень професійного рівня Kubernetes також підтримує багатонодові контролери подів, контролери стану застосунків, контролери пакетного виконання, автомасштабування, керування ресурсами і квотами, керування пакетами, контексти безпеки, мережеву та безпекову політики, тощо. У цьому розділі ми коротко розглянемо кілька цих складних тем, оскільки занурення в деталі вийшло б за межі цього курсу.
Розділ 16. Спільнота Kubernetes
10 лекції ·
Як і в будь-якому іншому проєкті з відкритим кодом, спільнота відіграє важливу роль у розробці Kubernetes. Спільнота визначає дорожню карту проєктів і працює над її реалізацією. Спільнота бере участь у різних онлайн та офлайн форумах, зокрема мітапах, каналах в Slack, щотижневих зустрічах тощо. У цьому розділі ви ознайомитеся зі спільнотою Kubernetes та дізнаєтеся, як доєднатися до неї.
Підсумковий іспит
·
Викладач
Кріс Покорні
Незалежний інструктор The Linux Foundation. Кріс має сертифікати CKA та CKAD і викладає курси Kubernetes для адміністраторів та розробників застосунків. Як консультант для невеликих та глобальних підприємств, Кріс проводить семінари та розробляє рішення для HA Middleware/ESB, моніторингу центрів обробки даних та гібридної хмарної архітектури.
Іноземні автори
Навчання в будь-який час
Практика
Сертифікат по закінченню
Маєте питання?
Курс безкоштовний?
В який час будуть проходити заняття?
Чи зможу я отримати сертифікат по завершенню цього курсу?
Не знайшли відповідь?
Центр допомоги