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

Создание Node Pool

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

Сценарий

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

Процедура

  1. Войдите в CCE console.
  2. Щелкните имя кластера, чтобы открыть консоль кластера. Выберите Nodes в панели навигации. В правой панели нажмите вкладку Node Pools.
  3. В правом верхнем углу страницы нажмите Create Node Pool.

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

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

    Параметр

    Описание

    Node Pool Name

    Имя пула узлов. По умолчанию имя имеет формат Cluster name-nodepool-Random number. Если вы не хотите использовать формат имени по умолчанию, можете задать собственное имя.

    Enterprise Project

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

    После выбора enterprise project узлы будут созданы в node pool внутри этого проекта. Для управления кластерами и другими ресурсами, такими как узлы, балансировщики нагрузки и группы безопасности узлов, вы можете использовать enterprise projects.

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

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

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

    Параметр

    Описание

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

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

    • Pay-per-use

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

    Тип узла

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

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

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

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

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

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

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

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

    Container Engine

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

    OS

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

    • Public image: Выберите публичный образ для узла.
    • Private image: Выберите частный образ для узла.
    • Shared image: Вы можете выбрать образ, которым делятся другие пользователи. Эта опция поддерживается узлами BMS и PM.
    ПРИМЕЧАНИЕ:

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

    Login Mode

    • Password

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

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

    • Key Pair

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

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

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

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

    Storage Settings

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

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

    Параметр

    Описание

    System Disk

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

    System Component Storage

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

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

    В кластерах 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

    • Для хранения среды выполнения контейнеров и компонентов kubelet должен быть доступен диск данных по умолчанию, если System Component Storage установлен в значение Data Disk. Этот диск данных нельзя отсоединять. В противном случае узел станет недоступным.
      • Диск данных по умолчанию: используется для среды выполнения контейнеров и компонентов kubelet. Размер диска варьируется от 20 GiB до 32 768 GiB. Значение по умолчанию — 100 GiB.
      • Другие типичные диски данных: вы можете задать размер диска данных в диапазоне от 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, один диск с данными может быть локальным диском.
    • Локальные диски могут выйти из строя и не гарантируют надёжность данных. Храните данные вашего сервиса на дисках EVS, которые надёжнее локальных дисков.

    Advanced Settings

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

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

    Настройки сети

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

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

    Параметр

    Описание

    VPC

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

    Node Subnet

    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

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

    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 содержит следующие параметры:

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

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

    ПРИМЕЧАНИЕ:

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

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

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

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

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

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

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

    Макс. Pods

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

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

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

    ECS Group

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

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

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

    Pre-installation Command

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

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

    Post-installation Command

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

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

    ВНИМАНИЕ:

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

    Агентство

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

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

    Пользовательский префикс и суффикс

    Пользовательский префикс и суффикс имени узла в пуле узлов. После настройки узлы в пуле узлов будут именоваться с использованием заданных префикса и суффикса. Например, если префикс prefix-, а суффикс -suffix, узлы в пуле узлов будут именоваться в формате "prefix-Имя пула узлов с пятизначным случайным набором символов-suffix".

    NOTICE:
    • Имя узла может содержать максимум 56 символов в формате "Prefix-Имя пула узлов с пятизначным случайным набором символов-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 автоматически добавляет случайный пятизначный суффикс к каждому имени облачного сервера.
      NOTICE:
      • Эта функция доступна только когда версия кластера v1.23.4-r0 или новее.
      • Имя cloud server можно указать в качестве имени Kubernetes node только во время создания или управления cloud server. После создания или управления cloud server имя Kubernetes node изменить нельзя. Подробнее см. ECS Names, Node Names, and Kubernetes Node Names.
      • Существующие узлы в кластере сохраняют свои private IP-адреса в качестве имен Kubernetes node. Ново‑созданные или добавленные узлы используют имена cloud server.

        Это несоответствие между именами узлов и private IP-адресами может потребовать адаптации. Например, при настройке node affinity вы не можете использовать метку kubernetes.io/hostname:\u003cnode-private-IP-address\u003e для выбора конкретных узлов.

        To change the Kubernetes node name of the existing nodes to the cloud server name, remove these nodes from the cluster and re-accept them. Before doing so, learn about the possible impacts on services when removing or accepting a node.

  4. нажмите Next: Confirm.
  5. Прочитайте инструкции, отметьте флажок подтверждения и нажмите Submit.