Поиск по сайту:

Как создать управляемый кластер Kubernetes в DigitalOcean


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

Зачем использовать управляемый Kubernetes?

Можно установить Kubernetes на собственное оборудование. Популярные решения для самостоятельного запуска Kubernetes включают MicroK8 и K3.

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

Управляемый сервис Kubernetes от DigitalOcean позволяет создать кластер Kubernetes всего за несколько минут. Он поддерживает полный API Kubernetes, автоматическое масштабирование узлов и автоматическое обновление версии Kubernetes.

DigitalOcean бесплатно предоставляет плоскость управления Kubernetes — вы платите только за те узлы, которые добавляете в кластер. Узлы в DigitalOcean используют существующие экземпляры облачных вычислений платформы, называемые «дроплетами». Они доступны в различных размерах и начинаются с 10 долларов США в месяц за один виртуальный ЦП с 2 ГБ ОЗУ.

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

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

Начните с входа в свою учетную запись DigitalOcean. Нажмите зеленую кнопку «Создать» в правом верхнем углу экрана. Выберите «Kubernetes» в появившемся меню.

Начните с выбора используемой версии Kubernetes. На момент написания доступны основные выпуски 1.17, 1.18 и 1.19. Рекомендуется использовать новейшую версию (1.19), если у вас нет особой причины этого не делать.

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

Выбор емкости кластера

Прокрутите вниз до раздела «Выберите емкость кластера». Здесь вы можете определить узлы, которые будут доступны для кластера. На этих узлах будут выполняться рабочие нагрузки вашего кластера. Узлы будут автоматически организованы плоскостью управления Kubernetes, предоставляемой DigitalOcean.

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

Раскрывающийся список «Тип машины» позволяет выбрать, какой тип капли DigitalOcean использовать. Стоит просмотреть таблицу цен на капли, если вы не уверены в различиях между каждым типом. Мы будем придерживаться «базовых узлов», которые обеспечивают хороший баланс между производительностью вычислений и доступной памятью.

Выберите вариант капли для использования в раскрывающемся списке «План узла». Чтобы сократить расходы, мы используем наименьший доступный вариант — 1 виртуальный ЦП и 1 ГБ ОЗУ по цене 10 долларов США в месяц за узел. DigitalOcean называет это «планом развития», поскольку имеющихся ресурсов вряд ли хватит для долгосрочного использования в производстве.

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

Когда вы закончите добавлять свои узлы, прокрутите страницу вниз и дайте имя своему кластеру. Нажмите кнопку «Создать кластер», чтобы начать процесс подготовки. Это займет до пяти минут.

Начало работы с вашим кластером

Пока вы ждете, вы можете щелкнуть руководство «Начало работы», отображаемое вверху страницы. Это поможет вам загрузить kubectl, официальный клиент командной строки Kubernetes, и doctl, собственный клиент DigitalOcean.

Следующий шаг позволяет вам загрузить файл конфигурации Kubernetes вашего кластера. Это можно использовать с kubectl для подключения к вашему кластеру — после загрузки передайте его путь в качестве значения флага --kubeconfig:

kubectl --kubeconfig=kubeconfig-path.yaml get nodes

Приведенная выше команда выведет список сведений обо всех узлах в вашем кластере.

При использовании этого метода имейте в виду, что срок действия сертификата проверки подлинности истекает через неделю. Вам нужно будет повторно загрузить его, когда таймер истечет. Альтернативный подход использует doctl для извлечения файла конфигурации и настройки автоматического управления сертификатами — используйте команду, показанную в разделе «Автоматическое управление сертификатами», чтобы настроить это.

Последний этап позволяет быстро установить «Приложения в один клик» из DigitalOcean Marketplace. Это предварительно настроенные развертывания часто используемых сервисов, таких как NGINX Ingress Controller и Linkerd. Нажмите «Установить» рядом с любым приложением, которое нужно добавить в кластер. Процесс может занять несколько минут.

Управление вашим кластером

Вы можете увидеть пулы узлов вашего кластера и их узлы, щелкнув вкладку «Узлы» в верхней части экрана. Щелкните пул узлов, чтобы просмотреть узлы внутри него.

Вы можете добавить новый пул узлов, нажав кнопку «Добавить пул узлов» в правом верхнем углу. Чтобы изменить существующий пул узлов, щелкните значок с тремя точками справа от таблицы и выберите «Изменить размер или автомасштабирование».

В диалоговом окне можно выбрать фиксированное количество узлов (по умолчанию) или автоматическое масштабирование. При использовании опции «Фиксированный размер» вы указываете точное количество используемых узлов.

Выберите переключатель «Автомасштаб», чтобы определить минимальный и максимальный диапазон для количества узлов. Дополнительные узлы будут добавляться и удаляться автоматически в зависимости от использования ресурсов рабочими нагрузками вашего кластера.

Вы можете просмотреть активность в своем кластере, щелкнув вкладку «Статистика» в верхней части экрана. По умолчанию используются метрики на уровне кластера для ключевых статистических данных, таких как использование ЦП и пропускная способность сети. Используйте раскрывающийся список «Выбрать объект», чтобы перейти к определенному узлу или пулу.

Дополнительные параметры управления

Платформа DigitalOcean имеет встроенную поддержку панели инструментов Kubernetes, официального веб-интерфейса проекта Kubernetes. Нажмите кнопку «Панель инструментов Kubernetes» в правом верхнем углу, чтобы запустить приложение на новой вкладке. Он будет предварительно настроен с действительным токеном аутентификации.

DigitalOcean также предлагает автоматическое обновление кластера. Нажмите на вкладку «Настройки» в верхней части экрана. Далее нажмите «Включить автоматические обновления». Нажмите кнопку «Изменить», чтобы настроить приемлемый период обновления.

Теперь DigitalOcean будет автоматически применять обновления исправлений Kubernetes к вашему кластеру. Вы будете уведомлены, когда будут доступны новые основные версии. Когда они есть, в интерфейсе будет предложена кнопка обновления одним щелчком мыши.

Вы можете удалить свой кластер в любое время с помощью кнопки «Уничтожить» на экране настроек. Это приведет к удалению всех вычислительных ресурсов, связанных с кластером. Некоторые периферийные объекты, такие как тома блочного хранилища и балансировщики сетевой нагрузки, может потребоваться удалить вручную.

Это все, что нужно для создания кластера Kubernetes в DigitalOcean. Важно отметить, что ресурсы, управляемые Kubernetes, будут отображаться в другом месте вашей панели управления DigitalOcean (например, узлы будут отображаться в интерфейсе управления «Droplets»). Не изменяйте свойства этих ресурсов напрямую — вместо этого используйте интерфейс Kubernetes, чтобы обеспечить их соответствие ожиданиям плоскости управления Kubernetes.