Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Налаштування та Запуск Розгортання Kubernetes | CI/CD та Автоматизація
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Вступ до DevOps

bookНалаштування та Запуск Розгортання Kubernetes

Тепер, коли ваш застосунок стабільно працює всередині контейнерів, наступним викликом є оркестрація та керування цими контейнерами у масштабі. Саме тут на допомогу приходить Kubernetes.

Для початку необхідно визначити бажаний стан вашого застосунку за допомогою файлів YAML. Один файл описує Deployment, який відповідає за оновлення та масштабування, а інший — Service, який відкриває застосунок у мережі та робить його доступним для користувачів.

Note
Додаткове вивчення

YAML (YAML Ain't Markup Language) — це формат конфігураційних файлів, зручний для читання людиною. Його часто використовують для опису інфраструктури, автоматизації процесів та зберігання налаштувань застосунків.

Deployment гарантує, що потрібна кількість екземплярів застосунку (Pod) завжди працює, а також спрощує впровадження оновлень або повернення до попередніх версій. Service відкриває ці контейнери у мережі та розподіляє вхідний трафік між ними.

Запуск Minikube

Note
Визначення

Minikube — це легкий інструмент, який дозволяє запускати локальний кластер Kubernetes на вашому комп'ютері. Він створює віртуальне середовище для тестування та дослідження Kubernetes без необхідності використання хмарних сервісів.

Після встановлення Minikube та додавання його до системної змінної PATH, відкрийте PowerShell (або інший термінал) і виконайте:

Ця команда перевіряє наявність Minikube та відображає встановлену версію.

Після підтвердження встановлення Minikube запустіть локальний кластер Kubernetes за допомогою:

Ця команда створює та запускає локальний кластер Kubernetes на вашому комп'ютері. Вона завантажує необхідні компоненти та запускає керуючу площину й робочі вузли.

Розгортання: Виведення застосунку

Почніть зі створення файлу deployment.yaml. Deployment у Kubernetes гарантує, що певна кількість Pod (екземплярів застосунку) завжди працює, а також дозволяє оновлювати або відкотити їх без простою.

deployment.yaml

deployment.yaml

copy

У цьому маніфесті параметр replicas визначає, скільки екземплярів Pod повинно працювати одночасно — у цьому випадку, два. Щоб визначити, якими Pod керувати, Deployment використовує комбінацію selector і labels: selector виступає фільтром для пошуку Pod із певною міткою, а шаблон Pod визначає цю мітку. Коли мітки збігаються, Deployment вважає ці Pod своїми та відповідає за підтримку їхньої кількості, оновлення та перезапуск у разі потреби.

Усі Pod працюють на порті 3000. Вони можуть використовувати один і той самий порт, оскільки кожен Pod функціонує у власному ізольованому мережевому просторі, тому між ними немає конфлікту.

Service: Мережевий доступ до застосунку

Після створення Deployment необхідно додати Service для забезпечення мережевого доступу та балансування навантаження між Pod. Створіть файл service.yaml:

service.yaml

service.yaml

copy

Цей маніфест визначає Service з назвою my-app-service, який спрямовує трафік до Pod з міткою app: my-app. Сервіс слухає на порту 80 зовні та пересилає запити на порт 3000 всередині Pod.

Тип LoadBalancer є важливим, оскільки він відкриває застосунок зовнішньому доступу та розподіляє трафік між Pod.

Розгортання застосунку в Kubernetes

Після підготовки YAML-файлів їх можна застосувати до кластера:

kubectl apply -f deployment.yaml
kubectl apply -f service.yaml

Команда kubectl apply -f створює або оновлює ресурси в кластері на основі вмісту YAML-файлів.

Перевірка статусу

Після застосування конфігураційних файлів важливо переконатися, що все було розгорнуто відповідно до очікувань. Оскільки Pod та Сервіси потребують певного часу для запуску, спочатку перегляньте список запущених Pod:

Якщо у файлі deployment.yaml вказано replicas: 2, у виведенні має з’явитися два Pod.

Для підтвердження, що Сервіс працює та доступний:

Це відобразить IP-адресу Сервісу та порти, через які можна отримати доступ до застосунку.

Отримання URL сервісу

Щоб отримати доступ до вашого застосунку, виконайте наступну команду у PowerShell або вашому терміналі:

Ця команда запитує у Minikube повернення URL, за якою ваш застосунок доступний. Minikube перевіряє створений вами сервіс (my-app-service) і надає посилання, яке можна відкрити у браузері.

Масштабування застосунку

Kubernetes дозволяє легко змінювати кількість запущених Pod без зупинки застосунку.

Наприклад, щоб змінити кількість реплік з 2 до 4:

Повторний запуск kubectl get pods тепер покаже чотири активні Pod.

Kubernetes надає потужні інструменти для керування контейнеризованими застосунками на будь-якому масштабі. Deployment гарантує, що потрібна кількість Pod запущена, а також дозволяє легко оновлювати або відкотити зміни. Service відкриває застосунок для мережі та балансує вхідний трафік. Конфігураційні файли YAML роблять налаштування зрозумілим і читабельним, а команди kubectl дозволяють застосовувати та керувати цими конфігураціями в реальному часі.

1. Яке основне призначення Deployment у Kubernetes?

2. Чому кілька Pod можуть працювати на одному й тому ж номері порту (наприклад, 3000) без конфліктів?

question mark

Яке основне призначення Deployment у Kubernetes?

Select the correct answer

question mark

Чому кілька Pod можуть працювати на одному й тому ж номері порту (наприклад, 3000) без конфліктів?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 9

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

bookНалаштування та Запуск Розгортання Kubernetes

Свайпніть щоб показати меню

Тепер, коли ваш застосунок стабільно працює всередині контейнерів, наступним викликом є оркестрація та керування цими контейнерами у масштабі. Саме тут на допомогу приходить Kubernetes.

Для початку необхідно визначити бажаний стан вашого застосунку за допомогою файлів YAML. Один файл описує Deployment, який відповідає за оновлення та масштабування, а інший — Service, який відкриває застосунок у мережі та робить його доступним для користувачів.

Note
Додаткове вивчення

YAML (YAML Ain't Markup Language) — це формат конфігураційних файлів, зручний для читання людиною. Його часто використовують для опису інфраструктури, автоматизації процесів та зберігання налаштувань застосунків.

Deployment гарантує, що потрібна кількість екземплярів застосунку (Pod) завжди працює, а також спрощує впровадження оновлень або повернення до попередніх версій. Service відкриває ці контейнери у мережі та розподіляє вхідний трафік між ними.

Запуск Minikube

Note
Визначення

Minikube — це легкий інструмент, який дозволяє запускати локальний кластер Kubernetes на вашому комп'ютері. Він створює віртуальне середовище для тестування та дослідження Kubernetes без необхідності використання хмарних сервісів.

Після встановлення Minikube та додавання його до системної змінної PATH, відкрийте PowerShell (або інший термінал) і виконайте:

Ця команда перевіряє наявність Minikube та відображає встановлену версію.

Після підтвердження встановлення Minikube запустіть локальний кластер Kubernetes за допомогою:

Ця команда створює та запускає локальний кластер Kubernetes на вашому комп'ютері. Вона завантажує необхідні компоненти та запускає керуючу площину й робочі вузли.

Розгортання: Виведення застосунку

Почніть зі створення файлу deployment.yaml. Deployment у Kubernetes гарантує, що певна кількість Pod (екземплярів застосунку) завжди працює, а також дозволяє оновлювати або відкотити їх без простою.

deployment.yaml

deployment.yaml

copy

У цьому маніфесті параметр replicas визначає, скільки екземплярів Pod повинно працювати одночасно — у цьому випадку, два. Щоб визначити, якими Pod керувати, Deployment використовує комбінацію selector і labels: selector виступає фільтром для пошуку Pod із певною міткою, а шаблон Pod визначає цю мітку. Коли мітки збігаються, Deployment вважає ці Pod своїми та відповідає за підтримку їхньої кількості, оновлення та перезапуск у разі потреби.

Усі Pod працюють на порті 3000. Вони можуть використовувати один і той самий порт, оскільки кожен Pod функціонує у власному ізольованому мережевому просторі, тому між ними немає конфлікту.

Service: Мережевий доступ до застосунку

Після створення Deployment необхідно додати Service для забезпечення мережевого доступу та балансування навантаження між Pod. Створіть файл service.yaml:

service.yaml

service.yaml

copy

Цей маніфест визначає Service з назвою my-app-service, який спрямовує трафік до Pod з міткою app: my-app. Сервіс слухає на порту 80 зовні та пересилає запити на порт 3000 всередині Pod.

Тип LoadBalancer є важливим, оскільки він відкриває застосунок зовнішньому доступу та розподіляє трафік між Pod.

Розгортання застосунку в Kubernetes

Після підготовки YAML-файлів їх можна застосувати до кластера:

kubectl apply -f deployment.yaml
kubectl apply -f service.yaml

Команда kubectl apply -f створює або оновлює ресурси в кластері на основі вмісту YAML-файлів.

Перевірка статусу

Після застосування конфігураційних файлів важливо переконатися, що все було розгорнуто відповідно до очікувань. Оскільки Pod та Сервіси потребують певного часу для запуску, спочатку перегляньте список запущених Pod:

Якщо у файлі deployment.yaml вказано replicas: 2, у виведенні має з’явитися два Pod.

Для підтвердження, що Сервіс працює та доступний:

Це відобразить IP-адресу Сервісу та порти, через які можна отримати доступ до застосунку.

Отримання URL сервісу

Щоб отримати доступ до вашого застосунку, виконайте наступну команду у PowerShell або вашому терміналі:

Ця команда запитує у Minikube повернення URL, за якою ваш застосунок доступний. Minikube перевіряє створений вами сервіс (my-app-service) і надає посилання, яке можна відкрити у браузері.

Масштабування застосунку

Kubernetes дозволяє легко змінювати кількість запущених Pod без зупинки застосунку.

Наприклад, щоб змінити кількість реплік з 2 до 4:

Повторний запуск kubectl get pods тепер покаже чотири активні Pod.

Kubernetes надає потужні інструменти для керування контейнеризованими застосунками на будь-якому масштабі. Deployment гарантує, що потрібна кількість Pod запущена, а також дозволяє легко оновлювати або відкотити зміни. Service відкриває застосунок для мережі та балансує вхідний трафік. Конфігураційні файли YAML роблять налаштування зрозумілим і читабельним, а команди kubectl дозволяють застосовувати та керувати цими конфігураціями в реальному часі.

1. Яке основне призначення Deployment у Kubernetes?

2. Чому кілька Pod можуть працювати на одному й тому ж номері порту (наприклад, 3000) без конфліктів?

question mark

Яке основне призначення Deployment у Kubernetes?

Select the correct answer

question mark

Чому кілька Pod можуть працювати на одному й тому ж номері порту (наприклад, 3000) без конфліктів?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 9
some-alt