Облачная платформаAdvanced

Создание Node Pool

Язык статьи: Русский
Показать оригинал
Страница переведена автоматически и может содержать неточности. Рекомендуем сверяться с английской версией.

Сценарий

В этом разделе описывается, как создать node pool и выполнять операции с node pool. Для получения подробной информации о работе node pool см. Node Pool Overview.

Процедура

  1. Войдите в CCE console.
  2. Click the cluster name to access the cluster console. Choose Nodes in the navigation pane. In the right pane, click the Node Pools tab.
  3. В правом верхнем углу страницы нажмите Create Node Pool.

    Основные параметры

    Table 1 Основные параметры

    Параметр

    Описание

    Имя Node Pool

    Name of a node pool. By default, the name is in the format of Cluster name-nodepool-Random number. If you do not want to use the default name format, you can customize the name.

    Enterprise Project

    Этот параметр доступен только для корпоративных пользователей, которые включили enterprise project, и версия кластера должна быть v1.21.15-r0, v1.23.14-r0, v1.25.9-r0, v1.27.6-r0, v1.28.4-r0 или более новой.

    После выбора enterprise project узлы будут созданы в пуле узлов внутри этого проекта. Для управления кластерами и другими ресурсами, такими как узлы, балансировщики нагрузки и группы безопасности узлов, можно использовать Enterprise Project Management Service (EPS).

    Конфигурация узла

    Вы можете настроить Флейвор и OS облачного сервера, на котором работают ваши контейнеризованные приложения.

    Table 2 Параметры конфигурации узла

    Параметр

    Описание

    Режим биллинга

    Поддерживаются следующие режимы биллинга:

    • Pay-per-use

      Ресурсы будут выставляться в счет в зависимости от длительности использования. Вы можете создавать или удалять ресурсы в любое время.

    Тип узла

    Выберите тип узла в соответствии с требованиями сервиса. Затем вы можете выбрать подходящий Флейвор из списка Флейворов узлов.

    Стандартные кластеры CCE поддерживают следующие типы узлов:

    • ECS (VM): VM ECS используется в качестве узла кластера.
    • ECS (PM): QingTian-backed bare metal server используется в качестве узла кластера.

    CCE Turbo clusters поддерживают следующие типы узлов:

    • ECS (VM): VM ECS используется в качестве узла кластера. CCE Turbo cluster поддерживает только облачные серверы, которые позволяют использовать несколько сетевых интерфейсов. Выберите тип сервера, отображаемый в консоли CCE.
    • ECS (PM): QingTian‑backed bare metal сервер используется в качестве узла кластера.

    Технические характеристики

    Выберите флейвор узла в соответствии с требованиями сервиса. Доступные флейворы узлов различаются в зависимости от регионов. Подробности см. в консоли CCE.

    ПРИМЕЧАНИЕ:
    • Если пул узлов настроен с несколькими флейворами узлов, поддерживаются только флейворы (которые могут находиться в разных AZ) одного типа узлов. Например, пул узлов, состоящий из узлов general computing-plus, поддерживает только флейворы узлов general computing-plus, но не флейворы узлов general computing.
    • Узлы, добавленные в один пул узлов, должны иметь одинаковый тип GPU. Например, если вы выбираете флейвор nvidia-v100, вы не можете выбрать флейвор nvidia-t4.
    • В пул узлов можно добавить не более 20 флейворов узлов (флейворы в разных AZ учитываются отдельно). При добавлении флейвора узла вы можете выбрать несколько AZ, но их необходимо указать.
    • Узлы в недавно созданном пуле узлов создаются с использованием флейвора по умолчанию. Если ресурсов для флейвора по умолчанию недостаточно, создание узла завершится неудачей.
    • После создания пула узлов флейворы существующих узлов нельзя удалить.

    Container Runtime (Original Container Engine)

    Поддерживаемые CCE контейнерные среды включают Docker и containerd, которые могут различаться в зависимости от типов кластера, версий кластера и ОС. Выберите контейнерную среду на основе информации, отображаемой в консоли CCE.

    OS

    Выберите тип OS. Разные типы узлов поддерживают разные OS.

    • Public image: Выберите публичный образ для узла.
    • Private image: Выберите частный образ для узла.
    ПРИМЕЧАНИЕ:

    Среды выполнения сервисных контейнеров используют общее ядро и базовые вызовы узлов. Чтобы обеспечить совместимость, выберите версию дистрибутива Linux, совпадающую или близкую к версии конечного образа сервисного контейнера для ОС узла.

    Login Mode

    • Password

      Стандартное имя пользователя root. Введите пароль для входа в узел и подтвердите пароль.

      Обязательно запомните пароль, он понадобится при входе в узел.

    • Key Pair

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

      Пара ключей используется для аутентификации личности при удалённом входе в узел. Если пара ключей недоступна, нажмите Create Key Pair.

    • Image password (поддерживается для ECSs или PMs, чьи ОС являются частными образами)

      Сохраните пароль выбранного образа. Чтобы использовать эту опцию, убедитесь, что для выбранного образа установлен пароль.

    Storage Settings

    Настройте ресурсы хранилища на узле для работающих на нём контейнеров. Выберите тип диска и задайте его размер в соответствии с требованиями сервиса.

    Table 3 Параметры конфигурации

    Параметр

    Описание

    System Disk

    System Disk, используемый ОС узла. Значения находятся в диапазоне от 40 GiB до 1 024 GiB. Значение по умолчанию — 50 GiB. Для кластеров v1.28 и более новых минимальный размер системного диска составляет 20 GiB. Однако примерно 15 GiB резервируется для образа ОС узла, пакетов установки компонентов (загружаемых во время установки и обновлений) и журналов системных компонентов. Таким образом, фактически доступное пространство равно общему размеру диска за вычетом этой резервированной ёмкости. Если System Disk слишком мал, это может повлиять на стабильность узла. Следите за оставшейся ёмкостью диска и настройте disk capacity alarms.

    System Component Storage

    Выберите диск для хранения системных компонентов.

    • Data Disk: добавлен для хранения container runtime и компонентов kubelet по умолчанию. Размер диска находится в диапазоне от 20 GiB до 32 768 GiB. Значение по умолчанию — 100 GiB. Этот диск данных нельзя удалить или отсоединить. В противном случае узел станет недоступным.
    • System Disk: хранит ресурсы CCE, такие как загруженные образы, ephemeral storage для контейнеров и container stdout logs. Если System Disk полностью заполнен, это негативно скажется на стабильности узла.
    ПРИМЕЧАНИЕ:

    В кластерах v1.23.18-r0, v1.25.13-r0, v1.27.10-r0, v1.28.8-r0, v1.29.4-r0 и более новых можно выбрать место хранения системных компонентов. Если в кластере требуется дополнение CCE Node Problem Detector, установите версию v1.19.2 или более новую. Подробную информацию об этом дополнении см. в CCE Node Problem Detector.

    Data Disk

    • Необходимо добавить как минимум один диск данных по умолчанию, если System Component Storage установлен в Data Disk для container runtime и kubelet. Этот диск данных нельзя удалить или деинсталлировать. Если он будет удалён или деинсталлирован, узел станет недоступным.
      • Default data disk: используется для компонентов container runtime и kubelet. Размер диска находится в диапазоне от 20 GiB до 32 768 GiB. Значение по умолчанию — 100 GiB.
      • Other common data disks: можно задать размер диска данных в диапазоне от 10 GiB до 32 768 GiB. Значение по умолчанию — 100 GiB.
    • Если System Component Storage установлен в значение System Disk, добавлять диск с данными по умолчанию не требуется. В этом случае все диски с данными являются обычными. Можно задать размер диска с данными в диапазоне от 10 GiB до 32 768 GiB. Значение по умолчанию — 100 GiB.
    ПРИМЕЧАНИЕ:
    • Если node flavor является disk-intensive или ultra-high I/O, один диск с данными может быть local disk.
    • Локальные диски могут выйти из строя и не гарантируют надёжность данных. Храните данные вашего сервиса на дисках EVS, которые надёжнее, чем локальные диски.

    Advanced Settings

    Добавление дисков с данными

    К одному ECS можно подключить не более 16 дисков с данными. По умолчанию создаётся необработанный диск без какой‑либо обработки.

    Network Settings

    Настройте сетевые ресурсы, чтобы обеспечить доступ узла и контейнеризованных приложений.

    Table 4 Параметры конфигурации

    Parameter

    Description

    VPC

    VPC, к которой по умолчанию принадлежит кластер, изменить нельзя.

    Node Subnet

    Node subnet, выбранный при создании кластера, используется по умолчанию. При желании можно выбрать другой subnet.

    • Multiple subnets: Вы можете выбрать несколько subnet в одном VPC для узлов. Ново‑добавленные узлы будут предпочтительно использовать IP‑адреса из subnet с наивысшим приоритетом.
    • Single subnet: Для вашего node pool настроен только один subnet. Если IP‑адресов в единственном subnet недостаточно, настройте несколько subnet. В противном случае масштабирование node pool может завершиться неудачей.

    Node IP

    Поддерживается случайное распределение.

    Associate Security Group

    Security group, используемая узлами, созданными в node pool. Для лучшей сетевой производительности выбирайте не более пяти security group.

    При создании кластера создаётся node security group с именем {Cluster name}-cce-node-{Random ID} и используется по умолчанию.

    Трафик должен проходить через определённые порты в node security group для обеспечения связи узлов. Убедитесь, что эти порты включены, если вы выбираете другую security group.

    ПРИМЕЧАНИЕ:

    После создания node pool связанная security group изменить нельзя.

    Advanced Settings

    Настройте расширенные возможности узла, такие как метки, taint и команду запуска.

    Table 5 Параметры расширенной конфигурации

    Параметр

    Описание

    Тег ресурса

    Вы можете добавлять теги ресурсов для классификации ресурсов.

    Вы можете создавать predefined tags в консоли TMS. Эти теги доступны всем ресурсам, поддерживающим теги. Вы можете использовать эти теги для повышения эффективности создания тегов и миграции ресурсов.

    CCE автоматически создаст тег CCE-Dynamic-Provisioning-Node=Node ID.

    Метка Kubernetes

    Пара ключ‑значение, добавляемая к объекту Kubernetes (например, pod). После указания метки нажмите Add для получения дополнительной информации. Можно добавить не более 20 меток.

    Метк​и можно использовать для различения узлов. С настройками привязки нагрузки контейнерные pod могут быть запланированы на указанный узел. Для получения дополнительной информации см. Labels and Selectors.

    Kubernetes Taint

    Этот параметр по умолчанию оставлен пустым. Вы можете добавлять taint для настройки анти‑аффинности узла. Для каждого узла допускается не более 20 taint. Каждый taint содержит следующие параметры:

    • Key: Ключ должен содержать от 1 до 63 символов, начинаться с буквы или цифры. Разрешены только буквы, цифры, дефисы (-), подчёркивания (_) и точки (.). В качестве префикса ключа можно использовать имя поддомена DNS.
    • Value: Значение должно содержать от 1 до 63 символов, начинаться с буквы или цифры. Разрешены только буквы, цифры, дефисы (-), подчёркивания (_) и точки (.).
    • Effect: Доступные варианты NoSchedule, PreferNoSchedule и NoExecute.

    Для получения подробной информации см. Managing Node Taints.

    ПРИМЕЧАНИЕ:

    Для кластера версии v1.19 или более ранней рабочая нагрузка могла быть запланирована на узел до добавления таинта. Чтобы избежать такой ситуации, выберите кластер версии v1.19 или более поздней.

    Синхронизация для существующих узлов

    После выбора параметров изменения тегов ресурсов и меток/таинтов Kubernetes в пуле узлов будут синхронизированы с существующими узлами в пуле узлов.

    Планирование новых узлов

    Политика планирования по умолчанию для узлов, недавно добавленных в пул узлов. Если выбрать Unschedulable, вновь созданные узлы в пуле узлов будут помечены как unschedulable. Таким образом, можно выполнить некоторые операции над узлами до того, как pods будут запланированы на эти узлы.

    Scheduled Scheduling: После включения запланированного планирования новые узлы будут автоматически планироваться после истечения пользовательского времени.

    • Disabled: По умолчанию запланированное планирование не включено для новых узлов. Чтобы включить эту функцию вручную, перейдите к списку узлов. Для получения подробной информации см. Configuring a Node Scheduling Policy in One-Click Mode.
    • Custom: значение тайм‑аута по умолчанию для unschedulable‑узлов. Диапазон значений от 0 до 99 в минутах.
    ПРИМЕЧАНИЕ:
    • Если также требуется автоматическое масштабирование пулов узлов, убедитесь, что запланированное планирование составляет менее 15 минут. Если узел, добавленный через Autoscaler, не может быть запланирован более 15 минут, Autoscaler определит, что масштабирование не удалось, и инициирует другое масштабирование. Кроме того, если узел не может быть запланирован более 20 минут, Autoscaler выполнит масштабирование вниз данного узла.
    • После включения этой функции узлы будут помечены таинтом node.cloudprovider.kubernetes.io/uninitialized во время создания или обновления пула узлов.

    Max. Pods

    Максимальное количество pods, которые могут работать на узле, включая default system pods.

    Это ограничение предотвращает перегрузку узла pods.

    Это число также определяется другими факторами. Для получения подробной информации см. Maximum Number of Pods That Can Be Created on a Node.

    ECS Group

    Группа ECS логически объединяет ECS. ECS в одной группе ECS соответствуют одной политике, связанной с группой ECS.

    Anti-affinity: ECS в группе ECS развертываются на разных физических хостах для повышения надежности сервиса.

    Выберите существующую группу ECS или нажмите Add ECS Group, чтобы создать её. После создания группы ECS нажмите значок обновления.

    Pre-installation Command

    Команда скрипта установки. Команда скрипта будет преобразована в Base64. Количество символов как предустановочных, так и постустановочных скриптов рассчитывается централизованно, и общее количество символов после преобразования не может превышать 10 240.

    Скрипт предустановки выполняется до установки Kubernetes. Если он завершится с ошибкой, установка Kubernetes также завершится с ошибкой.

    Post-installation Command

    Команда скрипта установки. Команда скрипта будет преобразована в Base64. Количество символов как предустановочных, так и постустановочных скриптов рассчитывается централизованно, и общее количество символов после преобразования не может превышать 10 240.

    Во время выполнения постустановочного скрипта pod'ы могут планироваться нормально. Однако, если выполнение скрипта превышает время ожидания, установка узла завершится с ошибкой. Чтобы предотвратить планирование pod'ов на узлы с незавершённым выполнением скрипта, включите опцию планировать pod'ы только после завершения выполнения постустановочного скрипта.

    CAUTION:

    Не используйте команду reboot в постустановочном скрипте для немедленной перезагрузки системы. Вместо этого используйте команду shutdown -r 1 для перезагрузки системы с задержкой в одну минуту.

    Агентство

    Если вам необходимо совместно использовать ресурсы облачных серверов с другими учетными записями или делегировать более профессиональному человеку или команде управление ресурсами, вы можете создать агентство в IAM и предоставить агентству права на управление ресурсами облачных серверов. Делегированная учетная запись может войти в облачную систему и переключиться на вашу учетную запись для управления ресурсами. Вам не требуется делиться учетными данными безопасности (например, паролями) с другими учетными записями, что обеспечивает безопасность вашей учетной записи.

    Если вы создали агентство, выберите агентство из выпадающего списка. Если агентство недоступно, нажмите Create Agency справа, чтобы создать его.

    Custom Prefix and Suffix

    Пользовательский префикс и суффикс имени узла в пуле узлов. После настройки узлы в пуле узлов будут именоваться с указанным префиксом и суффиксом. Например, если префикс prefix-, а суффикс -suffix, узлы в пуле узлов будут именоваться в формате "prefix-Node pool name with five-digit random characters-suffix".

    ПРИМЕЧАНИЕ:
    • Префикс и суффикс можно настроить только при создании пула узлов; после создания пула узлов изменить их нельзя.
    • Префикс может заканчиваться специальным символом, а суффикс может начинаться специальным символом.
    • Имя узла может содержать не более 56 символов в формате "Prefix-Node pool name with five-digit random characters-Suffix".
    • Имя узла не поддерживает комбинацию точки (.) и специальных символов (например, .., .-, или -.).
    • Эта функция доступна только в кластерах версии v1.28.1, v1.27.3, v1.25.6, v1.23.11, v1.21.12 и более новых.

    Имя узла Kubernetes

    Имя узла Kubernetes — это значение metadata.labels.kubernetes.io/hostname в YAML‑файле узла. Поддерживаются следующие два значения:

    • Node private IP: Значение должно совпадать с частным IP‑адресом узла (значение по умолчанию).
    • Cloud server name: Используйте пользовательское имя облачного сервера, настроенное в параметрах узла. Имена облачных серверов могут дублироваться. Чтобы избежать конфликтов имен, CCE добавляет случайный пятизначный суффикс к каждому имени облачного сервера.
      УВЕДОМЛЕНИЕ:
      • Эта функция доступна только при версии кластера v1.23.4-r0 или более новой.
      • Имя облачного сервера можно указать в качестве имени узла Kubernetes только при создании или управлении облачным сервером. После создания или управления облачным сервером имя узла Kubernetes изменить нельзя. Для получения подробной информации см. ECS Names, Node Names, and Kubernetes Node Names.
      • Существующие узлы в кластере по‑прежнему используют приватный IP‑адрес в качестве имени узла Kubernetes. Ново‑созданные или принятые узлы могут использовать имена облачных серверов.

        В этом сценарии некоторые имена узлов Kubernetes могут не соответствовать приватным IP‑адресам узлов, и требуется адаптация. Например, при настройке привязки узлов вы не можете использовать приватный IP‑адрес узла в качестве имени узла для конфигурирования политики планирования.

        Чтобы изменить имя узла Kubernetes у существующих узлов на имя облачного сервера, удалите эти узлы из кластера и примите их снова. Перед этим ознакомьтесь с возможными последствиями для сервисов при removing или accepting узла.

  4. нажмите Next: Confirm.
  5. нажмите Submit.
Создание Node Pool — документация Cloud Container Engine руководство пользователя облако Cloud.ru