Примеры подготовки кластера Kubernetes#
Если у вас отсутствует кластер Kubernetes, приведенные далее примеры помогут в его подготовке.
Подготовка кластера в Yandex Cloud Managed Service for Kubernetes#
Yandex Cloud предоставляет услуги по созданию кластеров Kubernetes в облаке, которые обеспечены всеми необходимыми сервисами, включая управление узлами master и группами рабочих узлов, автоматическое масштабирование, автоматические обновления, резервное копирование. Также предоставлены услуги по сбору метрик, служба DNS, постоянные тома.
Предварительная подготовка#
Необходимо предварительно подготовить следующие ресурсы:
Создание кластера следует привязать к каталогу, на который у вас есть привилегии по созданию и управлению ресурсами.
Поскольку запросы будут направляться через Yandex Cloud API, необходима сервисная учетная запись (SA, Service Account), которой назначены роли, достаточные для создания ресурсов в каталоге и управления ими. Для упрощения задачи достаточно назначить роль
editor. Однако можно использовать более гранулярный подход согласно документации Yandex Cloud.Если по каким-либо причинам необходимо использовать сеть, привязанную к другому каталогу, необходимо назначить роли для SA на этот каталог:
vpc.privateAdmin;vpc.user;vpc.bridgeAdmin(если надо создавать публичные IP-адреса);vpc.publicAdmin(если надо создавать публичные IP-адреса).
Для хранения контента приватного реестра потребуется объектное хранилище в виде S3 bucket, объемом минимум 3 ГБ. Его можно также создать в Yandex Cloud. Назначьте роль
editorдля SA на S3 bucket.Для управления кластером со своей локальной рабочей станции используйте утилиту командного интерфейса Yandex Cloud CLI (Command Line Interface).
Создание кластера#
Создание кластера происходит в два этапа:
В группе ресурсов Yandex Cloud Managed Service for Kubernetes создайте кластер:
Назначьте созданную ранее учетную запись SA для ресурсов и узлов кластера.
Выберите автоматическое или статическое назначение публичного IP-адреса, если необходим доступ через интернет.
Выберите тип мастера Basic для базовой топологии или High available для топологии уровня предприятия.
Выберите сеть, обеспечивающую требуемые коммуникации, например сеть, связанную с вашим управляемым сегментом по VPN.
Выберите Enable tunnel mode.
Добавьте группу рабочих узлов для кластера:
Задайте необходимые ресурсы согласно рекомендациям:
для базовой топологии достаточно одного рабочего узла Kubernetes;
для топологии уровня предприятия необходимо не менее трех узлов с автоматическим масштабированием.
Выберите тип диска SSD.
Если необходимо назначить публичные IP-адреса, выберите автоматическое или статическое назначение публичного IP-адреса.
Управление кластером Kubernetes#
Убедитесь, что вы можете управлять кластером со своей рабочей станции. Следуйте инструкциям в документации провайдера для настройки. Например, для Yandex Cloud Managed Service for Kubernetes, настройте это через Yandex Cloud CLI (Command Line Interface) как описано в инструкции:
Убедитесь, что у вас установлена утилита
kubectlи установите соединение с вашим кластером, следуя указаниям в описании свойств кластера. Например:yc managed-kubernetes cluster get-credentials --id cat8...i7d --external
Проверьте доступность кластера:
kubectl get pods -A
Команда выводит список служебных подов.
Общие настройки#
Для повышения производительности измените класс хранилища по умолчанию, так чтобы использовать диски SSD:
Проверьте список классов:
kubectl get storageclass
Если настроено на использование по умолчанию
yc-network-hdd, измените это следующими командами:kubectl patch storageclass yc-network-hdd \ -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"false"}}}'
kubectl patch storageclass yc-network-ssd \ -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'