0Pricing
DevOps Bootcamp · Урок

Развёртывание простого приложения

Используйте kubectl, чтобы развернуть базовое контейнеризированное приложение в кластере Minikube.

«Развёртывание простого приложения» — бесплатный урок DevOps Bootcamp на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения DevOps Bootcamp, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс DevOps Bootcamp содержит 4 уроков всего.

Первое приложение в Kubernetes

Добро пожаловать! На этом уроке вы сделаете важный шаг: развернёте своё первое приложение в кластере Minikube.

Мы будем использовать мощный инструмент командной строки kubectl, чтобы управлять путём приложения от кода до работающего сервиса.

Развёртывание простого приложения — иллюстрация 1

Знакомство с развёртываниями

В Kubernetes развёртывание — это способ сообщить кластеру, как запустить приложение.

  • Оно управляет набором одинаковых копий приложения (поды).
  • Оно обеспечивает постоянную работу заданного количества этих копий.
  • Представьте его как чертёж и диспетчер экземпляров приложения.

Развёртывание с помощью `kubectl`

Проще всего запустить приложение с помощью команды kubectl create deployment.

Достаточно указать имя развёртывания и образ контейнера, который нужно запустить. Kubernetes позаботится обо всём остальном!

Создание первого развёртывания

Давайте развернём простой веб-сервер Nginx. Эта команда сообщает Kubernetes, что нужно создать развёртывание с именем nginx-deployment, используя образ Docker nginx.

kubectl create deployment nginx-deployment --image=nginx

Выполните эту команду в терминале, где запущен Minikube.

Проверка развёртывания

После выполнения команды Kubernetes начнёт создавать необходимые ресурсы. Проверить их состояние можно так:

  • Чтобы просмотреть развёртывание: kubectl get deployments
  • Чтобы просмотреть поды, созданные развёртыванием: kubectl get pods

Найдите своё nginx-deployment и соответствующие ему поды!

Почему сервисы так важны

Ваш под Nginx работает, но как пользователи получают к нему доступ?

  • У подов временные IP-адреса.
  • Поды могут завершить работу и быть заменены, получив новые IP-адреса.
  • Сервис предоставляет стабильную сетевую конечную точку и служит шлюзом к подам.

Он обеспечивает доставку трафика к работоспособному поду, даже если поды создаются и удаляются.

Открытие доступа к приложению

Чтобы сделать Nginx доступным, мы создадим сервис с помощью kubectl expose. Укажем имя развёртывания и порт.

kubectl expose deployment nginx-deployment --type=NodePort --port=80

Эта команда создаёт сервис, который направляет внешний трафик на порт 80 подов Nginx.

Локальный доступ к приложению

Теперь, когда сервис открыл доступ к развёртыванию Nginx, Minikube поможет вам обратиться к нему.

Выполните следующую команду, и Minikube откроет окно браузера с веб-сервером Nginx!

minikube service nginx-deployment

Вы должны увидеть страницу «Welcome to nginx!».

Очистка кластера

Хорошая практика — удалять ресурсы, которые больше не нужны. Это освобождает ресурсы в кластере Minikube.

  • Чтобы удалить сервис: kubectl delete service nginx-deployment
  • Чтобы удалить развёртывание (вместе с его подами): kubectl delete deployment nginx-deployment

Всегда сначала удаляйте сервис, а затем развёртывание.

Быстрая проверка

Вы успешно развернули приложение и открыли к нему доступ! Какую последовательность команд kubectl нужно использовать, чтобы сначала развернуть приложение с именем my-app из образа busybox, а затем открыть к нему доступ как к сервису типа NodePort на порту 8080?

Повторение: приложение работает!

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

  • С помощью kubectl create deployment мы запустили контейнер.
  • С помощью kubectl expose deployment мы сделали его доступным через сервис.
  • Мы обратились к нему с помощью minikube service, а затем удалили ресурсы с помощью kubectl delete.

Теперь вы ещё на шаг ближе к освоению Kubernetes!

Часто задаваемые вопросы

Урок «Развёртывание простого приложения» бесплатный?

Да — полный текст урока «Развёртывание простого приложения» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс DevOps Bootcamp, подпишись на CoddyKit PRO. Курс DevOps Bootcamp содержит 4 уроков всего.

Чему я научусь в уроке «Развёртывание простого приложения»?

Используйте kubectl, чтобы развернуть базовое контейнеризированное приложение в кластере Minikube. Ты практикуешь DevOps Bootcamp с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать DevOps Bootcamp?

Предыдущий опыт не требуется. DevOps Bootcamp на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «Развёртывание простого приложения»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке DevOps Bootcamp?

Да. Каждый урок DevOps Bootcamp включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Установка и настройка Minikube
  2. Kubeconfig и контексты
  3. Развёртывание простого приложения
  4. Проверка и устранение неполадок в кластере
← Назад к DevOps Bootcamp