Создайте развертывание с помощью «kubectl create Deployment»

Sozdajte Razvertyvanie S Pomos U Kubectl Create Deployment



Kubernetes — это бесплатный дистрибутив с открытым исходным кодом, также известный как k8s. Он используется для автоматизации развертывания, управления и масштабирования контейнерного программного обеспечения и приложений. Он предоставляет различные компоненты для управления контейнерами, такие как узлы, плоскость управления, модули и развертывание Kubernetes. С помощью Kubernetes разработчики могут легко автоматизировать операционную задачу, откатить изменения, а также отслеживать и масштабировать контейнерные приложения и программное обеспечение.

В этом блоге мы объясним:







Что такое развертывание Kubernetes?

Развертывание Kubernetes называется объектом ресурса, который предоставляет декларативные инструкции и обновления его основных элементов, таких как модули Pod, ReplicaSet и контейнерные приложения. Развертывание Kubernetes позволяет разработчику описывать контейнерное приложение, например образ, количество модулей, порт, реплики и т. д. Одна из основных причин, почему Kubernetes лучше Docker, заключается в том, что он предлагает нам свойства автоматического восстановления и автоматического масштабирования, и эти состояния достижимы благодаря развертыванию Kubernetes.



Механизм «автовосстановления» — это метод автоматизации тестирования, который тестирует работающий объект и в случае возникновения какой-либо ошибки реализует наилучшее соответствие для исправления и применяет исправление для сопоставления фактического состояния с желаемым состоянием. При «автомасштабировании» сервис автоматически масштабирует рабочую нагрузку приложения.



Почему создание развертывания лучше, чем создание модулей?

Развертывание Kubernetes позволяет разработчику легко поддерживать работу группы одинаковых модулей с общей конфигурацией. Напротив, при создании модуля пользователи должны создавать и запускать модуль отдельно. При развертывании, если один модуль будет удален или прекращен, он будет автоматически воссоздан и запущен благодаря механизму автоматического восстановления. Но если модули выполняются напрямую без развертывания, в случае ошибки пользователям придется заново создать и запустить модуль вручную.





Что такое ReplicaSet в развертывании?

Когда разработчик создавал развертывание, были созданы три основных компонента, и ReplicaSet — один из них. ReplicaSet является контроллером развертывания и отвечает за запуск указанного количества модулей в развертывании. В случае удаления одного модуля ReplicaSet быстро дает команду восстановить новый модуль, чтобы его фактическое состояние соответствовало желаемому состоянию. Он в основном отвечает за предоставление декларативных обновлений для модулей.

Что такое команда «kubectl create Deployment»?

« kubectl создать развертывание » — это команда инструмента Kubectl, которая используется для создания и запуска развертывания Kubernetes. Затем развертывание инструктирует Kubernetes, как создавать и обновлять экземпляры вашего приложения.



Синтаксис

kubectl создать развертывание < имя-развертывания > --изображение '=' < имя-изображения > -- < вариант =значение >


Вариант

Команда «kubectl create Deployment» поддерживает различные параметры, обеспечивающие дополнительный уровень функциональности и дополнительные инструкции по развертыванию экземпляров приложения. Опции, поддерживаемые « kubectl создать развертывание ” приведена ниже в табличной форме:

Вариант Описание
«– –allow-missing-template-keys Если для его значения установлено значение true, он будет игнорировать любые ошибки в шаблонах, если в шаблоне отсутствует ключ карты или поле.
'- -пробный прогон Его значение может быть «нет», «сервер» или «клиент». Если значением является клиент, будет показан или напечатан только тот объект, который будет отправлен, без его отправки.

Если значение — сервер, будут отправляться только запросы на стороне сервера.

«– –полевой менеджер Показывает или устанавливает имя менеджера, используемое для отслеживания владения полем.
'- -изображение Укажите имя изображения, чтобы указать шаблон контейнера.
-o, «– –вывод Укажите выходной формат.
«--порт Он устанавливает порт для раскрытия контейнера.
-r, «– ​​–реплики Он используется для определения количества реплик модуля.
«– –save-config Он используется для сохранения конфигурации объекта в его аннотации. Если его значение ложно, аннотация останется неизменной.
«– –показать-управляемые-поля По умолчанию его значение ложно. Но если для него установлено значение true, управляемые поля будут сохраняться при печати объектов в формате JSON или YAML.
«– –validate=’строгое’ Его значение может быть «строгим», «предупреждать» или «игнорировать». Если он «строгий», он проверит ввод и отклонит запрос, если он недействителен.

Если его значение «предупреждать», оно будет предупреждать о повторяющихся и неизвестных полях.

Если его значение «игнорировать», проверка схемы выполняться не будет.

Предварительное условие: установите kubectl и minikube.

Чтобы запустить развертывание Kubernetes в кластере Kubernetes, сначала установите в системе следующие инструменты:

    • Инструмент Кубектл: Kubectl — это инструмент командной строки Kubernetes, который используется для контроля, управления и эксплуатации кластера Kubernetes и его компонентов, таких как развертывание Kubernetes.
    • Инструмент Миникуб: Minikube — это система реализации Kubernetes, которая предоставляет или создает в системе виртуальную машину для запуска кластера Kubernetes. Он может выполнять кластеры с одним узлом и в основном используется новичками или в целях тестирования.

Чтобы начать работу с Kubernetes и установить необходимые компоненты, такие как « кубектл ' и ' миникуб », просмотрите наши связанные « ' статья.

Как создать развертывание Kubernetes с помощью команды «kubectl create»?

Развертывание Kubernetes можно создать, применив манифест Yaml или « kubectl создать развертывание команда. Чтобы создать развертывание Kubernetes с помощью команды «kubectl create Deployment», следуйте приведенной ниже демонстрации.

Шаг 1. Запустите PowerShell.

Сначала запустите Windows PowerShell с правами администратора из меню «Пуск». Административные привилегии необходимы, поскольку minikube запускает кластер Kubernetes на виртуальной машине с помощью HyperV:


Шаг 2. Запустите кластер Kubernetes.

Чтобы запустить кластер Kubernetes, используйте команду « запуск миникуба » команда:

запуск миникуба



Шаг 3. Получите узлы Kubernetes

Затем получите доступ к узлам Kubernetes, чтобы проверить, запущен ли кластер или нет, используя « kubectl получить узлы » команда:

kubectl получить узлы



Шаг 4. Создайте развертывание Kubernetes

Создайте новое развертывание Kubernetes в кластере с помощью файла «k». ubectl create Deployment <имя-развертывания> «– –image=<имя-образа> команда. Для демонстрации мы создали «nginx-deployment», который будет выполнять приложение Nginx в модуле с использованием образа «nginx:stable-perl»:

kubectl создать развертывание nginx-deployment --изображение = nginx: стабильный Perl



Шаг 5. Получите развертывание Kubernetes, ReplicaSet и Pod

Команда «kubectl create Deployment» создаст три компонента: Deployment, ReplicaSet и Pod. Чтобы получить доступ к развертываниям Kubernetes, запустите команду « kubectl получить развертывание » команда:

kubectl получить развертывание


Здесь вы можете увидеть « nginx-развертывание доступен в кластере Kubernetes:


ReplicaSet — это контроллер развертывания, который обеспечивает безошибочную работу приложения в модулях и устраняет точки останова. Чтобы получить доступ к ReplicaSet, используйте команду « kubectl получить rs » команда:

kubectl получить rs


Здесь ReplicaSet показывает желаемое количество модулей и текущие запущенные модули:


Модуль — это меньшая единица кластера Kubernetes, в которой выполняется контейнерное приложение. Чтобы получить доступ к модулям Kubernetes, используйте команду « kubectl получить модули команда. Здесь « Параметр «используется для указания формата вывода. Чтобы просмотреть IP-адрес Pod, мы использовали « широкий » формат:

kubectl получить модули широкий



Шаг 6. Войдите в кластер Kubernetes.

Чтобы получить доступ к приложению, работающему в контейнере, сначала получите доступ к кластеру Kubernetes, используя команду « Миникуб SSH » команда:

миникуб сш



Шаг 7. Доступ к приложению, работающему в развертывании Kubernetes

После этого используйте « завиток » вместе с IP-адресом пода для доступа к контейнерному приложению:

локон 10.244.0.7


Как запустить реплики в развертывании Kubernetes с помощью команды «kubectl create Deployment»?

Создание развертывания Kubernetes лучше, чем запуск Pod, поскольку он может запускать и управлять группой модулей одновременно, создавая реплики Pod. Чтобы запустить реплики в развертывании Kubernetes с помощью команды «kubectl create Deployment», следуйте инструкциям ниже.

Шаг 1. Создайте развертывание Kubernetes

Сначала создайте развертывание, используя параметр « kubectl создать развертывание ” вместе с командой “ «— —реплики ' вариант. Значение опции «replicas» будет указывать желаемое количество модулей, которыми должен управлять и запускать ReplicaSet:

kubectl создать развертывание nginx-deployment --изображение = nginx: стабильный Perl --реплики '=' 2



Шаг 2. Получите развертывание Kubernetes, ReplicaSet и модули

Теперь получите доступ к развертыванию Kubernetes с помощью команды «kubectl get Deploy»:

kubectl получить развертывание


Здесь вы можете видеть, что развертывание показывает готовое, актуальное и доступное количество модулей:


Используйте приведенную ниже команду для доступа к информации ReplicaSet. Вы можете видеть, что ReplicaSet показывает статус желаемого количества модулей и выполняющихся в данный момент модулей:

kubectl получить rs



Аналогичным образом, чтобы получить доступ к работающим модулям, используйте следующую команду:

kubectl получить модули


Вывод показывает, что развертывание Kubernetes успешно выполняет желаемое количество реплик подов в кластере Kubernetes:

Как ReplicaSet управляет развертыванием Kubernetes?

ReplicaSet отвечает за запуск желаемого количества модулей в развертывании. Если один модуль сломан или удален, он автоматически создаст модуль заново, чтобы текущее состояние модулей соответствовало желаемому состоянию. Этот механизм фактически реализует технику автовосстановления. Для демонстрации следуйте инструкциям ниже.

Шаг 1. Просмотр живых модулей Kubernetes

Сначала просмотрите статус модулей в реальном времени, используя кнопку « kubectl получить модули -w команда. Также обратите внимание на имя модуля, который будет поврежден или удален:

kubectl получить модули



Шаг 2. Удаление модуля

Затем откройте другой терминал PowerShell и попробуйте удалить второй модуль, используя команду « kubectl удалить модули <имя-пода> » команда:

kubectl удалить модули nginx-deployment-7584b4674d-hbx4f


Вывод показывает, что мы успешно удалили модуль:


Теперь откройте окно PowerShell, в котором отображается статус модуля «Живой». Здесь вы можете видеть, что когда мы удалили под, ReplicaSet автоматически создал и запустил новый под, чтобы сопоставить текущий статус пода с желаемым статусом:


Мы рассмотрели метод создания развертывания Kubernetes с помощью команды «kubectl create Deployment».

Заключение

Чтобы создать развертывание Kubernetes с помощью « kubectl создать развертывание Сначала установите необходимые инструменты, такие как minikube и kubectl. После этого запустите новый кластер Kubernetes с помощью minikube. Теперь создайте новое развертывание, используя « kubectl create Deployment <имя-развертывания> «– –image=<имя-образа> команда. После этого просмотрите развертывание Kubernetes, ReplicaSet и Pods, используя « kubectl получить все команда. В этой статье показано, как создать развертывание Kubernetes с помощью « kubectl создать развертывание команда.