Kubernetes · 3 min read · Dec 09, 2025

Создание вашего первого развертывания в кластере Kubernetes

** В этой статье мы рассмотрим, как создать ваше первое развертывание в кластере Kubernetes. В качестве примера мы создадим развертывание для Nginx.

Как только у нас будет работающий кластер Kubernetes, мы сможем развернуть наши контейнеризованные приложения на его основе. Мы можем создать конфигурацию развертывания Kubernetes для достижения этой цели.

Развертывание предоставляет декларативные обновления для Pods и ReplicaSets. Мы описываем желаемое состояние в развертывании, и контроллер развертывания изменяет фактическое состояние на желаемое состояние с контролируемой скоростью.

Мы можем создать и управлять развертыванием, используя интерфейс командной строки Kubernetes “kubectl”. Kubectl использует API Kubernetes для взаимодействия с кластером.

Существует три стадии в жизненном цикле развертывания:

  1. Прогрессирование: Kubernetes помечает развертывание как прогрессирующее, когда развертывание создает новый ReplicaSet, развертывание увеличивает количество экземпляров своего нового ReplicaSet или уменьшает количество экземпляров своего старого ReplicaSet, или новые Pods становятся готовыми или доступными.
  2. Завершено: Kubernetes помечает развертывание как завершенное, когда все реплики, связанные с развертыванием, были обновлены, доступны, и нет старых реплик для развертывания, которые работают.
  3. Неудача: Это может произойти из-за недостаточной квоты, сбоев проверки готовности, ошибок извлечения образа или недостаточных прав.

Предварительные требования

  1. Учетная запись AWS (создайте одну, если у вас ее нет)
  2. Кластер Kubernetes

Примечание: Вы также можете использовать ВМ для создания кластера, если не хотите пробовать на экземплярах AWS EC2.

Что мы будем делать

  1. Создать развертывание Kubernetes для Nginx.

Создание развертывания Kubernetes для Nginx

Чтобы создать наше первое развертывание, давайте просто создадим новый каталог для создания нашего файла объекта/развертывания. Используйте следующую команду, чтобы создать новый каталог в вашей системе

mkdir my-first-deployment
cd my-first-deployment/

Прежде чем продолжить, проверьте статус кластера.

Чтобы проверить доступные узлы в кластере и версию “kubectl“, используйте следующие команды.

sudo kubectl version
sudo kubectl get nodes

Как только у вас есть доступные узлы в вашем кластере, вы готовы создать ваше развертывание.

Создайте файл “my-first-deployment.yml” с следующим блоком кода

vim my-first-deployment.yml

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.7.9
        ports:
        - containerPort: 80

Здесь,

  • apiVersion: APIVersion определяет версию схемы этого представления объекта.
  • kind: Тип объекта, который вы хотите создать, например, развертывание, служба, конфигурационная карта и т. д.
  • name: Имя должно быть уникальным в пределах пространства имен.
  • labels: Карта строковых ключей и значений, которые могут быть использованы для организации и категоризации объектов.
  • spec: Спецификация желаемого поведения развертывания.
  • replicas: Количество желаемых подов.
  • selector: Селектор меток для подов. Существующие ReplicaSets, чьи поды выбираются этим, будут теми, на кого повлияет это развертывание. Он должен соответствовать меткам шаблона пода.

Теперь вы готовы создать ваше развертывание, используя следующие команды.

sudo kubectl apply -f my-first-deployment.yml
sudo kubectl get deployments

kubectl apply

На приведенном выше скриншоте вы можете видеть, что развертывание было создано с двумя подами, которые доступны для использования.

Вы можете получить детали подов, используя следующую команду.

sudo kubectl get pods

kubectl get pods

Если вы хотите узнать больше о развертывании, вы можете использовать эту команду “kubectl describe”, чтобы получить полные детали развертывания.

sudo kubectl get deployments
sudo kubectl describe deployments nginx-deployment

kubectl get deployments

Если вам больше не требуется развертывание, вы можете удалить его, используя команду “kubectl delete”.

sudo kubectl get deployments
sudo kubectl delete deployments nginx-deployment
sudo kubectl get deployments

kubectl get deployments

На приведенном выше скриншоте вы можете видеть, что развертывание больше не доступно после его удаления.

После удаления развертывания поды также удаляются.

Вы можете проверить доступность подов, используя следующую команду.

sudo kubectl get pods

На приведенном выше скриншоте вы можете видеть, что поды были удалены после удаления развертывания и недоступны.

Заключение

В этой статье мы рассмотрели шаги по созданию вашего первого развертывания Nginx на Kubernetes. Мы также увидели, как можно извлечь детали о развертывании. Кроме того, мы изучили команды для удаления развертывания.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.