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

Принятие узлов для управления

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

Сценарий

В CCE вы можете создать узел (Creating a Node) или добавить существующие узлы (ECS) в ваш кластер для управления.

Notice
  • При принятии ECS вы можете сбросить его ОС до стандартного публичного образа, предлагающегося CCE. Если вы решите это сделать, необходимо переустановить пароль или ключ, так как предыдущий станет недействительным.
  • Во время процесса принятия информация LVM, включая группы томов (VGs), логические тома (LVs) и физические тома (PVs), будет удалена с системных дисков и дисков с данными, подключенных к выбранным ECS. Убедитесь, что эта информация была сохранена.
  • Во время принятия ECS не выполняйте никаких операций над ECS через консоль ECS.

Ограничения

  • ECS могут управляться.

Предварительные условия

Облачные серверы, подлежащие управлению, должны соответствовать следующим требованиям:

  • Узел, подлежащий принятию, должен находиться в состоянии Running и не использоваться другими кластерами. Кроме того, у узла, подлежащего принятию, не должно быть тега CCE-Dynamic-Provisioning-Node.
  • Узел, подлежащий принятию, и кластер должны находиться в одном VPC. (Если версия кластера старше v1.13.10, узел, подлежащий принятию, и кластер CCE должны находиться в одной подсети.)
  • Диски с данными должны быть подключены к узлам, подлежащим управлению, если системные компоненты этих узлов хранятся отдельно. Такие узлы могут быть оснащены либо локальным диском (disk-intensive disk), либо диском с данными объёмом не менее 20 GiB. Кроме того, любые уже подключённые диски с данными не должны быть меньше 10 GiB.
  • Узел, подлежащий принятию, должен иметь минимум 2 ядра CPU, 4 GiB памяти и только один сетевой интерфейс.
  • Только облачные серверы с одинаковой конфигурацией дисков с данными могут приниматься пакетно для управления.
  • Если для кластера включён IPv6, могут быть приняты и управляемы только узлы в подсети с включённым IPv6. Если для кластера IPv6 не включён, могут быть приняты только узлы в подсети без включённого IPv6.
  • Кластеры CCE Turbo требуют, чтобы каждый узел поддерживал дополнительные сетевые интерфейсы, иначе вам придётся привязать как минимум 16 сетевых интерфейсов. Подробную информацию о node flavors см. в параметрах, предлагаемых в консоли при создании узла.
  • Data disks, которые были разделены, будут игнорироваться при управлении узлом. Убедитесь, что к узлу подключён хотя бы один неразделённый Data disk, соответствующий спецификациям.

Процедура

  1. Войдите в CCE console и перейдите к кластеру, в котором находится узел, подлежащий принятию.
  2. В панели навигации выберите Nodes. На отображённой странице нажмите вкладку Nodes, а затем Accept Node в правом верхнем углу.
  3. Укажите параметры узла.

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

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

    Параметр

    Описание

    Node Pool

    • Default node pool: Вы можете добавить узлы, отвечающие требованиям управления, в default node pool кластера.
    • Custom node pool: Вам необходимо выбрать только узлы, отвечающие требованиям управления. Эти узлы будут использовать базовые, сетевые и расширенные настройки custom node pool. Другие параметры настраивать не требуется. Подробности см. в Accepting Nodes in a Node Pool.

    Спецификации

    нажмите Select Cloud Server и выберите серверы, которые необходимо принять.

    Вы можете выбрать несколько cloud servers для пакетного управления. Однако в пакет можно добавить только cloud servers с одинаковыми характеристиками, AZ и конфигурацией Диска с данными.

    Если cloud server содержит несколько Дисков с данными, выберите один из них для container runtime и kubelet.

    Container Runtime (Original Container Engine)

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

    OS

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

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

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

    Login Mode

    • Password

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

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

    • Key Pair

      Выберите key pair, используемый для входа в node. Вы можете выбрать shared key.

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

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

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

    Storage Settings

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

    Table 2 Configuration parameters

    Parameter

    Description

    System Disk

    Непосредственно использовать system disk облачного сервера.

    System Component Storage

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

    • Data Disk: добавлен для хранения container runtime и компонентов kubelet по умолчанию. Размер диска варьируется от 20 GiB до 32768 GiB. Значение по умолчанию — 100 GiB. Этот data disk нельзя удалить или отсоединить. В противном случае node станет недоступным.
    • 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, убедитесь, что его версия 1.19.2 или новее.

    Диск с данными

    • Необходимо добавить как минимум один диск с данными по умолчанию для хранения среды выполнения контейнеров и компонентов kubelet, если System Component Storage установлен в значение Data Disk. Этот диск с данными нельзя удалять или отсоединять. В противном случае узел станет недоступным. Эта функция доступна для кластеров версии ранее v1.23.18-r0, v1.25.13-r0, v1.27.10-r0, v1.28.8-r0 или v1.29.4-r0.
    • Если System Component Storage установлен в значение System Disk, добавлять диск с данными по умолчанию не требуется. В этом случае все диски с данными являются общими: вы можете задать размер диска с данными в диапазоне от 10 GiB до 32768 GiB. Значение по умолчанию — 100 GiB. Эта функция доступна для кластеров v1.23.18-r0, v1.25.13-r0, v1.27.10-r0, v1.28.8-r0, v1.29.4-r0 и более новых версий.

    Нажмите Expand, чтобы настроить Data Disk Space Allocation. Это выделяет пространство для сред выполнения контейнеров, образов и временного хранилища, чтобы обеспечить их нормальную работу. Подробную информацию о том, как выделять пространство на диске с данными, см. в разделе Space Allocation of a Data Disk.

    Для остальных дисков с данными по умолчанию создаётся необработанный диск. Вы также можете нажать Expand и выбрать Mount Disk, чтобы смонтировать диск с данными в указанный каталог.

    Advanced Settings

    Table 3 Advanced configuration parameters

    Parameter

    Description

    Resource Tag

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

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

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

    Kubernetes Label

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

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

    Taint

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

    • Taint key: Ключ может содержать до 63 символов, начинаться с буквы или цифры. Разрешены только буквы, цифры, дефисы (-), подчёркивания (_) и точки (.). В качестве префикса ключа можно использовать имя поддомена DNS.
    • Taint value: Значение может содержать до 63 символов, начинаться с буквы или цифры. Разрешены только буквы, цифры, дефисы (-), подчёркивания (_) и точки (.).
    • Effect: Доступные варианты — NoSchedule, PreferNoSchedule и NoExecute.
    NOTICE:
    • Если используются taint‑ы, необходимо настроить tolerations pod‑ов. В противном случае масштабирование может завершиться неудачей, либо pod‑ы не смогут быть запланированы на добавленные узлы.
    • После создания пула узлов вы можете нажать Edit, чтобы изменить его конфигурацию. Изменения будут синхронизированы со всеми узлами в пуле.

    Max. Pods

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

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

    Pre-installation Command

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

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

    Post-installation Command

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

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

    CAUTION:

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

    Kubernetes Node Name

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

    • Node private IP: Значение должно совпадать с частным IP‑адресом узла (значение по умолчанию).
    • Cloud server name: Используйте пользовательское имя облачного сервера, настроенное в параметрах узла. Имена облачных серверов могут дублироваться. Чтобы избежать конфликтов имён, CCE добавляет к каждому имени облачного сервера случайный пятизначный суффикс.
      NOTICE:
      • Эта функция доступна только при версии кластера 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. Нажмите Submit.