Налаштування та Запуск Розгортання Kubernetes
Тепер, коли ваш застосунок стабільно працює всередині контейнерів, наступним викликом є оркестрація та керування цими контейнерами у масштабі. Саме тут на допомогу приходить Kubernetes.
Для початку необхідно визначити бажаний стан вашого застосунку за допомогою файлів YAML. Один файл описує Deployment, який відповідає за оновлення та масштабування, а інший — Service, який відкриває застосунок у мережі та робить його доступним для користувачів.
YAML (YAML Ain't Markup Language) — це формат конфігураційних файлів, зручний для читання людиною. Його часто використовують для опису інфраструктури, автоматизації процесів та зберігання налаштувань застосунків.
Deployment гарантує, що потрібна кількість екземплярів застосунку (Pod) завжди працює, а також спрощує впровадження оновлень або повернення до попередніх версій. Service відкриває ці контейнери у мережі та розподіляє вхідний трафік між ними.
Запуск Minikube
Minikube — це легкий інструмент, який дозволяє запускати локальний кластер Kubernetes на вашому комп'ютері. Він створює віртуальне середовище для тестування та дослідження Kubernetes без необхідності використання хмарних сервісів.
Після встановлення Minikube та додавання його до системної змінної PATH, відкрийте PowerShell (або інший термінал) і виконайте:
Ця команда перевіряє наявність Minikube та відображає встановлену версію.
Після підтвердження встановлення Minikube запустіть локальний кластер Kubernetes за допомогою:
Ця команда створює та запускає локальний кластер Kubernetes на вашому комп'ютері. Вона завантажує необхідні компоненти та запускає керуючу площину й робочі вузли.
Розгортання: Виведення застосунку
Почніть зі створення файлу deployment.yaml. Deployment у Kubernetes гарантує, що певна кількість Pod (екземплярів застосунку) завжди працює, а також дозволяє оновлювати або відкотити їх без простою.
deployment.yaml
У цьому маніфесті параметр replicas визначає, скільки екземплярів Pod повинно працювати одночасно — у цьому випадку, два. Щоб визначити, якими Pod керувати, Deployment використовує комбінацію selector і labels: selector виступає фільтром для пошуку Pod із певною міткою, а шаблон Pod визначає цю мітку. Коли мітки збігаються, Deployment вважає ці Pod своїми та відповідає за підтримку їхньої кількості, оновлення та перезапуск у разі потреби.
Усі Pod працюють на порті 3000. Вони можуть використовувати один і той самий порт, оскільки кожен Pod функціонує у власному ізольованому мережевому просторі, тому між ними немає конфлікту.
Service: Мережевий доступ до застосунку
Після створення Deployment необхідно додати Service для забезпечення мережевого доступу та балансування навантаження між Pod. Створіть файл service.yaml:
service.yaml
Цей маніфест визначає 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) без конфліктів?
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Чудово!
Completion показник покращився до 3.7
Налаштування та Запуск Розгортання Kubernetes
Свайпніть щоб показати меню
Тепер, коли ваш застосунок стабільно працює всередині контейнерів, наступним викликом є оркестрація та керування цими контейнерами у масштабі. Саме тут на допомогу приходить Kubernetes.
Для початку необхідно визначити бажаний стан вашого застосунку за допомогою файлів YAML. Один файл описує Deployment, який відповідає за оновлення та масштабування, а інший — Service, який відкриває застосунок у мережі та робить його доступним для користувачів.
YAML (YAML Ain't Markup Language) — це формат конфігураційних файлів, зручний для читання людиною. Його часто використовують для опису інфраструктури, автоматизації процесів та зберігання налаштувань застосунків.
Deployment гарантує, що потрібна кількість екземплярів застосунку (Pod) завжди працює, а також спрощує впровадження оновлень або повернення до попередніх версій. Service відкриває ці контейнери у мережі та розподіляє вхідний трафік між ними.
Запуск Minikube
Minikube — це легкий інструмент, який дозволяє запускати локальний кластер Kubernetes на вашому комп'ютері. Він створює віртуальне середовище для тестування та дослідження Kubernetes без необхідності використання хмарних сервісів.
Після встановлення Minikube та додавання його до системної змінної PATH, відкрийте PowerShell (або інший термінал) і виконайте:
Ця команда перевіряє наявність Minikube та відображає встановлену версію.
Після підтвердження встановлення Minikube запустіть локальний кластер Kubernetes за допомогою:
Ця команда створює та запускає локальний кластер Kubernetes на вашому комп'ютері. Вона завантажує необхідні компоненти та запускає керуючу площину й робочі вузли.
Розгортання: Виведення застосунку
Почніть зі створення файлу deployment.yaml. Deployment у Kubernetes гарантує, що певна кількість Pod (екземплярів застосунку) завжди працює, а також дозволяє оновлювати або відкотити їх без простою.
deployment.yaml
У цьому маніфесті параметр replicas визначає, скільки екземплярів Pod повинно працювати одночасно — у цьому випадку, два. Щоб визначити, якими Pod керувати, Deployment використовує комбінацію selector і labels: selector виступає фільтром для пошуку Pod із певною міткою, а шаблон Pod визначає цю мітку. Коли мітки збігаються, Deployment вважає ці Pod своїми та відповідає за підтримку їхньої кількості, оновлення та перезапуск у разі потреби.
Усі Pod працюють на порті 3000. Вони можуть використовувати один і той самий порт, оскільки кожен Pod функціонує у власному ізольованому мережевому просторі, тому між ними немає конфлікту.
Service: Мережевий доступ до застосунку
Після створення Deployment необхідно додати Service для забезпечення мережевого доступу та балансування навантаження між Pod. Створіть файл service.yaml:
service.yaml
Цей маніфест визначає 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) без конфліктів?
Дякуємо за ваш відгук!