Spec-Zone.ru › AWS CLI v2

[ aws . eks ]

создать-группу-узлов

Описание

Создаёт управляемую группу узлов для кластера Amazon EKS.

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

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

Управляемая группа узлов Amazon EKS — это группа автоматического масштабирования Amazon EC2 и связанные с ней Amazon EC2-инстансы, которые управляются Amazon Web Services для кластера Amazon EKS. Дополнительную информацию см. в разделе Управляемые группы узлов в Руководстве пользователя Amazon EKS.

Примечание

Типы AMI Windows поддерживаются только для коммерческих регионов Amazon Web Services, которые поддерживают Windows в Amazon EKS.

См. также: Документация API AWS

Синтаксис

  create-nodegroup
--cluster-name <value>
--nodegroup-name <value>
[--scaling-config <value>]
[--disk-size <value>]
--subnets <value>
[--instance-types <value>]
[--ami-type <value>]
[--remote-access <value>]
--node-role <value>
[--labels <value>]
[--taints <value>]
[--tags <value>]
[--client-request-token <value>]
[--launch-template <value>]
[--update-config <value>]
[--node-repair-config <value>]
[--capacity-type <value>]
[--release-version <value>]
[--kubernetes-version <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--debug]
[--endpoint-url <value>]
[--no-verify-ssl]
[--no-paginate]
[--output <value>]
[--query <value>]
[--profile <value>]
[--region <value>]
[--version <value>]
[--color <value>]
[--no-sign-request]
[--ca-bundle <value>]
[--cli-read-timeout <value>]
[--cli-connect-timeout <value>]
[--cli-binary-format <value>]
[--no-cli-pager]
[--cli-auto-prompt]
[--no-cli-auto-prompt]

Параметры

--cluster-name (строка)

Название вашего кластера.

--nodegroup-name (строка)

Уникальное имя для вашей группы узлов.

--scaling-config (структура)

Подробные сведения о конфигурации масштабирования для группы автоматического масштабирования, созданной для вашей группы узлов.

minSize -> (целое число)

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

maxSize -> (целое число)

Максимальное количество узлов, до которого может масштабироваться управляемая группа узлов. Сведения о максимальном количестве, которое вы можете указать, см. в разделе Квоты службы Amazon EKS в Руководстве пользователя Amazon EKS.

desiredSize -> (целое число)

Текущее количество узлов, которое управляемая группа узлов должна поддерживать.

Предупреждение

Если вы используете Kubernetes Cluster Autoscaler, не следует изменять значение desiredSize напрямую, так как это может привести к внезапному увеличению или уменьшению масштаба Cluster Autoscaler.

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

Этот параметр может отличаться от minSize в некоторых случаях, например, при запуске с дополнительными хостами для тестирования. Этот параметр также может отличаться, когда вы хотите начать с приблизительного количества необходимых хостов, но позволить Cluster Autoscaler уменьшить это количество, если их слишком много. При использовании Cluster Autoscaler параметр desiredSize изменяется Cluster Autoscaler (но может быть устаревшим в течение коротких периодов времени). Cluster Autoscaler не масштабирует управляемую группу узлов ниже minSize или выше maxSize.

Сокращенная синтаксическая запись:

minSize=integer,maxSize=integer,desiredSize=integer

Синтаксис JSON:

{
  "minSize": integer,
  "maxSize": integer,
  "desiredSize": integer
}

--disk-size (целое число)

Размер диска корневого устройства (в ГБ) для ваших экземпляров группы узлов. Размер диска по умолчанию составляет 20 ГБ для Linux и Bottlerocket. Размер диска по умолчанию составляет 50 ГБ для Windows. Если вы укажете launchTemplate, не указывайте diskSize, в противном случае развертывание группы узлов завершится ошибкой. Дополнительную информацию об использовании шаблонов запуска с Amazon EKS см. в разделе Настройка управляемых узлов с помощью шаблонов запуска в Руководстве пользователя Amazon EKS.

--subnets (список)

Подсети для использования в группе автоматического масштабирования, созданной для вашей группы узлов. Если вы укажете launchTemplate, не указывайте `` SubnetId `` в вашем шаблоне запуска, в противном случае развертывание группы узлов завершится ошибкой. Дополнительную информацию об использовании шаблонов запуска с Amazon EKS см. в разделе Настройка управляемых узлов с помощью шаблонов запуска в Руководстве пользователя Amazon EKS.

(строка)

Синтаксис:

"string" "string" ...

--instance-types (список)

Укажите типы экземпляров для группы узлов. Если вы указываете тип экземпляра с графическим процессором, убедитесь, что также указан соответствующий тип AMI графического процессора с параметром amiType. Если вы указываете launchTemplate, вы можете указать ноль или один тип экземпляра в вашем шаблоне запуска или вы можете указать 0-20 типов экземпляров для instanceTypes. Однако, если вы указываете тип экземпляра в вашем шаблоне запуска и указываете любой instanceTypes, развертывание группы узлов завершится ошибкой. Если вы не указываете тип экземпляра в шаблоне запуска или для instanceTypes, то по умолчанию используется t3.medium. Если вы указываете Spot для capacityType, рекомендуется указать несколько значений для instanceTypes. Дополнительные сведения см. в разделах Типы емкости управляемых групп узлов и Настройка управляемых узлов с помощью шаблонов запуска в Руководстве пользователя Amazon EKS.

(строка)

Синтаксис:

"string" "string" ...

--ami-type (строка)

Тип AMI для вашей группы узлов. Если вы указываете launchTemplate, а ваш шаблон запуска использует пользовательский AMI, не указывайте amiType, в противном случае развертывание группы узлов завершится ошибкой. Если ваш шаблон запуска использует пользовательский AMI Windows, добавьте eks:kube-proxy-windows к вашим узлам Windows rolearn в aws-auth ConfigMap. Дополнительную информацию об использовании шаблонов запуска с Amazon EKS см. в разделе Настройка управляемых узлов с помощью шаблонов запуска в Руководстве пользователя Amazon EKS.

Возможные значения:

  • AL2_x86_64
  • AL2_x86_64_GPU
  • AL2_ARM_64
  • CUSTOM
  • BOTTLEROCKET_ARM_64
  • BOTTLEROCKET_x86_64
  • BOTTLEROCKET_ARM_64_FIPS
  • BOTTLEROCKET_x86_64_FIPS
  • BOTTLEROCKET_ARM_64_NVIDIA
  • BOTTLEROCKET_x86_64_NVIDIA
  • WINDOWS_CORE_2019_x86_64
  • WINDOWS_FULL_2019_x86_64
  • WINDOWS_CORE_2022_x86_64
  • WINDOWS_FULL_2022_x86_64
  • AL2023_x86_64_STANDARD
  • AL2023_ARM_64_STANDARD
  • AL2023_x86_64_NEURON
  • AL2023_x86_64_NVIDIA
  • AL2023_ARM_64_NVIDIA

--remote-access (структура)

Конфигурация удаленного доступа для использования с вашей группой узлов. Для Linux протокол — SSH. Для Windows — RDP. Если вы указываете launchTemplate, не указывайте remoteAccess, в противном случае развертывание группы узлов завершится ошибкой. Дополнительную информацию об использовании шаблонов запуска с Amazon EKS см. в разделе Настройка управляемых узлов с помощью шаблонов запуска в Руководстве пользователя Amazon EKS.

ec2SshKey -> (строка)

Имя ключа SSH Amazon EC2, обеспечивающего доступ для SSH-связи с узлами в управляемой группе узлов. Дополнительные сведения см. в разделах Пары ключей Amazon EC2 и экземпляры Linux в Руководстве пользователя Amazon Elastic Compute Cloud для экземпляров Linux. Для Windows ключ SSH Amazon EC2 используется для получения пароля RDP. Дополнительные сведения см. в разделах Пары ключей Amazon EC2 и экземпляры Windows в Руководстве пользователя Amazon Elastic Compute Cloud для экземпляров Windows.

sourceSecurityGroups -> (список)

Идентификаторы групп безопасности, которым разрешен SSH-доступ (порт 22) к узлам. Для Windows порт — 3389. Если вы указываете ключ SSH Amazon EC2, но не указываете группу безопасности источника при создании управляемой группы узлов, порт на узлах открыт для интернета (0.0.0.0/0). Дополнительные сведения см. в разделе Группы безопасности для вашей VPC в Руководстве пользователя Amazon Virtual Private Cloud.

(строка)

Сокращенная синтаксическая запись:

ec2SshKey=string,sourceSecurityGroups=string,string

Синтаксис JSON:

{
  "ec2SshKey": "string",
  "sourceSecurityGroups": ["string", ...]
}

--node-role (строка)

Amazon Resource Name (ARN) роли IAM для ассоциации с вашей группой узлов. Узел Amazon EKS worker kubelet-демон выполняет вызовы API Amazon Web Services от вашего имени. Узлы получают разрешения для этих вызовов API через профиль экземпляра IAM и связанные политики. Прежде чем можно будет запустить узлы и зарегистрировать их в кластере, необходимо создать роль IAM для этих узлов, которые будут использоваться при их запуске. Дополнительные сведения см. в разделе Роль IAM узла Amazon EKS в * Руководстве пользователя Amazon EKS * . Если вы указываете launchTemplate, не указывайте `` IamInstanceProfile `` в вашем шаблоне запуска, в противном случае развертывание группы узлов завершится ошибкой. Дополнительную информацию об использовании шаблонов запуска с Amazon EKS см. в разделе Настройка управляемых узлов с помощью шаблонов запуска в Руководстве пользователя Amazon EKS.

--labels (карта)

Kubernetes labels для применения к узлам в группе узлов при их создании.

key -> (строка)

value -> (строка)

Сокращенная синтаксическая запись:

KeyName1=string,KeyName2=string

Синтаксис JSON:

{"string": "string"
  ...}

--taints (список)

Маркировки Kubernetes, которые должны быть применены к узлам в группе узлов. Дополнительные сведения см. в разделе Маркировки узлов в управляемых группах узлов.

(структура)

Свойство, которое позволяет узлу отталкивать Pod. Дополнительные сведения см. в разделе Маркировки узлов в управляемых группах узлов в Руководстве пользователя Amazon EKS.

key -> (строка)

Ключ маркировки.

value -> (строка)

Значение маркировки.

effect -> (строка)

Эффект маркировки.

Сокращенная синтаксическая запись:

key=string,value=string,effect=string ...

Синтаксис JSON:

[
  {
    "key": "string",
    "value": "string",
    "effect": "NO_SCHEDULE"|"NO_EXECUTE"|"PREFER_NO_SCHEDULE"
  }
  ...
]

--tags (карта)

Метаданные, которые помогают с категоризацией и организацией. Каждая метка состоит из ключа и необязательного значения. Вы определяете оба. Метки не распространяются на другие кластеры или ресурсы Amazon Web Services.

key -> (строка)

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

value -> (строка)

Необязательная часть пары ключ-значение, образующей метку. Значение действует как описание в рамках категории тегов (ключ).

Сокращенная синтаксическая запись:

KeyName1=string,KeyName2=string

Синтаксис JSON:

{"string": "string"
  ...}

--client-request-token (строка)

Уникальный, чувствительный к регистру идентификатор, который вы предоставляете для обеспечения идемпотентности запроса.

--launch-template (структура)

Объект, представляющий спецификацию шаблона запуска группы узлов. При использовании этого объекта не указывайте напрямую instanceTypes, diskSize или remoteAccess. После создания группы узлов вы не сможете указать другой идентификатор или имя шаблона запуска.

Убедитесь, что шаблон запуска соответствует требованиям в launchTemplateSpecification. Также обратитесь к разделу Настройка управляемых узлов с помощью шаблонов запуска в Руководстве пользователя Amazon EKS.

name -> (строка)

Имя шаблона запуска.

Вы должны указать либо имя, либо идентификатор шаблона запуска в запросе, но не оба. После создания группы узлов вы не сможете использовать другое имя.

version -> (строка)

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

id -> (строка)

Идентификатор шаблона запуска.

Вы должны указать либо идентификатор, либо имя шаблона запуска в запросе, но не оба. После создания группы узлов вы не сможете использовать другой идентификатор.

Сокращенная синтаксическая запись:

name=string,version=string,id=string

Синтаксис JSON:

{
  "name": "string",
  "version": "string",
  "id": "string"
}

--update-config (структура)

Конфигурация обновления группы узлов.

maxUnavailable -> (целое число)

Максимальное количество узлов, недоступных одновременно во время обновления версии. Узлы обновляются параллельно. Это значение или maxUnavailablePercentage должно иметь значение. Максимальное значение — 100.

maxUnavailablePercentage -> (целое число)

Максимальный процент узлов, недоступных во время обновления версии. Этот процент узлов обновляется параллельно, до 100 узлов одновременно. Это значение или maxUnavailable должно иметь значение.

updateStrategy -> (строка)

Конфигурация поведения во время обновления версии группы узлов этого управляемого узла. Вы выбираете между двумя возможными стратегиями замены узлов во время действия ` UpdateNodegroupVersion https://docs.aws.amazon.com/eks/latest/APIReference/API_UpdateNodegroupVersion.html`__.

Управляемая группа узлов Amazon EKS обновляется путём параллельной замены узлов на новые узлы с более новыми версиями AMI. Стратегия обновления изменяет поведение обновления управляемых узлов управляемой группы узлов для каждого количества. Стратегия по умолчанию содержит ограничения, чтобы защитить вас от неправильной конфигурации, и запускает новые экземпляры сначала, прежде чем завершить старые экземпляры. Стратегия минимального уровня снимает ограничения и завершает старые экземпляры до запуска новых экземпляров. Эта минимальная стратегия полезна в сценариях, когда вы ограничены ресурсами или расходами (например, при использовании аппаратного ускорения, такого как GPU).

Краткая синтаксическая запись:

maxUnavailable=integer,maxUnavailablePercentage=integer,updateStrategy=string

Синтаксис JSON:

{
  "maxUnavailable": integer,
  "maxUnavailablePercentage": integer,
  "updateStrategy": "DEFAULT"|"MINIMAL"
}

--node-repair-config (структура)

Конфигурация автоматического ремонта узлов для группы узлов.

enabled -> (булево значение)

Указывает, следует ли включить автоматический ремонт узлов для группы узлов. Автоматический ремонт узлов по умолчанию отключён.

Краткая синтаксическая запись:

enabled=boolean

Синтаксис JSON:

{
  "enabled": true|false
}

--capacity-type (строка)

Тип ёмкости для вашей группы узлов.

Возможные значения:

  • ON_DEMAND
  • SPOT
  • CAPACITY_BLOCK

--release-version (строка)

Версия AMI оптимизированной Amazon EKS AMI для использования с вашей группой узлов. По умолчанию используется последняя доступная версия AMI для текущей версии Kubernetes вашей группы узлов. Сведения о версиях Linux см. в руководстве пользователя Amazon EKS.

Если вы укажете launchTemplate, а шаблон запуска использует пользовательскую AMI, то не указывайте releaseVersion, в противном случае развертывание группы узлов завершится сбоем. Дополнительную информацию об использовании шаблонов запуска с Amazon EKS см. в руководстве пользователя Amazon EKS.

--kubernetes-version (строка)

Версия Kubernetes для использования с управляемыми узлами. По умолчанию используется версия Kubernetes кластера, и это единственное допустимое указанное значение. Если вы укажете launchTemplate, а шаблон запуска использует пользовательскую AMI, то не указывайте version, в противном случае развертывание группы узлов завершится сбоем. Дополнительную информацию об использовании шаблонов запуска с Amazon EKS см. в руководстве пользователя Amazon EKS.

--cli-input-json | --cli-input-yaml (строка) Считывает аргументы из предоставленной строки JSON. Строка JSON соответствует формату, предоставленному --generate-cli-skeleton. Если другие аргументы предоставлены в командной строке, эти значения переопределят значения, предоставленные в JSON. Невозможно передавать произвольные двоичные значения с помощью значения, предоставленного в JSON, так как строка будет восприниматься буквально. Это не может быть указано вместе с --cli-input-yaml.

--generate-cli-skeleton (строка) Выводит JSON-скелет в стандартный вывод без отправки запроса к API. Если предоставлено значение без значения или со значением input, выводится пример входного JSON, который можно использовать в качестве аргумента для --cli-input-json. Аналогично, если предоставлено значение yaml-input, выводится пример входного YAML, который можно использовать с --cli-input-yaml. Если предоставлено значение output, выполняется проверка входных данных команды и возвращается пример выходного JSON для данной команды. Сгенерированный JSON-скелет не является стабильным между версиями AWS CLI, и нет гарантии обратной совместимости в сгенерированном JSON-скелете.

Общие параметры

--debug (булево значение)

Включить отладочный журнал.

--endpoint-url (строка)

Переопределить значение URL по умолчанию команды заданным URL.

--no-verify-ssl (булево значение)

По умолчанию AWS CLI использует SSL при общении с AWS-сервисами. Для каждого соединения SSL AWS CLI будет проверять сертификаты SSL. Этот параметр переопределяет поведение проверки сертификатов SSL по умолчанию.

--no-paginate (булево значение)

Отключить автоматическую постраничность. Если автоматическая постраничность отключена, AWS CLI выполнит только один вызов для первой страницы результатов.

--output (строка)

Стиль форматирования выходных данных команды.

  • json
  • text
  • таблица
  • yaml
  • yaml-потоковый

--query (строка)

Запрос JMESPath для фильтрации данных ответа.

--profile (строка)

Использовать определённый профиль из файла учетных данных.

--region (строка)

Регион для использования. Переопределяет настройки конфигурации/среды.

--version (строка)

Отобразить версию этого инструмента.

--color (строка)

Включить/отключить цветной вывод.

  • вкл
  • выкл
  • авто

--no-sign-request (булево значение)

Не подписывать запросы. Учетные данные не будут загружаться, если этот аргумент предоставлен.

--ca-bundle (строка)

Файл сертификата CA для проверки сертификатов SSL. Переопределяет настройки конфигурации/среды.

--cli-read-timeout (целое число)

Максимальное время чтения сокета в секундах. Если значение установлено в 0, чтение сокета будет блокирующим и без таймаута. Значение по умолчанию — 60 секунд.

--cli-connect-timeout (целое число)

Максимальное время подключения к сокету в секундах. Если значение установлено в 0, подключение к сокету будет блокирующим и без таймаута. Значение по умолчанию — 60 секунд.

--cli-binary-format (строка)

Стиль форматирования, используемый для двоичных блоков. Формат по умолчанию — base64. Формат base64 ожидает, что двоичные блоки будут предоставлены как закодированная строка base64. Формат raw-in-base64-out сохраняет совместимость с поведением AWS CLI V1, и двоичные значения должны передаваться буквально. При предоставлении содержимого файла, соответствующего двоичному блоку, fileb:// всегда будет обрабатываться как двоичный и будет использовать содержимое файла непосредственно независимо от настройки cli-binary-format. При использовании file:// содержимое файла должно быть должным образом отформатировано для настроенного cli-binary-format.

  • base64
  • raw-in-base64-out

--no-cli-pager (булево значение)

Отключить страницу cli для вывода.

--cli-auto-prompt (булево значение)

Автоматически запрашивать параметры CLI.

--no-cli-auto-prompt (булево значение)

Отключить автоматическое запросить параметры CLI.

Примеры

Примечание

Для использования следующих примеров необходимо установить и настроить AWS CLI. Дополнительные сведения см. в руководстве пользователя AWS CLI.

Если не указано иное, все примеры используют правила кавычек, похожие на правила Unix. Эти примеры необходимо адаптировать к правилам кавычек вашей оболочки. Дополнительные сведения см. в руководстве пользователя AWS CLI.

Пример 1: Создание управляемой группы узлов для кластера Amazon EKS

Следующий create-nodegroup пример создаёт управляемую группу узлов для кластера Amazon EKS.

aws eks create-nodegroup \
    --cluster-name my-eks-cluster \
    --nodegroup-name my-eks-nodegroup \
    --node-role arn:aws:iam::111122223333:role/role-name \
    --subnets "subnet-0e2907431c9988b72" "subnet-04ad87f71c6e5ab4d" "subnet-09d912bb63ef21b9a" \
    --scaling-config minSize=1,maxSize=3,desiredSize=1 \
    --region us-east-2

Вывод:

{
    "nodegroup": {
        "nodegroupName": "my-eks-nodegroup",
        "nodegroupArn": "arn:aws:eks:us-east-2:111122223333:nodegroup/my-eks-cluster/my-eks-nodegroup/bac7550f-b8b8-5fbb-4f3e-7502a931119e",
        "clusterName": "my-eks-cluster",
        "version": "1.26",
        "releaseVersion": "1.26.12-20240329",
        "createdAt": "2024-04-04T13:19:32.260000-04:00",
        "modifiedAt": "2024-04-04T13:19:32.260000-04:00",
        "status": "CREATING",
        "capacityType": "ON_DEMAND",
        "scalingConfig": {
            "minSize": 1,
            "maxSize": 3,
            "desiredSize": 1
        },
        "instanceTypes": [
            "t3.medium"
        ],
        "subnets": [
            "subnet-0e2907431c9988b72, subnet-04ad87f71c6e5ab4d, subnet-09d912bb63ef21b9a"
        ],
        "amiType": "AL2_x86_64",
        "nodeRole": "arn:aws:iam::111122223333:role/role-name",
        "diskSize": 20,
        "health": {
            "issues": []
        },
        "updateConfig": {
            "maxUnavailable": 1
        },
        "tags": {}
    }
}

Дополнительную информацию см. в руководстве пользователя Amazon EKS.

Пример 2: Создание управляемой группы узлов для кластера Amazon EKS с настраиваемыми типами экземпляров и размером диска

Следующий create-nodegroup пример создаёт управляемую группу узлов для кластера Amazon EKS с настраиваемыми типами экземпляров и размером диска.

aws eks create-nodegroup \
    --cluster-name my-eks-cluster \
    --nodegroup-name my-eks-nodegroup \
    --node-role arn:aws:iam::111122223333:role/role-name \
    --subnets "subnet-0e2907431c9988b72" "subnet-04ad87f71c6e5ab4d" "subnet-09d912bb63ef21b9a" \
    --scaling-config minSize=1,maxSize=3,desiredSize=1 \
    --capacity-type ON_DEMAND \
    --instance-types 'm5.large' \
    --disk-size 50 \
    --region us-east-2

Вывод:

{
    "nodegroup": {
        "nodegroupName": "my-eks-nodegroup",
        "nodegroupArn": "arn:aws:eks:us-east-2:111122223333:nodegroup/my-eks-cluster/my-eks-nodegroup/c0c7551b-e4f9-73d9-992c-a450fdb82322",
        "clusterName": "my-eks-cluster",
        "version": "1.26",
        "releaseVersion": "1.26.12-20240329",
        "createdAt": "2024-04-04T13:46:07.595000-04:00",
        "modifiedAt": "2024-04-04T13:46:07.595000-04:00",
        "status": "CREATING",
        "capacityType": "ON_DEMAND",
        "scalingConfig": {
            "minSize": 1,
            "maxSize": 3,
            "desiredSize": 1
        },
        "instanceTypes": [
            "m5.large"
        ],
        "subnets": [
            "subnet-0e2907431c9988b72",
            "subnet-04ad87f71c6e5ab4d",
            "subnet-09d912bb63ef21b9a"
        ],
        "amiType": "AL2_x86_64",
        "nodeRole": "arn:aws:iam::111122223333:role/role-name",
        "diskSize": 50,
        "health": {
            "issues": []
        },
        "updateConfig": {
            "maxUnavailable": 1
        },
        "tags": {}
    }
}

Дополнительную информацию см. в руководстве пользователя Amazon EKS.

Пример 3: Создание управляемой группы узлов для кластера Amazon EKS с настраиваемыми типами экземпляров, размером диска, типом AMI, типом ёмкости, конфигурацией обновления, метками, метками и тегами.

Следующий create-nodegroup пример создаёт управляемую группу узлов для кластера Amazon EKS с настраиваемыми типами экземпляров, размером диска, типом AMI, типом ёмкости, конфигурацией обновления, метками, метками и тегами.

aws eks create-nodegroup  \
    --cluster-name my-eks-cluster \
    --nodegroup-name my-eks-nodegroup \
    --node-role arn:aws:iam::111122223333:role/role-name \
    --subnets "subnet-0e2907431c9988b72" "subnet-04ad87f71c6e5ab4d" "subnet-09d912bb63ef21b9a" \
    --scaling-config minSize=1,maxSize=5,desiredSize=4 \
    --instance-types 't3.large' \
    --disk-size 50 \
    --ami-type AL2_x86_64 \
    --capacity-type SPOT \
    --update-config maxUnavailable=2 \
    --labels '{"my-eks-nodegroup-label-1": "value-1" , "my-eks-nodegroup-label-2": "value-2"}' \
    --taints '{"key": "taint-key-1" , "value": "taint-value-1", "effect": "NO_EXECUTE"}' \
    --tags '{"my-eks-nodegroup-key-1": "value-1" , "my-eks-nodegroup-key-2": "value-2"}'

Вывод:

{
    "nodegroup": {
        "nodegroupName": "my-eks-nodegroup",
        "nodegroupArn": "arn:aws:eks:us-east-2:111122223333:nodegroup/my-eks-cluster/my-eks-nodegroup/88c75524-97af-0cb9-a9c5-7c0423ab5314",
        "clusterName": "my-eks-cluster",
        "version": "1.26",
        "releaseVersion": "1.26.12-20240329",
        "createdAt": "2024-04-04T14:05:07.940000-04:00",
        "modifiedAt": "2024-04-04T14:05:07.940000-04:00",
        "status": "CREATING",
        "capacityType": "SPOT",
        "scalingConfig": {
            "minSize": 1,
            "maxSize": 5,
            "desiredSize": 4
        },
        "instanceTypes": [
            "t3.large"
        ],
        "subnets": [
            "subnet-0e2907431c9988b72",
            "subnet-04ad87f71c6e5ab4d",
            "subnet-09d912bb63ef21b9a"
        ],
        "amiType": "AL2_x86_64",
        "nodeRole": "arn:aws:iam::111122223333:role/role-name",
        "labels": {
            "my-eks-nodegroup-label-2": "value-2",
            "my-eks-nodegroup-label-1": "value-1"
        },
        "taints": [
            {
                "key": "taint-key-1",
                "value": "taint-value-1",
                "effect": "NO_EXECUTE"
            }
        ],
        "diskSize": 50,
        "health": {
            "issues": []
        },
        "updateConfig": {
            "maxUnavailable": 2
        },
        "tags": {
            "my-eks-nodegroup-key-1": "value-1",
            "my-eks-nodegroup-key-2": "value-2"
        }
    }
}

Дополнительную информацию см. в руководстве пользователя Amazon EKS.

Вывод

nodegroup -> (структура)

Полное описание вашей новой группы узлов.

nodegroupName -> (строка)

Имя, связанное с управляемой группой узлов Amazon EKS.

nodegroupArn -> (строка)

Amazon Resource Name (ARN), связанный с управляемой группой узлов.

clusterName -> (строка)

Имя вашего кластера.

version -> (строка)

Версия Kubernetes управляемой группы узлов.

releaseVersion -> (строка)

Если группа узлов была развернута с помощью шаблона запуска с настраиваемым образом AMI, то это идентификатор AMI, указанный в шаблоне запуска. Для групп узлов, которые не были развернуты с помощью шаблона запуска, это версия оптимизированного для Amazon EKS образа AMI, с которым была развернута группа узлов.

createdAt -> (временная метка)

Временная метка эпохи Unix при создании объекта.

modifiedAt -> (временная метка)

Временная метка эпохи Unix для последнего изменения объекта.

status -> (строка)

Текущий статус управляемой группы узлов.

capacityType -> (строка)

Тип емкости вашей управляемой группы узлов.

scalingConfig -> (структура)

Подробности конфигурации масштабирования для группы автоматического масштабирования, связанной с вашей группой узлов.

minSize -> (целое число)

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

maxSize -> (целое число)

Максимальное количество узлов, до которого может масштабироваться управляемая группа узлов. Сведения о максимальном значении, которое можно указать, см. в разделе Квоты сервиса Amazon EKS в Руководстве пользователя Amazon EKS.

desiredSize -> (целое число)

Текущее количество узлов, которое управляемая группа узлов должна поддерживать.

Предупреждение

Если вы используете Kubernetes Cluster Autoscaler, вам не следует изменять значение desiredSize напрямую, так как это может привести к внезапному увеличению или уменьшению масштаба Cluster Autoscaler.

При изменении этого параметра количество узлов рабочих процессов в группе узлов обновляется до указанного размера. Если этому параметру присваивается значение, меньшее текущего количества работающих узлов рабочих процессов, необходимое количество узлов рабочих процессов будет прекращено, чтобы соответствовать заданному значению. При использовании CloudFormation никаких действий не происходит, если вы удалите этот параметр из шаблона CFN.

Этот параметр может отличаться от minSize в некоторых случаях, например, при запуске с дополнительными узлами для тестирования. Этот параметр также может отличаться, когда вы хотите начать с оценочного количества необходимых узлов, но позволить Cluster Autoscaler уменьшить количество, если их слишком много. При использовании Cluster Autoscaler параметр desiredSize изменяется Cluster Autoscaler (но может быть неактуальным в течение коротких промежутков времени). Cluster Autoscaler не масштабирует управляемую группу узлов меньше minSize или больше maxSize.

instanceTypes -> (список)

Если группа узлов не была развернута с помощью шаблона запуска, это тип экземпляра, связанный с группой узлов. Если группа узлов была развернута с помощью шаблона запуска, это null.

(строка)

subnets -> (список)

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

(строка)

remoteAccess -> (структура)

Если группа узлов не была развернута с помощью шаблона запуска, это конфигурация удаленного доступа, связанная с группой узлов. Если группа узлов была развернута с помощью шаблона запуска, это null.

ec2SshKey -> (строка)

Имя ключа SSH Amazon EC2, предоставляющего доступ для SSH-соединения с узлами в управляемой группе узлов. Дополнительную информацию см. в разделе Amazon EC2 ключи и Linux-экземпляры в Руководстве пользователя Amazon Elastic Compute Cloud для Linux-экземпляров. Для Windows используется ключ Amazon EC2 SSH для получения пароля RDP. Дополнительную информацию см. в разделе Amazon EC2 ключи и Windows-экземпляры в Руководстве пользователя Amazon Elastic Compute Cloud для Windows-экземпляров.

sourceSecurityGroups -> (список)

Идентификаторы групп безопасности, которым разрешен доступ SSH (порт 22) к узлам. Для Windows порт составляет 3389. Если вы укажете ключ SSH Amazon EC2, но не укажете группу безопасности источника при создании управляемой группы узлов, то порт на узлах будет открыт для Интернета (0.0.0.0/0). Дополнительную информацию см. в разделе Группы безопасности для вашей VPC в Руководстве пользователя Amazon Virtual Private Cloud.

(строка)

amiType -> (строка)

Если группа узлов была развернута с помощью шаблона запуска с настраиваемым образом AMI, это CUSTOM. Для групп узлов, которые не были развернуты с помощью шаблона запуска, это тип образа AMI, указанный в конфигурации группы узлов.

nodeRole -> (строка)

Роль IAM, связанная с вашей группой узлов. Демон узла Amazon EKS kubelet выполняет вызовы API Amazon Web Services от вашего имени. Узлы получают разрешения на эти вызовы API через профиль экземпляра IAM и связанные политики.

labels -> (карта)

Kubernetes labels, примененные к узлам в группе узлов.

Примечание

Только labels, которые применяются с помощью API Amazon EKS, отображаются здесь. Могут быть и другие метки Kubernetes labels, примененные к узлам в этой группе.

ключ -> (строка)

значение -> (строка)

taints -> (список)

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

(структура)

Свойство, позволяющее узлу отражать Pod. Дополнительную информацию см. в разделе Метки узлов в управляемых группах узлов в Руководстве пользователя Amazon EKS.

ключ -> (строка)

Ключ метки.

значение -> (строка)

Значение метки.

effect -> (строка)

Эффект метки.

resources -> (структура)

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

autoScalingGroups -> (список)

Группы автоматического масштабирования, связанные с группой узлов.

(структура)

Группа автоматического масштабирования, связанная с управляемой группой узлов Amazon EKS.

name -> (строка)

Имя группы автоматического масштабирования, связанной с управляемой группой узлов Amazon EKS.

remoteAccessSecurityGroup -> (строка)

Группа безопасности удаленного доступа, связанная с группой узлов. Эта группа безопасности управляет доступом SSH к узлам.

diskSize -> (целое число)

Если группа узлов не была развернута с помощью шаблона запуска, это размер диска в конфигурации группы узлов. Если группа узлов была развернута с помощью шаблона запуска, это null.

health -> (структура)

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

issues -> (список)

Любые проблемы, связанные с группой узлов.

(структура)

Объект, представляющий проблему с ресурсом Amazon EKS.

code -> (строка)

Краткое описание ошибки.

  • AccessDenied : Amazon EKS или один или несколько управляемых узлов не могут пройти аутентификацию или авторизацию с сервером API кластера Kubernetes.
  • AsgInstanceLaunchFailures : Группа автоматического масштабирования испытывает сбои при запуске экземпляров.
  • AutoScalingGroupNotFound : Мы не нашли группу автоматического масштабирования, связанную с управляемой группой узлов. Вы можете попробовать воссоздать группу автоматического масштабирования с теми же параметрами для восстановления.
  • ClusterUnreachable : Amazon EKS или один или несколько управляемых узлов не могут связаться с сервером API кластера Kubernetes. Это может произойти из-за сетевых сбоев или из-за того, что серверы API не успевают обрабатывать запросы.
  • Ec2InstanceTypeDoesNotExist : Один или несколько предоставленных типов экземпляров Amazon EC2 не существуют. Amazon EKS проверил предоставленные вами типы экземпляров в данном регионе Amazon Web Services, и один или несколько из них недоступны.
  • Ec2LaunchTemplateNotFound : Мы не нашли шаблон запуска Amazon EC2 для вашей управляемой группы узлов. Вы можете попробовать воссоздать шаблон запуска с теми же параметрами для восстановления.
  • Ec2LaunchTemplateVersionMismatch : Версия шаблона запуска Amazon EC2 для вашей управляемой группы узлов не соответствует версии, созданной Amazon EKS. Вы можете попробовать вернуться к версии, созданной Amazon EKS, для восстановления.
  • Ec2SecurityGroupDeletionFailure : Мы не смогли удалить группу безопасности удаленного доступа для вашей управляемой группы узлов. Удалите все зависимости от группы безопасности.
  • Ec2SecurityGroupNotFound : Мы не нашли группу безопасности кластера для кластера. Вам необходимо воссоздать кластер.
  • Ec2SubnetInvalidConfiguration : Один или несколько указанных подсетей Amazon EC2 для группы узлов не автоматически назначают публичные IP-адреса экземплярам, запущенным в них. Если вы хотите, чтобы вашим экземплярам был назначен публичный IP-адрес, вам необходимо включить параметр auto-assign public IP address для подсети. См. Изменение атрибута адресации публичного ``IPv4` для вашей подсети <https://docs.aws.amazon.com/vpc/latest/userguide/vpc-ip-addressing.html#subnet-public-ip>`__ в Руководстве пользователя Amazon VPC .
  • IamInstanceProfileNotFound : Мы не нашли профиль экземпляра IAM для вашей управляемой группы узлов. Вы можете попробовать воссоздать профиль экземпляра с теми же параметрами для восстановления.
  • IamNodeRoleNotFound : Мы не нашли роль IAM для вашей управляемой группы узлов. Вы можете попробовать воссоздать роль IAM с теми же параметрами для восстановления.
  • InstanceLimitExceeded : Ваш аккаунт Amazon Web Services не может запустить больше экземпляров указанного типа. Вы можете попробовать увеличить лимит экземпляров Amazon EC2 для восстановления.
  • InsufficientFreeAddresses : Одна или несколько подсетей, связанных с вашей управляемой группой узлов, не имеют достаточного количества доступных IP-адресов для новых узлов.
  • InternalFailure : Эти ошибки, как правило, вызваны проблемой на стороне сервера Amazon EKS.
  • NodeCreationFailure : Запущенные экземпляры не могут зарегистрироваться в вашем кластере Amazon EKS. Распространенными причинами этого сбоя являются недостаточные разрешения роли IAM узла или отсутствие внешнего доступа в Интернет для узлов.

message -> (строка)

Сообщение об ошибке, связанное с проблемой.

resourceIds -> (список)

Ресурсы Amazon Web Services, пострадавшие от этой проблемы.

(строка)

updateConfig -> (структура)

Настройка обновления группы узлов.

maxUnavailable -> (целое число)

Максимальное количество недоступных узлов одновременно во время обновления версии. Узлы обновляются параллельно. Это значение или maxUnavailablePercentage должно иметь значение. Максимальное значение - 100.

maxUnavailablePercentage -> (целое число)

Максимальный процент недоступных узлов во время обновления версии. Этот процент узлов обновляется параллельно, до 100 узлов одновременно. Это значение или maxUnavailable должно иметь значение.

updateStrategy -> (строка)

Настройка поведения во время обновления версии управляемой группы узлов. Вы можете выбрать одну из двух стратегий для замены узлов во время действия ` UpdateNodegroupVersion https://docs.aws.amazon.com/eks/latest/APIReference/API_UpdateNodegroupVersion.html`__.

Управляемая группа узлов Amazon EKS обновляется путем параллельной замены узлов новыми узлами с более новыми версиями AMI. Стратегия обновления меняет поведение обновления управляемых узлов управляемой группы узлов для каждого количества. По умолчанию стратегия имеет ограничения для предотвращения неправильной настройки и сначала запускает новые экземпляры, прежде чем завершать старые экземпляры. Минимальная стратегия удаляет ограничения и завершает старые экземпляры до запуска новых. Эта минимальная стратегия полезна в ситуациях, когда вы ограничены ресурсами или затратами (например, с аппаратными ускорителями, такими как GPU).

nodeRepairConfig -> (структура)

Настройка автоматического ремонта узлов для группы узлов.

enabled -> (булево)

Указывает, включить ли автоматический ремонт узлов для группы узлов. Автоматический ремонт узлов отключен по умолчанию.

launchTemplate -> (структура)

Если для создания группы узлов использовался шаблон запуска, то это шаблон запуска, который использовался.

name -> (строка)

Название шаблона запуска.

Вы должны указать либо имя шаблона запуска, либо идентификатор шаблона запуска в запросе, но не оба. После создания группы узлов вы не можете использовать другое имя.

version -> (строка)

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

id -> (строка)

Идентификатор шаблона запуска.

Вы должны указать либо идентификатор шаблона запуска, либо имя шаблона запуска в запросе, но не оба. После создания группы узлов вы не можете использовать другой идентификатор.

tags -> (отображение)

Метаданные, которые помогают с категоризацией и организацией. Каждый тег состоит из ключа и необязательного значения. Вы определяете оба. Теги не распространяются на другие кластеры или ресурсы Amazon Web Services.

key -> (строка)

Одна часть пары «ключ-значение», составляющей тег. Ключ — это общее метка, которая действует как категория для более конкретных значений тегов.

value -> (строка)

Необязательная часть пары «ключ-значение», составляющей тег. Значение действует как описание в категории тегов (ключ).

© Copyright 2025, Amazon Web Services. Created using Sphinx.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API