Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2023-04-13 GMT+08:00

Creación de un pool de nodos

Función

Esta API se utiliza para crear un pool de nodos en un clúster especificado. Esta API solo se puede invocar cuando el clúster está en el estado available, scaling-out o scaling-in. Al crear un pool de nodos en un clúster de v1.21, puede enlazar grupos de seguridad al pool de nodos. Se puede enlazar un máximo de cinco grupos de seguridad a un pool de nodos. Después de actualizar los grupos de seguridad de un pool de nodos, la actualización solo tiene efecto para los pods recién creados. Se le aconseja desalojar los pods originales en el nodo.

Si no hay clúster, cree uno. El URL para la gestión de clústeres tiene el formato https://Endpoint/uri. En el URL, uri indica la ruta del recurso, es decir, la ruta para el acceso a la API.

URI

POST /api/v3/projects/{project_id}/clusters/{cluster_id}/nodepools

Tabla 1 Parámetros de ruta

Parámetro

Obligatorio

Tipo

Descripción

project_id

String

ID del proyecto. Para obtener más información sobre cómo obtener el valor, consulta Cómo obtener parámetros en el URI de API.

cluster_id

String

ID del clúster. Para obtener más información sobre cómo obtener el valor, consulta Cómo obtener parámetros en el URI de API.

Parámetros de solicitud

Tabla 2 Parámetros de cabecera de solicitud

Parámetro

Obligatorio

Tipo

Descripción

Content-Type

String

Tipo de cuerpo del mensaje (formato).

X-Auth-Token

String

Las solicitudes para invocar a una API pueden autenticarse usando un token o AK/SK. Si se utiliza la autenticación basada en token, este parámetro es obligatorio y se debe establecer en un token de usuario. Para obtener más información, consulte Obtención de un token de usuario.

Tabla 3 Parámetros del cuerpo de solicitud

Parámetro

Obligatorio

Tipo

Descripción

kind

String

Tipo de la API. El valor se fija en NodePool.

apiVersion

String

Versión de la API. El valor se fija en v3.

metadata

Objeto de NodePoolMetadata

Información de metadatos del pool de nodo

spec

Objeto de NodePoolSpec

Especificaciones del pool de nodos

status

No

Objeto de NodePoolStatus

Node pool status

Tabla 4 NodePoolMetadata

Parámetro

Obligatorio

Tipo

Descripción

name

String

Nombre del pool de nodos.

NOTA:

Reglas de nomenclatura:

Escriba de 1 a 50 caracteres, comenzando con una letra minúscula y no terminando con un guion (-). Solo se permiten letras minúsculas, dígitos y guiones (-).

  • No se pueden crear los pools de nodos denominados DefaultPool.

uid

No

String

UID del pool de nodo. El valor se genera automáticamente después de actualizar el objeto. Un valor definido por el usuario no tendrá efecto.

annotations

No

Map<String,String>

Anotaciones de un pool de nodos en los pares de clave y valor

updateTimestamp

No

String

Tiempo de actualización.

creationTimestamp

No

String

Tiempo de creación.

Tabla 5 NodePoolSpec

Parámetro

Obligatorio

Tipo

Descripción

type

No

String

Tipo del pool de nodos. Si este parámetro se deja en blanco, el valor vm se utiliza de forma predeterminada.

  • vm: ECS

  • ElasticBMS: BMS de cómputo-plus C6. Una especificación de ejemplo es c6.22xlarge.2.physical.

nodeTemplate

Objeto de NodeSpec

Parámetros detallados de la plantilla del pool de nodos.

initialNodeCount

No

Integer

Número inicial de nodos para el pool de nodos. Cuando se consulta, el valor es el número de nodos de destino en el pool de nodos.

autoscaling

No

Objeto de NodePoolNodeAutoscaling

Parámetros de escalado automático

nodeManagement

No

Objeto de NodeManagement

Configuración de gestión de nodos

podSecurityGroups

No

Matriz de objetos de SecurityID

Configuración de grupos de seguridad

Tabla 6 NodeSpec

Parámetro

Obligatorio

Tipo

Descripción

flavor

String

Especificaciones del nodo. Para obtener detalles sobre las especificaciones de nodo admitidas por CCE, consulte la Descripción de la variante del nodo.

az

String

Nombre de la AZ donde se encuentra el nodo que se va a crear. Para obtener más información acerca de las AZ admitidas por CCE, consulte la sección Regiones y puntos de conexión.

os

No

String

SO del nodo. Para obtener más información acerca de los SO compatibles, consulte la Descripción del nodo de SO.

NOTA:
  • El sistema selecciona automáticamente el SO compatible según la versión del clúster. Si la versión actual del clúster no admite el SO, se informará un error.

NOTA:
  • Si se especifica alpha.cce/NodeImageID en extendParam durante la creación del nodo, no es necesario establecer este campo.

login

Objeto de Login

Modo de inicio de sesión de nodo. Se debe usar el par de claves o la contraseña para iniciar sesión.

rootVolume

Objeto de Volume

Información sobre los discos en el nodo

dataVolumes

Matriz de objetos de Volume

Parámetros del disco de datos del nodo. Actualmente, puede agregar el segundo disco de datos para su nodo en la consola de CCE.

Para los nodos de DeC, la descripción del parámetro es la misma que para rootVolume.

storage

No

Objeto de Storage

Parámetro de gestión de inicialización de disco.

Este parámetro es complejo de configurar. Para obtener más información, consulte la Conexión de discos a un nodo.

Si no se especifica este parámetro, los discos se administran según el parámetro DockerLVMConfigOverride en extendParam. Este parámetro es compatible con clústeres de v1.15.11 y posteriores.

publicIP

No

Objeto de NodePublicIP

La EIP de un nodo.

NOTA:

Este parámetro no se admite cuando se agrega un nodo a un pool de nodos.

nodeNicSpec

No

Objeto de NodeNicSpec

La NIC del nodo

count

No

Integer

Número de nodos que se van a crear en un lote. El valor debe ser un entero positivo mayor o igual que 1 y menor o igual que el límite definido. Este parámetro se puede dejar en blanco cuando se utiliza para un pool de nodos.

billingMode

No

Integer

Modo de facturación de nodos.

  • 0: pago por uso

  • 1: anual/mensual

  • 2: (desechado) facturación anual/mensual con pago automático habilitado

taints

No

Matriz de objetos de Taint

Se pueden agregar etiquetas para evitar la afinidad al crear nodos. Se puede agregar un máximo de 20 manchas. Cada mancha contiene los siguientes parámetros:

  • Key: Una clave debe contener de 1 a 63 caracteres que comiencen con una letra o un dígito. Solo se permiten letras, dígitos, guiones (-), guiones bajos (_) y puntos (.). Un nombre de subdominio de DNS se puede utilizar como prefijo de una clave.

  • Value: Un valor debe comenzar con una letra o un dígito y puede contener un máximo de 63 caracteres, incluidos letras, dígitos, guiones (-), guiones bajos (_) y puntos (.).

  • Effect: Las opciones disponibles son NoSchedule, PreferNoSchedule y NoExecute.

Por ejemplo:

"taints": [{
  "key": "status",
  "value": "unavailable",
  "effect": "NoSchedule"
}, {
  "key": "looks",
  "value": "bad",
  "effect": "NoSchedule"
}]

k8sTags

No

Map<String,String>

Definida en pares de clave y valor. Se permite un máximo de 20 pares de clave y valor.

  • Key: Introduzca de 1 a 63 caracteres, comenzando con una letra o un dígito. Solo se permiten letras, dígitos, guiones (-), guiones bajos (_) y puntos (.). Un subdominio de DNS puede tener un prefijo a una clave y contener un máximo de 253 caracteres. Ejemplo de subdominio de DNS: example.com/my-key

  • Value: El valor puede dejarse en blanco o contener de 1 a 63 caracteres que comienzan con una letra o un dígito. Solo letras, dígitos, guiones (-), guiones bajos (_) y puntos (.) están permitidos en la string de caracteres.

Por ejemplo:

"k8sTags": {
  "key": "value"
}

ecsGroupId

No

String

ID de grupo de servidores en la nube. Si se especifica este campo, el nodo se crea en el grupo especificado de servidores en la nube.

dedicatedHostId

No

String

ID del DeH al que está programado el nodo.

NOTA:

Este parámetro no se admite cuando se agrega un nodo durante la creación del pool de nodos.

userTags

No

Matriz de objetos de UserTag

Etiqueta de servidor en la nube. La clave de una etiqueta debe ser única. El número máximo de etiquetas personalizadas admitidas por CCE depende de la región y no puede exceder de 8.

runtime

No

Objeto de Runtime

Tiempo de ejecución del contenedor. El valor predeterminado es docker.

extendParam

No

Objeto de NodeExtendParam

Parámetros extendidos para crear un nodo.

Tabla 7 Login

Parámetro

Obligatorio

Tipo

Descripción

sshKey

No

String

Nombre del par de claves utilizado para el inicio de sesión.

userPassword

No

Objeto de UserPassword

Contraseña utilizada para el inicio de sesión del nodo.

Tabla 8 UserPassword

Parámetro

Obligatorio

Tipo

Descripción

username

No

String

La cuenta para iniciar sesión en. El valor predeterminado es root.

password

String

Si se utiliza un nombre de usuario y una contraseña para crear un nodo, este campo está protegido en el cuerpo de la respuesta. Una contraseña debe cumplir con los siguientes requisitos de complejidad:

  • Contiene de 8 a 26 caracteres.

  • Debe contener al menos tres de los siguientes tipos de caracteres: letras mayúsculas y minúsculas, dígitos y caracteres especiales (!@$%^-_=+[{}]:,./?~#*)

  • No puede contener el nombre de usuario ni el nombre de usuario escrito al revés. El campo password debe estar salteado durante la creación del nodo. Para obtener más información, consulte la sección Adición de una sal en el campo de contraseña al crear un nodo.

Tabla 9 Volumen

Parámetro

Obligatorio

Tipo

Descripción

size

Integer

Tamaño de disco, en GB.

  • Disco del sistema: 40 a 1024

  • Disco de datos: 100 a 32768

volumetype

String

Tipo de disco. Para obtener más información sobre los posibles valores, consulte la descripción del parámetro root_volume en la API utilizada para crear un ECS en la referencia de la API de ECS.

  • SAS: disco de E/S alta

  • SSD: disco de E/S ultraalta

  • SATA: los discos SATA de E/S comunes se han eliminado de EVS. Puede encontrarlos adjuntos solo en los nodos existentes.

extendParam

No

Map<String,Object>

Parámetros de los discos extendidos, definidos en extendparam en la API utilizada para crear un ECS. Para obtener más información, consulte la Creación de un ECS.

cluster_id

No

String

ID del pool de almacenamientos utilizado por el disco del sistema de ECS. Este campo solo se utiliza para clústeres de DeC, que funciona como dssPoolID, es decir, el ID del pool de almacenamiento de DSS.

Para obtener el valor, consulte el campo ID de la API utilizada para obtener detalles de un pool de almacenamiento de DSS.

cluster_type

No

String

Clase de almacenamiento del disco del sistema del servidor en la nube. El valor es siempre dss. Este campo solo se utiliza para clústeres de DeC.

hw:passthrough

No

Boolean

  • Preste atención a este campo si su ECS es compatible con SDI. Si el valor de este campo es true, se creará un disco de SCSI.

  • Si el tipo de pool de nodos es ElasticBMS, este campo debe estar establecido en true.

metadata

No

Objeto de VolumeMetadata

Información de encriptación de disco de EVS. Este campo es obligatorio solo cuando necesita cifrar el disco del sistema o los discos de datos del nodo que se va a crear.

Tabla 10 VolumeMetadata

Parámetro

Obligatorio

Tipo

Descripción

__system__encrypted

No

String

Si el disco de EVS está cifrado. El valor 0 indica que el disco de EVS no está cifrado, y el valor 1 indica que el disco de EVS está cifrado.

Si no se especifica este parámetro, los discos de EVS no se cifrarán de forma predeterminada.

__system__cmkid

No

String

ID de CMK, que indica la encriptación de metadata. Este campo se utiliza con __system__encrypted.

Tabla 11 Storage

Parámetro

Obligatorio

Tipo

Descripción

storageSelectors

Matriz de objetos de StorageSelectors

Selección de disco. Los discos coincidentes se gestionan de acuerdo con matchLabels y storageType.

storageGroups

Matriz de objetos de StorageGroups

Un grupo de almacenamiento consta de varios dispositivos de almacenamiento. Se utiliza para dividir el espacio de almacenamiento.

Tabla 12 StorageSelectors

Parámetro

Obligatorio

Tipo

Descripción

name

String

Nombre del selector, utilizado como el índice de selectorNames en storageGroup. Por lo tanto, el nombre de cada selector debe ser único.

storageType

String

Especifica el tipo de almacenamiento. Actualmente, solo se admiten evs (volúmenes de EVS) y local (volúmenes locales). El almacenamiento local no admite la selección de disco. Todos los discos locales formarán un VG. Por lo tanto, solo se permite un storageSelector del tipo local.

matchLabels

No

Objeto de matchLabels

Campo coincidente de un volumen de EVS. Los campos size, volumeType, metadataEncrypted, metadataCmkid y count son compatibles.

Tabla 13 matchLabels

Parámetro

Obligatorio

Tipo

Descripción

size

No

String

Tamaño del disco coincidente. Si este parámetro se deja sin especificar, el tamaño del disco no está limitado. Ejemplo: 100

volumeType

No

String

Tipo del disco de EVS. Actualmente, SSD, GPSSD y SAS son compatibles.

metadataEncrypted

No

String

Identificador de la encriptación de disco. 0 indica que el disco no está cifrado y 1 indica que el disco está cifrado.

metadataCmkid

No

String

ID de clave principal de cliente de un disco cifrado. El valor es una string de 36 bytes.

count

No

String

Número de discos que se van a seleccionar. Si este parámetro se deja en blanco, se seleccionan todos los discos de este tipo.

Tabla 14 StorageGroups

Parámetro

Obligatorio

Tipo

Descripción

name

String

Nombre de un grupo de almacenamiento virtual. Cada nombre de grupo debe ser único.

cceManaged

No

Boolean

Espacio de almacenamiento para Kubernetes y componentes de tiempo de ejecución. Solo se puede establecer un grupo en true. Si este parámetro se deja en blanco, se utiliza el valor predeterminado false.

selectorNames

Matriz de strings

Este parámetro corresponde a name en storageSelectors. Un grupo puede coincidir con varios selectores, pero un selector solo puede coincidir con un grupo.

virtualSpaces

Matriz de objetos de VirtualSpace

Gestión detallada de la configuración del espacio en un grupo.

Tabla 15 VirtualSpace

Parámetro

Obligatorio

Tipo

Descripción

name

String

Nombre de espacio virtual. Actualmente, solo se admiten kubernetes, runtime y user. kubernetes y user requieren lvmConfig para ser configurado. runtime requiere que se configure runtimeConfig.

size

String

Tamaño de un espacio virtual. Solo se admite un porcentaje entero. Ejemplo: 90%. Tenga en cuenta que el porcentaje total de todos los espacios virtuales de un grupo no puede superar el 100%.

lvmConfig

No

Objeto de LVMConfig

Configuraciones de LVM, aplicables a espacios kubernetes y user. Tenga en cuenta que un espacio virtual solo admite una configuración.

runtimeConfig

No

Objeto de RuntimeConfig

Configuraciones en tiempo de ejecución, aplicables al espacio runtime. Tenga en cuenta que un espacio virtual solo admite una configuración.

Tabla 16 LVMConfig

Parámetro

Obligatorio

Tipo

Descripción

lvType

String

Modo de escritura de LVM. linear indica el modo lineal. striped indica el modo seccionado, en el que se utilizan varios discos para formar una banda para mejorar el rendimiento del disco.

path

No

String

Ruta de acceso a la que está conectado el disco. Este parámetro solo tiene efecto en la configuración del usuario. El valor es una ruta absoluta. Dígitos, letras, puntos (.), guiones (-) y guiones bajos (_) están permitidos.

Tabla 17 RuntimeConfig

Parámetro

Obligatorio

Tipo

Descripción

lvType

String

Modo de escritura de LVM. linear indica el modo lineal. striped indica el modo seccionado, en el que se utilizan varios discos para formar una banda para mejorar el rendimiento del disco.

Tabla 18 NodePublicIP

Parámetro

Obligatorio

Tipo

Descripción

ids

No

Matriz de strings

ID de las EIP existentes. La cantidad no puede ser mayor que el número de nodos que se van a crear.

NOTA:

Si se ha establecido ids, no es necesario establecer count y eip.

count

No

Integer

Número de las EIP que se crearán dinámicamente.

NOTA:

count y eip deben configurarse al mismo tiempo.

eip

No

Objeto de NodeEIPSpec

Configuración de la EIP.

Tabla 19 NodeEIPSpec

Parámetro

Obligatorio

Tipo

Descripción

iptype

No

String

Tipo de la EIP, especificado en publicip.type en la API para asignar una EIP. Para obtener más información, consulte Asignar una EIP.

bandwidth

No

Objeto de NodeBandwidth

Parámetros de ancho de banda de la EIP

Tabla 20 NodeBandwidth

Parámetro

Obligatorio

Tipo

Descripción

chargemode

No

String

Modo de facturación de ancho de banda.

  • Si no se especifica este campo, la facturación se basa en el ancho de banda. - Si el campo es nulo, la facturación se basa en el ancho de banda.

  • Si el valor del campo es traffic, la facturación se basa en el tráfico.

  • Si el valor está fuera de las opciones anteriores, no se creará el servidor en la nube.

NOTA:
  • Facturación por ancho de banda: La facturación se basará en la velocidad de transmisión de datos (en Mbps) de las redes públicas. Este modo de facturación se recomienda si su uso de ancho de banda es superior al 10%.

  • Facturación por tráfico: La facturación se basa en la cantidad total de datos (en GB) transmitidos a través de la red pública. Este modo solo está disponible cuando está creando un nodo de pago por uso. Este modo de facturación se recomienda si su uso de ancho de banda es inferior al 10%.

size

No

Integer

Tamaño de ancho de banda, especificado en bandwidth.size en la API para asignar una EIP. Para obtener más información, consulte Asignar una EIP.

sharetype

No

String

Tipo de uso compartido de ancho de banda. Opciones de valor: PER (ancho de banda exclusivo) y WHOLE (ancho de banda compartido)

Tabla 21 NodeNicSpec

Parámetro

Obligatorio

Tipo

Descripción

primaryNic

No

Objeto de NicSpec

Descripción de la NIC principal.

extNics

No

Matriz de objetos de NicSpec

NIC de extensión

NOTA:

Este parámetro no se admite cuando se agrega un nodo a un pool de nodos.

Tabla 22 NicSpec

Parámetro

Obligatorio

Tipo

Descripción

subnetId

No

String

ID de la subred a la que pertenece la NIC. Si no se especifica subnetId al crear la NIC principal, se utiliza la subred del clúster. Al crear una NIC secundaria, debe especificar subnetId.

fixedIps

No

Matriz de strings

fixedIps especifica la dirección IP de la NIC principal. El número de direcciones IP no puede ser mayor que el número de los nodos creados. fixedIps y ipBlock no se pueden especificar al mismo tiempo.

ipBlock

No

String

Formato CIDR del rango de IP de la NIC principal. La dirección IP del nodo creado cae en este intervalo. fixedIps y ipBlock no se pueden especificar al mismo tiempo.

Tabla 23 Taint

Parámetro

Obligatorio

Tipo

Descripción

key

String

La clave.

value

No

String

El valor.

effect

String

El efecto.

Tabla 24 UserTag

Parámetro

Obligatorio

Tipo

Descripción

key

No

String

Clave de la etiqueta del servidor en la nube. El valor no puede comenzar con CCE- ni __type_baremetal.

value

No

String

Valor de la etiqueta del servidor en la nube.

Tabla 25 Runtime

Parámetro

Obligatorio

Tipo

Descripción

name

No

String

Tiempo de ejecución del contenedor. El valor predeterminado es docker.

Tabla 26 NodeExtendParam

Parámetro

Obligatorio

Tipo

Descripción

ecs:performancetype

No

String

Tipos de la variante de ECS. Este campo se devuelve en la respuesta.

orderID

No

String

ID de pedido. Este campo se devuelve en la respuesta cuando el nodo se factura anualmente/mensualmente con el pago automático habilitado.

productID

No

String

ID del producto. Este campo se devuelve en la respuesta cuando el nodo se factura anualmente/mensualmente con el pago automático habilitado.

maxPods

No

Integer

Número máximo de pods que se pueden crear en un nodo, incluidos los pods del sistema predeterminados. Rango de valores: 16 a 256.

Este límite impide que el nodo se sobrecargue de pods.

El número de pods que se pueden crear en un nodo viene determinado por varios parámetros. Para obtener más información, consulte la sección Número máximo de pods que se pueden crear en un nodo.

periodType

No

String

  • month: La unidad es de mes.

  • year: La unidad es de año.

NOTA:

Este campo es válido y obligatorio solo cuando billingMode se establece en 1 (facturación anual/mensual) o 2 (facturación anual/mensual con renovación automática activada) (desechado).

periodNum

No

Integer

Duración de la suscripción. El valor puede ser:

  • Si periodType es month, el valor oscila entre 1 y 9.

  • Si periodType es year, el valor es 1.

NOTA:

Este campo es válido y obligatorio cuando billingMode está establecido en 1 o 2 (descartado).

isAutoRenew

No

String

Si la renovación automática está habilitada.

  • true: la renovación automática está activada.

  • false: la renovación automática no está habilitada.

NOTA:

Este campo es válido cuando billingMode se establece en 1 o 2 (descartado). Si no se especifica, la renovación automática no está habilitada.

isAutoPay

No

String

Si deducir las tarifas automáticamente.

  • true: Habilita la deducción automática de tarifas.

  • false: No habilita la deducción automática de tarifas.

NOTA:

Este campo es válido cuando billingMode se establece en 1 o 2 (descartado). Si no se especifica cuando billingMode se establece en 1, no se activa la deducción automática de la tarifa. (Descartado: si no se especifica cuando billingMode se establece en 2 se activa la deducción automática de la tarifa.)

DockerLVMConfigOverride

No

String

Configuraciones de disco de datos de Docker. Ejemplo de configuración predeterminada:

"DockerLVMConfigOverride":"dockerThinpool=vgpaas/90%VG;kubernetesLV=vgpaas/10%VG;diskType=evs;lvType=linear"

Se incluyen los siguientes campos:

  • userLV (opcional): tamaño del espacio de usuario, por ejemplo, vgpaas/20%VG.

  • userPath (opcional): ruta de montaje del espacio de usuario, por ejemplo, /home/wqt-test.

  • diskType: tipo de disco. Actualmente, solo se admiten evs, hdd y ssd.

  • lvType: tipo de volumen lógico. El valor puede ser linear o striped.

  • dockerThinpool: tamaño del espacio de Docker, por ejemplo, vgpaas/60%VG.

  • kubernetesLV: tamaño del espacio de kubelet, por ejemplo vgpaas/20%VG.

dockerBaseSize

No

Integer

Espacio en disco disponible de un único contenedor en un nodo, en GB. Si este parámetro no se establece o se establece en 0, se utiliza el valor predeterminado. Cuando se utiliza el mapeador de dispositivos, el valor predeterminado es 10. Cuando se utiliza OverlayFS, el espacio disponible de un solo contenedor no está limitado por defecto, y la configuración de dockerBaseSize solo tiene efecto en los nodos de EulerOS en los clústeres de la nueva versión. Para obtener más información acerca de cómo configurar el espacio en tiempo de ejecución del contenedor, consulte Asignación de espacio en disco de datos. Con el mapeador de dispositivos, se recomienda establecer dockerBaseSize en un valor inferior o igual a 80 GB. Si el valor es demasiado grande, el recipiente puede fallar en iniciarse debido a una larga inicialización. Si hay requisitos especiales para el espacio en disco del contenedor, puede montar un dispositivo de almacenamiento externo o local.

publicKey

No

String

La clave pública de un nodo.

alpha.cce/preInstall

No

String

Secuencia de comandos de preinstalación.

NOTA:

El valor de entrada debe estar codificado en Base64. (Comando: echo -n "Content to be encoded" | base64)

alpha.cce/postInstall

No

String

Secuencia de comandos posterior a la instalación.

NOTA:

El valor de entrada debe estar codificado en Base64. (Comando: echo -n "Content to be encoded" | base64)

alpha.cce/NodeImageID

No

String

Este parámetro es necesario cuando se utiliza una imagen personalizada para crear un nodo de BMS.

nicMultiqueue

No

String

  • Número de colas de ENI. Ejemplo de configuración:

"[{\"queue\":4}]"

Se incluyen los siguientes campos:

  • queue: número de las colas de ENI.

  • Este campo solo se puede configurar para los nodos de BMS en un clúster de CCE Turbo.

  • Las proporciones soportadas son {"1":128, "2":92, "4":92, "8":32, "16":16, "28":9}. Es decir, si hay una cola, se puede enlazar un máximo de 128 ENI. Si hay dos colas, se puede enlazar un máximo de 92 ENI para las dos.

  • Un mayor número de las colas de ENI indica un mayor rendimiento, pero se pueden vincular menos ENI. La configuración de la cola no se puede cambiar después de crear el pool de nodos.

nicThreshold

No

String

  • Umbrales de preencuadernación de ENI. Ejemplo de configuración:

"0.3:0.6"
  • Umbral bajo (L): determina el número mínimo de ENI preenlazados (Min). Fórmula: Min = Número total de ENI del nodo x L

  • Umbral alto (H): determina el número máximo de ENI preenlazados (Max). Fórmula: Máx = Número total de ENI del nodo x H

  • Número de los ENI unidos a un nodo de BMS (B) y número de los ENI utilizados por los pods (U): U + Min < B < U + Max

  • Si el número de ENI preenlazados en un nodo de BMS es menor que el mínimo permitido, el sistema enlazará más ENI para hacer que los números sean iguales.

  • Si el número de ENI preenlazados en un nodo de BMS es mayor que el máximo permitido, el sistema desvincula periódicamente ENI (aproximadamente cada 2 minutos) para hacer que los números sean iguales.

  • Ambos umbrales son valores de una posición decimal que varían de 0.0 a 1.0. El umbral bajo debe ser menor o igual que el alto.

  • Este campo solo se puede configurar para los nodos de BMS en un clúster de CCE Turbo.

  • Los ENI preenlazados pueden acelerar la creación de cargas de trabajo, pero ocupan las direcciones IP.

enterprise_project_id

No

String

ID del proyecto de empresa al que pertenece el nodo

chargingMode

No

Integer

Modo de facturación de un nodo. Este parámetro ha sido obsoleta. Utilice el parámetro billingMode de NodeSpec.

Tabla 27 NodePoolNodeAutoscaling

Parámetro

Obligatorio

Tipo

Descripción

enable

No

Boolean

Si se activa el ajuste automático.

minNodeCount

No

Integer

Número mínimo de los nodos permitidos si se habilita el ajuste automático. El valor no puede ser mayor que el número máximo de los nodos permitidos por las especificaciones del clúster.

maxNodeCount

No

Integer

Número máximo de los nodos permitidos si se habilita el ajuste automático. Este valor debe ser mayor o igual que el valor de minNodeCount y no puede exceder el número máximo de nodos en las especificaciones del clúster.

scaleDownCooldownTime

No

Integer

Intervalo entre las dos operaciones de ajuste, en minutos. Durante este período, los nodos agregados después de una ampliación no se eliminarán.

priority

No

Integer

Peso de un pool de nodos. Un pool de nodo con un peso mayor tiene una mayor prioridad durante la escala.

Tabla 28 NodeManagement

Parámetro

Obligatorio

Tipo

Descripción

serverGroupReference

No

String

ID de grupo de servidores en la nube. Si se especifica este campo, todos los nodos del pool de nodos se crearán en este grupo. El ID de grupo solo se puede especificar cuando se crea el pool de nodos y no se puede modificar. Cuando se especifica un grupo de servidores en la nube, el número de nodos en el pool de nodos no puede exceder la cuota de grupo.

Tabla 29 SecurityID

Parámetro

Obligatorio

Tipo

Descripción

id

No

String

ID de grupo de seguridad

Tabla 30 NodePoolStatus

Parámetro

Obligatorio

Tipo

Descripción

currentNode

No

Integer

Número total de los nodos en el pool de nodos actual (excluidos los nodos que se están eliminando)

creatingNode

No

Integer

Número de nodos en el proceso de creación en el pool de nodos

deletingNode

No

Integer

Número de los nodos que se eliminan en el pool de nodos actual.

phase

No

String

Estado del pool de nodos.

  • Null: disponible (el número de los nodos actuales en el pool de nodos ha alcanzado el valor esperado, y no se está realizando ajuste de nodos)

  • Synchronizing: ajuste en curso (el número de nodos actuales en el pool de nodos no alcanza el valor esperado y no se está realizando el ajuste de nodos)

  • Synchronized: ajuste pendiente (el número de nodos actuales en el pool de nodos no alcanza el valor esperado, o se está realizando el ajuste de nodos)

  • SoldOut: no se puede escalar el pool de nodos. (Este campo se utiliza en varios escenarios, por ejemplo, los recursos en el pool de nodos se han agotado o la cuota de recursos es insuficiente.)

NOTA:

Este estado de pool de nodos se ha descartado y está reservado solo para compatibilidad. No se recomienda usarlo. Los reemplazos son los siguientes:

  • Estado de ajuste del pool de nodos: puede obtener un estado preciso del pool de nodos actual en función de parámetros como currentNode, creatingNode o deletingNode.

  • Ampliación del pool de nodos: puede utilizar conditions para obtener el estado detallado de un grupo de nodos. Scalable puede reemplazar a SoldOut.

  • Deleting: se está eliminando el objeto.

  • Error: Se produce un error.

jobId

No

String

ID de un trabajo ejecutado en el pool de nodos

conditions

No

Matriz de objetos de NodePoolCondition

Detalles de estado del pool de nodos. Para obtener más información, consulte la definición de Condition.

Tabla 31 NodePoolCondition

Parámetro

Obligatorio

Tipo

Descripción

type

No

String

Tipo de la condición. Las opciones son las siguientes:

  • Scalable: si se puede escalar un pool de nodos. Si el estado es False, no se volverá a activar el ajuste del pool de nodos.

  • QuotaInsufficient: Las cuotas de las que depende la escala del pool de nodos son insuficientes, lo que afecta al estado del ajuste del pool de nodos.

  • ResourceInsufficient: Los recursos de los que depende el ajuste del pool de nodos son insuficientes, lo que afecta al estado del ajuste del pool de nodos.

  • UnexpectedError: El pool de nodos no se puede escalar debido a las razones inesperadas, lo que afecta al estado de ajuste del pool de nodos.

  • LockedByOrder: El pool de nodos de facturación anual/mensual está bloqueado debido a un pedido. El valor de Reason es el ID de la orden pendiente.

  • Error: Se produce un error de pool de nodos. Un activador común es la falla de eliminación.

status

No

String

El estado actual de Condition. Las opciones son las siguientes:

  • "True"

  • "False"

lastProbeTime

No

String

Hora en la que se verificó el estado por última vez

lastTransitTime

No

String

Hora en la que se cambió el estado por última vez

reason

No

String

Razón por la que se cambió el estado por última vez

message

No

String

Descripción detallada de la condición

Parámetros de respuesta

Código de estado: 201

Tabla 32 Parámetros del cuerpo de respuesta

Parámetro

Tipo

Descripción

kind

String

Tipo de la API. El valor se fija en NodePool.

apiVersion

String

Versión de la API. El valor se fija en v3.

metadata

Objeto de NodePoolMetadata

Información de metadatos del pool de nodo

spec

Objeto de NodePoolSpec

Especificaciones del pool de nodos

status

Objeto de NodePoolStatus

Estado del pool de nodos

Tabla 33 NodePoolMetadata

Parámetro

Tipo

Descripción

name

String

Nombre del pool de nodos.

NOTA:

Reglas de nomenclatura:

Escriba de 1 a 50 caracteres, comenzando con una letra minúscula y no terminando con un guion (-). Solo se permiten letras minúsculas, dígitos y guiones (-).

  • No se pueden crear los pools de nodos denominados DefaultPool.

uid

String

UID del pool de nodo. El valor se genera automáticamente después de actualizar el objeto. Un valor definido por el usuario no tendrá efecto.

annotations

Map<String,String>

Anotaciones de un pool de nodos en los pares de clave y valor

updateTimestamp

String

Tiempo de actualización.

creationTimestamp

String

Tiempo de creación.

Tabla 34 NodePoolSpec

Parámetro

Tipo

Descripción

type

String

Tipo del pool de nodos. Si este parámetro se deja en blanco, el valor vm se utiliza de forma predeterminada.

  • vm: ECS

  • ElasticBMS: BMS de cómputo-plus C6. Una especificación de ejemplo es c6.22xlarge.2.physical.

nodeTemplate

Objeto de NodeSpec

Parámetros detallados de la plantilla del pool de nodos.

initialNodeCount

Integer

Número inicial de nodos para el pool de nodos. Cuando se consulta, el valor es el número de nodos de destino en el pool de nodos.

autoscaling

Objeto de NodePoolNodeAutoscaling

Parámetros de escalado automático

nodeManagement

Objeto de NodeManagement

Configuración de gestión de nodos

podSecurityGroups

Matriz de objetos de SecurityID

Configuración de grupos de seguridad

Tabla 35 NodeSpec

Parámetro

Tipo

Descripción

flavor

String

Especificaciones del nodo. Para obtener detalles sobre las especificaciones de nodo admitidas por CCE, consulte la Descripción de la variante del nodo.

az

String

Nombre de la AZ donde se encuentra el nodo que se va a crear. Para obtener más información acerca de las AZ admitidas por CCE, consulte la sección Regiones y puntos de conexión.

os

String

SO del nodo. Para obtener más información acerca de los SO compatibles, consulte la Descripción del nodo de SO.

NOTA:
  • El sistema selecciona automáticamente el SO compatible según la versión del clúster. Si la versión actual del clúster no admite el SO, se informará un error.

NOTA:
  • Si se especifica alpha.cce/NodeImageID en extendParam durante la creación del nodo, no es necesario establecer este campo.

login

Objeto de Login

Modo de inicio de sesión de nodo. Se debe usar el par de claves o la contraseña para iniciar sesión.

rootVolume

Objeto de Volume

Información sobre los discos en el nodo

dataVolumes

Matriz de objetos de Volume

Parámetros del disco de datos del nodo. Actualmente, puede agregar el segundo disco de datos para su nodo en la consola de CCE.

Para los nodos de DeC, la descripción del parámetro es la misma que para rootVolume.

storage

Objeto de Storage

Parámetro de gestión de inicialización de disco.

Este parámetro es complejo de configurar. Para obtener más información, consulte la Conexión de discos a un nodo.

Si no se especifica este parámetro, los discos se administran según el parámetro DockerLVMConfigOverride en extendParam. Este parámetro es compatible con clústeres de v1.15.11 y posteriores.

publicIP

Objeto de NodePublicIP

La EIP de un nodo.

NOTA:

Este parámetro no se admite cuando se agrega un nodo a un pool de nodos.

nodeNicSpec

Objeto de NodeNicSpec

La NIC del nodo

count

Integer

Número de nodos que se van a crear en un lote. El valor debe ser un entero positivo mayor o igual que 1 y menor o igual que el límite definido. Este parámetro se puede dejar en blanco cuando se utiliza para un pool de nodos.

billingMode

Integer

Modo de facturación de nodos.

  • 0: pago por uso

  • 1: anual/mensual

  • 2: (desechado) facturación anual/mensual con pago automático habilitado

taints

Matriz de objetos de Taint

Se pueden agregar etiquetas para evitar la afinidad al crear nodos. Se puede agregar un máximo de 20 manchas. Cada mancha contiene los siguientes parámetros:

  • Key: Una clave debe contener de 1 a 63 caracteres que comiencen con una letra o un dígito. Solo se permiten letras, dígitos, guiones (-), guiones bajos (_) y puntos (.). Un nombre de subdominio de DNS se puede utilizar como prefijo de una clave.

  • Value: Un valor debe comenzar con una letra o un dígito y puede contener un máximo de 63 caracteres, incluidos letras, dígitos, guiones (-), guiones bajos (_) y puntos (.).

  • Effect: Las opciones disponibles son NoSchedule, PreferNoSchedule y NoExecute.

Por ejemplo:

"taints": [{
  "key": "status",
  "value": "unavailable",
  "effect": "NoSchedule"
}, {
  "key": "looks",
  "value": "bad",
  "effect": "NoSchedule"
}]

k8sTags

Map<String,String>

Definida en pares de clave y valor. Se permite un máximo de 20 pares de clave y valor.

  • Key: Introduzca de 1 a 63 caracteres, comenzando con una letra o un dígito. Solo se permiten letras, dígitos, guiones (-), guiones bajos (_) y puntos (.). Un subdominio de DNS puede tener un prefijo a una clave y contener un máximo de 253 caracteres. Ejemplo de subdominio de DNS: example.com/my-key

  • Value: El valor puede dejarse en blanco o contener de 1 a 63 caracteres que comienzan con una letra o un dígito. Solo letras, dígitos, guiones (-), guiones bajos (_) y puntos (.) están permitidos en la string de caracteres.

Por ejemplo:

"k8sTags": {
  "key": "value"
}

ecsGroupId

String

ID de grupo de servidores en la nube. Si se especifica este campo, el nodo se crea en el grupo especificado de servidores en la nube.

dedicatedHostId

String

ID del DeH al que está programado el nodo.

NOTA:

Este parámetro no se admite cuando se agrega un nodo durante la creación del pool de nodos.

userTags

Matriz de objetos de UserTag

Etiqueta de servidor en la nube. La clave de una etiqueta debe ser única. El número máximo de etiquetas personalizadas admitidas por CCE depende de la región y no puede exceder de 8.

runtime

Objeto de Runtime

Tiempo de ejecución del contenedor. El valor predeterminado es docker.

extendParam

Objeto de NodeExtendParam

Parámetros extendidos para crear un nodo.

Tabla 36 Login

Parámetro

Tipo

Descripción

sshKey

String

Nombre del par de claves utilizado para el inicio de sesión.

userPassword

Objeto de UserPassword

Contraseña utilizada para el inicio de sesión del nodo.

Tabla 37 UserPassword

Parámetro

Tipo

Descripción

username

String

La cuenta para iniciar sesión en. El valor predeterminado es root.

password

String

Si se utiliza un nombre de usuario y una contraseña para crear un nodo, este campo está protegido en el cuerpo de la respuesta. Una contraseña debe cumplir con los siguientes requisitos de complejidad:

  • Contiene de 8 a 26 caracteres.

  • Debe contener al menos tres de los siguientes tipos de caracteres: letras mayúsculas y minúsculas, dígitos y caracteres especiales (!@$%^-_=+[{}]:,./?~#*)

  • No puede contener el nombre de usuario ni el nombre de usuario escrito al revés. El campo password debe estar salteado durante la creación del nodo. Para obtener más información, consulte la sección Adición de una sal en el campo de contraseña al crear un nodo.

Tabla 38 Volume

Parámetro

Tipo

Descripción

size

Integer

Tamaño de disco, en GB.

  • Disco del sistema: 40 a 1024

  • Disco de datos: 100 a 32768

volumetype

String

Tipo de disco. Para obtener más información sobre los posibles valores, consulte la descripción del parámetro root_volume en la API utilizada para crear un ECS en la referencia de la API de ECS.

  • SAS: disco de E/S alta

  • SSD: disco de E/S ultraalta

  • SATA: los discos SATA de E/S comunes se han eliminado de EVS. Puede encontrarlos adjuntos solo en los nodos existentes.

extendParam

Map<String,Object>

Parámetros de los discos extendidos, definidos en extendparam en la API utilizada para crear un ECS. Para obtener más información, consulte la Creación de un ECS.

cluster_id

String

ID del pool de almacenamientos utilizado por el disco del sistema de ECS. Este campo solo se utiliza para clústeres de DeC, que funciona como dssPoolID, es decir, el ID del pool de almacenamiento de DSS.

Para obtener el valor, consulte el campo ID de la API utilizada para obtener detalles de un pool de almacenamiento de DSS.

cluster_type

String

Clase de almacenamiento del disco del sistema del servidor en la nube. El valor es siempre dss. Este campo solo se utiliza para clústeres de DeC.

hw:passthrough

Boolean

  • Preste atención a este campo si su ECS es compatible con SDI. Si el valor de este campo es true, se creará un disco de SCSI.

  • Si el tipo de pool de nodos es ElasticBMS, este campo debe estar establecido en true.

metadata

Objeto de VolumeMetadata

Información de encriptación de disco de EVS. Este campo es obligatorio solo cuando necesita cifrar el disco del sistema o los discos de datos del nodo que se va a crear.

Tabla 39 VolumeMetadata

Parámetro

Tipo

Descripción

__system__encrypted

String

Si el disco de EVS está cifrado. El valor 0 indica que el disco de EVS no está cifrado, y el valor 1 indica que el disco de EVS está cifrado.

Si no se especifica este parámetro, los discos de EVS no se cifrarán de forma predeterminada.

__system__cmkid

String

ID de CMK, que indica la encriptación de metadata. Este campo se utiliza con __system__encrypted.

Tabla 40 Storage

Parámetro

Tipo

Descripción

storageSelectors

Matriz de objetos de StorageSelectors

Selección de disco. Los discos coincidentes se gestionan de acuerdo con matchLabels y storageType.

storageGroups

Matriz de objetos de StorageGroups

Un grupo de almacenamiento consta de varios dispositivos de almacenamiento. Se utiliza para dividir el espacio de almacenamiento.

Tabla 41 StorageSelectors

Parámetro

Tipo

Descripción

name

String

Nombre del selector, utilizado como el índice de selectorNames en storageGroup. Por lo tanto, el nombre de cada selector debe ser único.

storageType

String

Especifica el tipo de almacenamiento. Actualmente, solo se admiten evs (volúmenes de EVS) y local (volúmenes locales). El almacenamiento local no admite la selección de disco. Todos los discos locales formarán un VG. Por lo tanto, solo se permite un storageSelector del tipo local.

matchLabels

Objeto de matchLabels

Campo coincidente de un volumen de EVS. Los campos size, volumeType, metadataEncrypted, metadataCmkid y count son compatibles.

Tabla 42 matchLabels

Parámetro

Tipo

Descripción

size

String

Tamaño del disco coincidente. Si este parámetro se deja sin especificar, el tamaño del disco no está limitado. Ejemplo: 100

volumeType

String

Tipo del disco de EVS. Actualmente, SSD, GPSSD y SAS son compatibles.

metadataEncrypted

String

Identificador de la encriptación de disco. 0 indica que el disco no está cifrado y 1 indica que el disco está cifrado.

metadataCmkid

String

ID de clave principal de cliente de un disco cifrado. El valor es una string de 36 bytes.

count

String

Número de discos que se van a seleccionar. Si este parámetro se deja en blanco, se seleccionan todos los discos de este tipo.

Tabla 43 StorageGroups

Parámetro

Tipo

Descripción

name

String

Nombre de un grupo de almacenamiento virtual. Cada nombre de grupo debe ser único.

cceManaged

Boolean

Espacio de almacenamiento para Kubernetes y componentes de tiempo de ejecución. Solo se puede establecer un grupo en true. Si este parámetro se deja en blanco, se utiliza el valor predeterminado false.

selectorNames

Matriz de strings

Este parámetro corresponde a name en storageSelectors. Un grupo puede coincidir con varios selectores, pero un selector solo puede coincidir con un grupo.

virtualSpaces

Matriz de objetos de VirtualSpace

Gestión detallada de la configuración del espacio en un grupo.

Tabla 44 VirtualSpace

Parámetro

Tipo

Descripción

name

String

Nombre de espacio virtual. Actualmente, solo se admiten kubernetes, runtime y user. kubernetes y user requieren lvmConfig para ser configurado. runtime requiere que se configure runtimeConfig.

size

String

Tamaño de un espacio virtual. Solo se admite un porcentaje entero. Ejemplo: 90%. Tenga en cuenta que el porcentaje total de todos los espacios virtuales de un grupo no puede superar el 100%.

lvmConfig

Objeto de LVMConfig

Configuraciones de LVM, aplicables a espacios kubernetes y user. Tenga en cuenta que un espacio virtual solo admite una configuración.

runtimeConfig

Objeto de RuntimeConfig

Configuraciones en tiempo de ejecución, aplicables al espacio runtime. Tenga en cuenta que un espacio virtual solo admite una configuración.

Tabla 45 LVMConfig

Parámetro

Tipo

Descripción

lvType

String

Modo de escritura de LVM. linear indica el modo lineal. striped indica el modo seccionado, en el que se utilizan varios discos para formar una banda para mejorar el rendimiento del disco.

path

String

Ruta de acceso a la que está conectado el disco. Este parámetro solo tiene efecto en la configuración del usuario. El valor es una ruta absoluta. Dígitos, letras, puntos (.), guiones (-) y guiones bajos (_) están permitidos.

Tabla 46 RuntimeConfig

Parámetro

Tipo

Descripción

lvType

String

Modo de escritura de LVM. linear indica el modo lineal. striped indica el modo seccionado, en el que se utilizan varios discos para formar una banda para mejorar el rendimiento del disco.

Tabla 47 NodePublicIP

Parámetro

Tipo

Descripción

ids

Matriz de strings

ID de las EIP existentes. La cantidad no puede ser mayor que el número de nodos que se van a crear.

NOTA:

Si se ha establecido ids, no es necesario establecer count y eip.

count

Integer

Número de las EIP que se crearán dinámicamente.

NOTA:

count y eip deben configurarse al mismo tiempo.

eip

Objeto de NodeEIPSpec

Configuración de la EIP.

Tabla 48 NodeEIPSpec

Parámetro

Tipo

Descripción

iptype

String

Tipo de la EIP, especificado en publicip.type en la API para asignar una EIP. Para obtener más información, consulte Asignar una EIP.

bandwidth

Objeto de NodeBandwidth

Parámetros de ancho de banda de la EIP

Tabla 49 NodeBandwidth

Parámetro

Tipo

Descripción

chargemode

String

Modo de facturación de ancho de banda.

  • Si no se especifica este campo, la facturación se basa en el ancho de banda. - Si el campo es nulo, la facturación se basa en el ancho de banda.

  • Si el valor del campo es traffic, la facturación se basa en el tráfico.

  • Si el valor está fuera de las opciones anteriores, no se creará el servidor en la nube.

NOTA:
  • Facturación por ancho de banda: La facturación se basará en la velocidad de transmisión de datos (en Mbps) de las redes públicas. Este modo de facturación se recomienda si su uso de ancho de banda es superior al 10%.

  • Facturación por tráfico: La facturación se basa en la cantidad total de datos (en GB) transmitidos a través de la red pública. Este modo solo está disponible cuando está creando un nodo de pago por uso. Este modo de facturación se recomienda si su uso de ancho de banda es inferior al 10%.

size

Integer

Tamaño de ancho de banda, especificado en bandwidth.size en la API para asignar una EIP. Para obtener más información, consulte Asignar una EIP.

sharetype

String

Tipo de uso compartido de ancho de banda. Opciones de valor: PER (ancho de banda exclusivo) y WHOLE (ancho de banda compartido)

Tabla 50 NodeNicSpec

Parámetro

Tipo

Descripción

primaryNic

Objeto de NicSpec

Descripción de la NIC principal.

extNics

Matriz de objetos de NicSpec

NIC de extensión

NOTA:

Este parámetro no se admite cuando se agrega un nodo a un pool de nodos.

Tabla 51 NicSpec

Parámetro

Tipo

Descripción

subnetId

String

ID de la subred a la que pertenece la NIC. Si no se especifica subnetId al crear la NIC principal, se utiliza la subred del clúster. Al crear una NIC secundaria, debe especificar subnetId.

fixedIps

Matriz de strings

fixedIps especifica la dirección IP de la NIC principal. El número de direcciones IP no puede ser mayor que el número de los nodos creados. fixedIps y ipBlock no se pueden especificar al mismo tiempo.

ipBlock

String

Formato CIDR del rango de IP de la NIC principal. La dirección IP del nodo creado cae en este intervalo. fixedIps y ipBlock no se pueden especificar al mismo tiempo.

Tabla 52 Taint

Parámetro

Tipo

Descripción

key

String

La clave.

value

String

El valor.

effect

String

El efecto.

Tabla 53 UserTag

Parámetro

Tipo

Descripción

key

String

Clave de la etiqueta del servidor en la nube. El valor no puede comenzar con CCE- ni __type_baremetal.

value

String

Valor de la etiqueta del servidor en la nube.

Tabla 54 Runtime

Parámetro

Tipo

Descripción

name

String

Tiempo de ejecución del contenedor. El valor predeterminado es docker.

Tabla 55 NodeExtendParam

Parámetro

Tipo

Descripción

ecs:performancetype

String

Tipos de la variante de ECS. Este campo se devuelve en la respuesta.

orderID

String

ID de pedido. Este campo se devuelve en la respuesta cuando el nodo se factura anualmente/mensualmente con el pago automático habilitado.

productID

String

ID del producto. Este campo se devuelve en la respuesta cuando el nodo se factura anualmente/mensualmente con el pago automático habilitado.

maxPods

Integer

Número máximo de pods que se pueden crear en un nodo, incluidos los pods del sistema predeterminados. Rango de valores: 16 a 256.

Este límite impide que el nodo se sobrecargue de pods.

El número de pods que se pueden crear en un nodo viene determinado por varios parámetros. Para obtener más información, consulte la sección Número máximo de pods que se pueden crear en un nodo.

periodType

String

  • month: La unidad es de mes.

  • year: La unidad es de año.

NOTA:

Este campo es válido y obligatorio solo cuando billingMode se establece en 1 (facturación anual/mensual) o 2 (facturación anual/mensual con renovación automática activada) (desechado).

periodNum

Integer

Duración de la suscripción. El valor puede ser:

  • Si periodType es month, el valor oscila entre 1 y 9.

  • Si periodType es year, el valor es 1.

NOTA:

Este campo es válido y obligatorio cuando billingMode está establecido en 1 o 2 (descartado).

isAutoRenew

String

Si la renovación automática está habilitada.

  • true: la renovación automática está activada.

  • false: la renovación automática no está habilitada.

NOTA:

Este campo es válido cuando billingMode se establece en 1 o 2 (descartado). Si no se especifica, la renovación automática no está habilitada.

isAutoPay

String

Si deducir las tarifas automáticamente.

  • true: Habilita la deducción automática de tarifas.

  • false: No habilita la deducción automática de tarifas.

NOTA:

Este campo es válido cuando billingMode se establece en 1 o 2 (descartado). Si no se especifica cuando billingMode se establece en 1, no se activa la deducción automática de la tarifa. (Descartado: si no se especifica cuando billingMode se establece en 2 se activa la deducción automática de la tarifa.)

DockerLVMConfigOverride

String

Configuraciones de disco de datos de Docker. Ejemplo de configuración predeterminada:

"DockerLVMConfigOverride":"dockerThinpool=vgpaas/90%VG;kubernetesLV=vgpaas/10%VG;diskType=evs;lvType=linear"

Se incluyen los siguientes campos:

  • userLV (opcional): tamaño del espacio de usuario, por ejemplo, vgpaas/20%VG.

  • userPath (opcional): ruta de montaje del espacio de usuario, por ejemplo, /home/wqt-test.

  • diskType: tipo de disco. Actualmente, solo se admiten evs, hdd y ssd.

  • lvType: tipo de volumen lógico. El valor puede ser linear o striped.

  • dockerThinpool: tamaño del espacio de Docker, por ejemplo, vgpaas/60%VG.

  • kubernetesLV: tamaño del espacio de kubelet, por ejemplo vgpaas/20%VG.

dockerBaseSize

Integer

Espacio en disco disponible de un único contenedor en un nodo, en GB. Si este parámetro no se establece o se establece en 0, se utiliza el valor predeterminado. Cuando se utiliza el mapeador de dispositivos, el valor predeterminado es 10. Cuando se utiliza OverlayFS, el espacio disponible de un solo contenedor no está limitado por defecto, y la configuración de dockerBaseSize solo tiene efecto en los nodos de EulerOS en los clústeres de la nueva versión. Para obtener más información acerca de cómo configurar el espacio en tiempo de ejecución del contenedor, consulte Asignación de espacio en disco de datos. Con el mapeador de dispositivos, se recomienda establecer dockerBaseSize en un valor inferior o igual a 80 GB. Si el valor es demasiado grande, el recipiente puede fallar en iniciarse debido a una larga inicialización. Si hay requisitos especiales para el espacio en disco del contenedor, puede montar un dispositivo de almacenamiento externo o local.

publicKey

String

La clave pública de un nodo.

alpha.cce/preInstall

String

Secuencia de comandos de preinstalación.

NOTA:

El valor de entrada debe estar codificado en Base64. (Comando: echo -n "Content to be encoded" | base64)

alpha.cce/postInstall

String

Secuencia de comandos posterior a la instalación.

NOTA:

El valor de entrada debe estar codificado en Base64. (Comando: echo -n "Content to be encoded" | base64)

alpha.cce/NodeImageID

String

Este parámetro es necesario cuando se utiliza una imagen personalizada para crear un nodo de BMS.

nicMultiqueue

String

  • Número de colas de ENI. Ejemplo de configuración:

"[{\"queue\":4}]"

Se incluyen los siguientes campos:

  • queue: número de las colas de ENI.

  • Este campo solo se puede configurar para los nodos de BMS en un clúster de CCE Turbo.

  • Las proporciones soportadas son {"1":128, "2":92, "4":92, "8":32, "16":16, "28":9}. Es decir, si hay una cola, se puede enlazar un máximo de 128 ENI. Si hay dos colas, se puede enlazar un máximo de 92 ENI para las dos.

  • Un mayor número de las colas de ENI indica un mayor rendimiento, pero se pueden vincular menos ENI. La configuración de la cola no se puede cambiar después de crear el pool de nodos.

nicThreshold

String

  • Umbrales de preencuadernación de ENI. Ejemplo de configuración:

"0.3:0.6"
  • Umbral bajo (L): determina el número mínimo de ENI preenlazados (Min). Fórmula: Min = Número total de ENI del nodo x L

  • Umbral alto (H): determina el número máximo de ENI preenlazados (Max). Fórmula: Máx = Número total de ENI del nodo x H

  • Número de los ENI unidos a un nodo de BMS (B) y número de los ENI utilizados por los pods (U): U + Min < B < U + Max

  • Si el número de ENI preenlazados en un nodo de BMS es menor que el mínimo permitido, el sistema enlazará más ENI para hacer que los números sean iguales.

  • Si el número de ENI preenlazados en un nodo de BMS es mayor que el máximo permitido, el sistema desvincula periódicamente ENI (aproximadamente cada 2 minutos) para hacer que los números sean iguales.

  • Ambos umbrales son valores de una posición decimal que varían de 0.0 a 1.0. El umbral bajo debe ser menor o igual que el alto.

  • Este campo solo se puede configurar para los nodos de BMS en un clúster de CCE Turbo.

  • Los ENI preenlazados pueden acelerar la creación de cargas de trabajo, pero ocupan las direcciones IP.

enterprise_project_id

String

ID del proyecto de empresa al que pertenece el nodo

chargingMode

Integer

Modo de facturación de un nodo. Este parámetro ha sido obsoleta. Utilice el parámetro billingMode de NodeSpec.

Tabla 56 NodePoolNodeAutoscaling

Parámetro

Tipo

Descripción

enable

Boolean

Si se activa el ajuste automático.

minNodeCount

Integer

Número mínimo de los nodos permitidos si se habilita el ajuste automático. El valor no puede ser mayor que el número máximo de los nodos permitidos por las especificaciones del clúster.

maxNodeCount

Integer

Número máximo de los nodos permitidos si se habilita el ajuste automático. Este valor debe ser mayor o igual que el valor de minNodeCount y no puede exceder el número máximo de nodos en las especificaciones del clúster.

scaleDownCooldownTime

Integer

Intervalo entre las dos operaciones de ajuste, en minutos. Durante este período, los nodos agregados después de una ampliación no se eliminarán.

priority

Integer

Peso de un pool de nodos. Un pool de nodo con un peso mayor tiene una mayor prioridad durante la escala.

Tabla 57 NodeManagement

Parámetro

Tipo

Descripción

serverGroupReference

String

ID de grupo de servidores en la nube. Si se especifica este campo, todos los nodos del pool de nodos se crearán en este grupo. El ID de grupo solo se puede especificar cuando se crea el pool de nodos y no se puede modificar. Cuando se especifica un grupo de servidores en la nube, el número de nodos en el pool de nodos no puede exceder la cuota de grupo.

Tabla 58 SecurityID

Parámetro

Tipo

Descripción

id

String

ID de grupo de seguridad

Tabla 59 NodePoolStatus

Parámetro

Tipo

Descripción

currentNode

Integer

Número total de los nodos en el pool de nodos actual (excluidos los nodos que se están eliminando)

creatingNode

Integer

Número de nodos en el proceso de creación en el pool de nodos

deletingNode

Integer

Número de los nodos que se eliminan en el pool de nodos actual.

phase

String

Estado del pool de nodos.

  • Null: disponible (el número de los nodos actuales en el pool de nodos ha alcanzado el valor esperado, y no se está realizando ajuste de nodos)

  • Synchronizing: ajuste en curso (el número de nodos actuales en el pool de nodos no alcanza el valor esperado y no se está realizando el ajuste de nodos)

  • Synchronized: ajuste pendiente (el número de nodos actuales en el pool de nodos no alcanza el valor esperado, o se está realizando el ajuste de nodos)

  • SoldOut: no se puede escalar el pool de nodos. (Este campo se utiliza en varios escenarios, por ejemplo, los recursos en el pool de nodos se han agotado o la cuota de recursos es insuficiente.)

NOTA:

Este estado de pool de nodos se ha descartado y está reservado solo para compatibilidad. No se recomienda usarlo. Los reemplazos son los siguientes:

  • Estado de ajuste del pool de nodos: puede obtener un estado preciso del pool de nodos actual en función de parámetros como currentNode, creatingNode o deletingNode.

  • Ampliación del pool de nodos: puede utilizar conditions para obtener el estado detallado de un grupo de nodos. Scalable puede reemplazar a SoldOut.

  • Deleting: se está eliminando el objeto.

  • Error: Se produce un error.

jobId

String

ID de un trabajo ejecutado en el pool de nodos

conditions

Matriz de objetos de NodePoolCondition

Detalles de estado del pool de nodos. Para obtener más información, consulte la definición de Condition.

Tabla 60 NodePoolCondition

Parámetro

Tipo

Descripción

type

String

Tipo de la condición. Las opciones son las siguientes:

  • Scalable: si se puede escalar un pool de nodos. Si el estado es False, no se volverá a activar el ajuste del pool de nodos.

  • QuotaInsufficient: Las cuotas de las que depende la escala del pool de nodos son insuficientes, lo que afecta al estado del ajuste del pool de nodos.

  • ResourceInsufficient: Los recursos de los que depende el ajuste del pool de nodos son insuficientes, lo que afecta al estado del ajuste del pool de nodos.

  • UnexpectedError: El pool de nodos no se puede escalar debido a las razones inesperadas, lo que afecta al estado de ajuste del pool de nodos.

  • LockedByOrder: El pool de nodos de facturación anual/mensual está bloqueado debido a un pedido. El valor de Reason es el ID de la orden pendiente.

  • Error: Se produce un error de pool de nodos. Un activador común es la falla de eliminación.

status

String

El estado actual de Condition. Las opciones son las siguientes:

  • "True"

  • "False"

lastProbeTime

String

Hora en la que se verificó el estado por última vez

lastTransitTime

String

Hora en la que se cambió el estado por última vez

reason

String

Razón por la que se cambió el estado por última vez

message

String

Descripción detallada de la condición

Ejemplo de las solicitudes

{
  "kind" : "NodePool",
  "apiVersion" : "v3",
  "metadata" : {
    "name" : "lc-it-nodepool-79796"
  },
  "spec" : {
    "initialNodeCount" : 0,
    "type" : "vm",
    "autoscaling" : {
      "enable" : false,
      "minNodeCount" : 0,
      "maxNodeCount" : 1,
      "scaleDownCooldownTime" : 0,
      "priority" : 0
    },
    "nodeManagement" : {
      "serverGroupReference" : ""
    },
    "nodeTemplate" : {
      "flavor" : "s6.large.2",
      "az" : "******",
      "os" : "EulerOS 2.5",
      "login" : {
        "sshKey" : "KeyPair-001"
      },
      "rootVolume" : {
        "volumetype" : "SAS",
        "size" : 40
      },
      "dataVolumes" : [ {
        "volumetype" : "SAS",
        "size" : 100,
        "extendParam" : {
          "useType" : "docker"
        }
      } ],
      "billingMode" : 0,
      "extendParam" : {
        "alpha.cce/preInstall" : "",
        "alpha.cce/postInstall" : "",
        "alpha.cce/NodeImageID" : "",
        "maxPods" : 110
      },
      "nodeNicSpec" : {
        "primaryNic" : {
          "subnetId" : "7e767d10-7548-4df5-ad72-aeac1d08bd8a"
        }
      }
    },
    "podSecurityGroups" : [ {
      "id" : ""
    } ]
  }
}

Ejemplo de las respuestas

Código de estado: 201

El trabajo para crear un pool de nodos en un clúster especificado se entrega correctamente.

{
  "kind" : "NodePool",
  "apiVersion" : "v3",
  "metadata" : {
    "name" : "lc-it-nodepool-79796",
    "uid" : "99addaa2-69eb-11ea-a592-0255ac1001bb"
  },
  "spec" : {
    "type" : "vm",
    "nodeTemplate" : {
      "flavor" : "s6.large.2",
      "az" : "******",
      "os" : "EulerOS 2.5",
      "login" : {
        "sshKey" : "KeyPair-001"
      },
      "rootVolume" : {
        "volumetype" : "SAS",
        "size" : 40
      },
      "dataVolumes" : [ {
        "volumetype" : "SAS",
        "size" : 100,
        "extendParam" : {
          "useType" : "docker"
        }
      } ],
      "publicIP" : {
        "eip" : {
          "bandwidth" : { }
        }
      },
      "nodeNicSpec" : {
        "primaryNic" : {
          "subnetId" : "7e767d10-7548-4df5-ad72-aeac1d08bd8a"
        }
      },
      "billingMode" : 0,
      "extendParam" : {
        "alpha.cce/NodeImageID" : "",
        "alpha.cce/postInstall" : "",
        "alpha.cce/preInstall" : "",
        "maxPods" : 110
      },
      "k8sTags" : {
        "cce.cloud.com/cce-nodepool" : "lc-it-nodepool-79796"
      }
    },
    "autoscaling" : {
      "maxNodeCount" : 1
    },
    "nodeManagement" : { }
  },
  "status" : {
    "phase" : ""
  }
}

Códigos de estado

Código de estado

Descripción

201

El trabajo para crear un pool de nodos en un clúster especificado se entrega correctamente.

Códigos de error

Consulte Códigos de error.