Kubernetes

Kubernetes - это платформа с открытым исходным кодом для автоматизации развертывания, масштабирования и управления контейнеризованными приложениями в кластерном режиме.

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

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

Основные возможности Kubernetes

  • Обнаружение сервисов и балансировка нагрузки. Kubernetes предоставляет доступ к контейнерным сервисам через DNS-имена или выделенные IP-адреса. Поддерживается распределение сетевой нагрузки между экземплярами приложения.

  • Оркестрация хранилищ. Возможно автоматическое подключение систем хранения: локальных, внешних и облачных.

  • Автоматизированные развёртывания и откаты. Администратор определяет целевое состояние приложения, а Kubernetes приводит фактическое состояние в соответствие с ним. Поддерживается последовательное обновление контейнеров и откат изменений при ошибках.

  • Оптимальное размещение контейнеров. Кластер предоставляет ресурсы (ЦП, ОЗУ), а Kubernetes размещает контейнеры с учётом заданных ограничений и оптимальной загрузки узлов.

  • Самовосстановление сервисов. Платформа автоматически перезапускает контейнеры при сбоях, заменяет неисправные экземпляры и исключает их из обработки трафика до полной готовности.

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

  • Поддержка пакетных и CI-нагрузок. Kubernetes управляет пакетными заданиями и задачами конвейеров CI/CD, обеспечивая замену контейнеров при сбоях.

  • Горизонтальное масштабирование. Изменение количества экземпляров приложения возможно вручную или автоматически, например на основе нагрузки процессора.

  • IPv4/IPv6 Dual-Stack. Поддержка одновременного использования IPv4 и IPv6 для Pods и сервисов.

  • Расширяемая архитектура. Система поддерживает расширение функциональности через плагины и операторы без модификации исходного кода Kubernetes.

Создание и запуск кластера

  1. Перейдите в Оркестрация > Kubernetes

  2. Нажмите кнопку Создать кластер

Alternative text Alternative text
  1. Укажите необходимые параметры:

  • Имя - Имя должно начинаться с заглавной буквы или строчной буквы и представлять собой строку от 1 до 128 символов, символы могут содержать только 0-9, a-z, A-Z, а-я, А-Я, пробелы допускаются

  • Описание - укажите описание (опционально)

  • Версия Kubernetes - выберите версию

  • Сетевой плагин - выберите плагин

  • Внутренняя сеть - выберите сеть

  • Внешняя сеть - выберите сеть

  • Число рабочих узлов - укажите число

  • Тип рабочего инстанса - выберите тип

Дополнительные параметры:

  • Тип инстанса Control Plane - При необходимости, выберите размер инстанса, на котором будут располагаться управляющие компоненты Kubernetes

  • Тип инстанса ETCD - При необходимости, выберите размер инстанса etcd, используемого в качестве консистентного хранилища состояний кластера.

  1. Подтвердите конфигурацию

  2. Кластер создан. Система перенаправит вас в список кластеров, где виден кластер в состоянии «Создаётся». После создания записи о создании кластера, система меняет статус кластера на «Не заполнен», активирует кнопку запуска кластера. Необходимо нажать кнопку Запустить. После завершения запуска система поменяет статус кластера на «Запущен» и отобразит кнопку для скачивания файла с конфигом для доступа к кластеру.

  3. Скачайте конфигурацию для доступа и сохраните ее на своем компьютере.

Остановка кластера

Для остановки кластера перейдите в Оркестрация > Kubernetes

  1. Выберите нужный кластер со статусом Запущен

  2. Кликните меню кластера и выберите Остановить

Alternative text
  1. Подтвердите остановку

  2. Кластер остановлен

Редактирование кластера

При необходимости вы можете изменить имя кластера:

  1. Перейдите в Оркестрация > Kubernetes.

  2. Выберите нужный кластер.

  3. Нажмите действие Редактировать.

Введите новое имя и подтвердите изменения.

Удаление кластера

Для удаления кластера перейдите в Оркестрация > Kubernetes

  1. Выберите нужный кластер

  2. Кликните меню кластера и выберите Удалить

  3. Подтвердите удаление

  4. Через некоторое время кластер (и созданные для него ресурсы) будут удалены.