practicum

Оркестрация и Kubernetes

На прошлых уроках мы обсудили, для чего нужны контейнеры. Вы уже знаете, что хорошей практикой считается упаковывать каждый сервис в отдельный контейнер. Даже для простого интернет-сайта создаются как минимум два контейнера: для CMS-системы (например, WordPress) и для БД. Для работы серьёзного приложения и тем более набора приложений в облаке обычно приходится создавать множество контейнеров. Ими нужно управлять: отслеживать работоспособность и перезапускать при сбоях, обновлять, разворачивать, масштабировать, останавливать. Такое управление называется оркестрацией.Наиболее популярная система управления контейнерами — Kubernetes®, также известная как K8s. Это система с открытым исходным кодом, которая автоматизирует операции с контейнерами: мониторинг, распределение нагрузки, предоставление ресурсов и пр.С помощью Kubernetes решают разнообразные прикладные задачи. Например, кластеры Kubernetes разворачивают на телеком-вышках, при организации умного дома и даже для управления узлами автомобиля.

Из чего состоит Kubernetes

В Kubernetes контейнеры или наборы контейнеров размещаются на подах. Под (pod) — это логический хост. Один или несколько подов, а также сервисы для управления подами образуют узел, или ноду (node). Узел — это рабочая машина, виртуальная либо физическая. Однотипные узлы образуют группу узлов.В свою очередь, узлы объединяются в кластер. У каждого кластера есть своя панель управления (control plane), именно она и обеспечивает оркестрацию. Один из узлов кластера становится главным — мастером (master), он запускает управляющие процессы Kubernetes: сервер Kubernetes API, планировщик и контроллеры основных ресурсов.

image

В одном физическом кластере могут находиться несколько виртуальных. Виртуальный кластер называется пространством имён (namespace). В отличие от нод и подов, которые в кластере есть всегда, пространства имён надо использовать тогда, когда в них возникает реальная необходимость. Например, если приложение состоит из сервисов, то для каждого сервиса стоит создать пространство имён. Это поможет управлять разделением ресурсов физического кластера между сервисами.В кластер Kubernetes можно устанавливать расширения, облегчающие управление. Например, графический веб-интерфейс Dashboard или инструмент для мониторинга ресурсов кластера Container Resource Monitoring. Они необязательны. Единственное обязательное расширение — это внутренний DNS-сервер кластера. Он необходим для общения сервисов между собой.

Что делает Kubernetes

  • Автоматическое развёртывание. Вы можете описать состояние контейнеров в виде конфигурации, и Kubernetes автоматически обеспечит заданное состояние: будет развёртывать и удалять контейнеры, перераспределять ресурсы.
  • Мониторинг сервисов и балансировка. Kubernetes распределяет сетевой трафик так, чтобы развёртывание было стабильным.
  • Оркестрация хранилища. Kubernetes позволяет автоматически смонтировать систему хранения: локальное или облачное хранилище.
  • Самоконтроль. Kubernetes перезапускает отказавшие контейнеры, заменяет их и завершает работу контейнеров, которые не соответствуют заданному уровню работоспособности.

Yandex Managed Service for Kubernetes

Как вы наверняка догадались, Kubernetes довольно сложно администрировать, даже если использовать его вместе с облачным хранилищем и не заботиться о физическом предоставлении ресурсов. Чтобы упростить администрирование и интеграцию,  Yandex предлагает собственный сервис Managed Service for Kubernetes для работы в Yandex.Cloud.

  • При использовании Yandex Managed Kubernetes вы создаёте кластер и группы узлов. При этом мастер-ноды, пространство имён, сервис DNS и прочие необходимые элементы развёртываются автоматически. А за обслуживание и обновление всей инфраструктуры кластера отвечает облачный провайдер.
  • Приложения, помещённые в такой кластер, автоматически масштабируются: при пиковых нагрузках подтягивают ресурсы, при спаде — освобождают.
  • У Yandex Managed Kubernetes есть свой графический интерфейс. Дополнительные расширения не требуются.
  • Для хранения Docker-образов используйте Yandex Container Registry.
  • Мастер-узел можно настроить так, что он будет автоматически реплицироваться во всех зонах доступности Yandex.Cloud.
  • Благодаря интеграции с Yandex Identity and Access Management можно добавлять пользователей в кластеры Kubernetes по учётным записям вашей организации или почте на @yandex.ru.
Previous Story

Практическая работа. Создание докер-образа и загрузка его в Container Registry

Next Story

Практическая работа. Создание кластера

Latest from Blog

Zabbix – Docker – Raspberry Pi

Для начала установим Portainer – веб-интерфейс для управления docker-контейнерами. Бесплатно, удобно, подойдет новичкам в docker. Установка

Сетевая папка/диск в Linux

x.x.x.x адрес шары /mnt/shara точка монтирования user пользователь с доступом к шаре 1234 пароль пользователя Для

Памятка SSH

В статье описаны продвинутые функций OpenSSH, которые позволяют сильно упростить жизнь системным администраторам и программистам, которые

0 £0.00