Посібник по кроках для розгортання вашого першого застосунку на Kubernetes

Готові зробити перші кроки у світі Kubernetes? Розгортання вашого першого застосунку на Kubernetes може здатися складним, але цей посібник спростить процес для вас. Дотримуючись цих кроків, ви зможете швидко запустити застосунок у вашому кластері Kubernetes. Давайте зануримось і зробимо вашу подорож у Kubernetes успішною!

pic

Що ви дізнаєтесь з цього посібника

  • Як контейнеризувати ваш застосунок для Kubernetes
  • Як завантажити ваш Docker образ до контейнерного реєстру
  • Як написати та застосувати маніфести Kubernetes
  • Як усувати поширені помилки

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

Передумови

Перед тим, як почати, переконайтесь, що у вас є:

  1. Кластер Kubernetes: Використовуйте Minikube для локального налаштування або хмарні сервіси, такі як Google Kubernetes Engine (GKE), Amazon EKS або Azure AKS.
  2. Встановлений kubectl: Інструмент командного рядка для взаємодії з вашим кластером Kubernetes.
  3. Встановлений Docker: Для контейнеризації вашого застосунку.
  4. Базові знання YAML: Маніфести Kubernetes використовують синтаксис YAML.

Крок 1: Контейнеризуйте ваш застосунок

Kubernetes працює з контейнеризованими застосунками. Якщо ви ще не контейнеризували ваш застосунок, ось як це зробити:

  1. Напишіть Dockerfile: Створіть Dockerfile у вашій директорії проекту. Наприклад, для Node.js застосунку:
FROM node:14  
WORKDIR /app  
COPY package*.json ./  
RUN npm install  
COPY . .  
CMD ["node", "app.js"]  
EXPOSE 3000
  1. Побудуйте Docker образ:
docker build -t myapp:1.0 .
  1. Перевірте образ локально:
docker run -p 3000:3000 myapp:1.0

Крок 2: Завантажте образ до контейнерного реєстру

Щоб розгорнути на Kubernetes, ваш образ має бути у контейнерному реєстрі. Дотримуйтесь цих кроків:

  1. Увійдіть у Docker Hub:
docker login
  1. Позначте ваш образ:
docker tag myapp:1.0 /myapp:1.0
  1. Завантажте образ:
docker push /myapp:1.0

Крок 3: Створіть маніфести Kubernetes

Kubernetes використовує маніфести для визначення ресурсів. Вам знадобляться Deployment та Service.

Маніфест для Deployment

Deployment керує Pods вашого застосунку. Створіть файл deployment.yaml:

apiVersion: apps/v1  
kind: Deployment  
metadata:  
 name: myapp-deployment  
spec:  
 replicas: 2  
 selector:  
 matchLabels:  
 app: myapp  
 template:  
 metadata:  
 labels:  
 app: myapp  
 spec:  
 containers:  
 - name: myapp  
 image: /myapp:1.0  
 ports:  
 - containerPort: 3000

Маніфест для Service

Service експонує ваш застосунок. Створіть файл service.yaml:

apiVersion: v1  
kind: Service  
metadata:  
 name: myapp-service  
spec:  
 selector:  
 app: myapp  
 ports:  
 - protocol: TCP  
 port: 80  
 targetPort: 3000  
 type: LoadBalancer

Крок 4: Розгорніть на Kubernetes

Використовуйте kubectl для застосування маніфестів і створення ресурсів у вашому кластері:

  1. Застосуйте Deployment:
kubectl apply -f deployment.yaml
  1. Застосуйте Service:
kubectl apply -f service.yaml
  1. Перевірте ресурси:
kubectl get all

Ви побачите ваші Pods, Deployment та Service, які працюють.

Крок 5: Доступ до вашого застосунку

Якщо ви використовуєте хмарний кластер, Service надасть зовнішній IP. Використовуйте команду:

kubectl get service myapp-service

Відкрийте зовнішній IP у вашому браузері, щоб отримати доступ до застосунку. Для локальних налаштувань використовуйте:

minikube service myapp-service

Поширені проблеми та усунення неполадок

  1. Pod аварійно завершується або не запускається: Перевірте журнали:
kubectl logs 

2. Відлагодження Pods:

kubectl describe pod 

3. Перегляд подій у кластері:

kubectl get events

Висновок

Вітаємо з розгортанням вашого першого застосунку на Kubernetes! Цей етап є початком вашої подорожі в Kubernetes.
З цією базовою інформацією ви тепер можете досліджувати більш складні теми, такі як масштабування, поетапні оновлення та моніторинг. Kubernetes — це потужна платформа, яка розвивається разом з вашими потребами, і її освоєння відкриє двері для управління застосунками на великій масштабі. Почніть експериментувати та піднімайте свої навички на новий рівень!

Перекладено з: Step-by-Step Guide to Deploying Your First Application on Kubernetes

Leave a Reply

Your email address will not be published. Required fields are marked *