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

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

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

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

Note
Дізнайтеся більше

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

Deployment гарантує, що потрібна кількість екземплярів застосунку (Pods) завжди працює, і спрощує впровадження оновлень або повернення до попередніх версій. 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

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

Suggested prompts:

What should I do if my pods are not starting as expected?

How can I update my application without downtime using Kubernetes?

Can you explain the difference between a Deployment and a Service in Kubernetes?

Awesome!

Completion rate improved to 3.7

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

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

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

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

Note
Дізнайтеся більше

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

Deployment гарантує, що потрібна кількість екземплярів застосунку (Pods) завжди працює, і спрощує впровадження оновлень або повернення до попередніх версій. 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