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 nodo

Función

Esta API se utiliza para crear un nodo en un clúster especificado.

  • 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.

Restricciones

Solo se pueden crear los nodos de KVM. Los nodos que no son de KVM no se pueden utilizar después de haber sido creados.

URI

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

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.

Tabla 2 Parámetros de consulta

Parámetro

Obligatorio

Tipo

Descripción

nodepoolScaleUp

No

String

Si la solicitud es entregada por el pool de nodos. Si el valor no es NodepoolScaleUp, el número de pods en el pool de nodo correspondiente se actualiza automáticamente.

Parámetros de solicitud

Tabla 3 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 4 Parámetros del cuerpo de solicitud

Parámetro

Obligatorio

Tipo

Descripción

kind

String

Tipo de la API. El valor se fija en Node y no se puede cambiar.

apiVersion

String

Versión de la API. El valor se fija en v3 y no se puede cambiar.

metadata

No

Objeto de NodeMetadata

Metadatos de nodo, que es una colección de atributos.

spec

Objeto de NodeSpec

Descripción detallada del nodo. CCE crea o actualiza objetos definiendo o actualizando spec.

Tabla 5 NodeMetadata

Parámetro

Obligatorio

Tipo

Descripción

name

No

String

Nombre del nodo

NOTA:

Escriba de 1 a 56 caracteres que comiencen con una letra y no que terminen con un guion (-). Solo se permiten letras minúsculas, dígitos y guiones (-).

uid

No

String

ID de nodo, que es único y se genera automáticamente después de crear el recurso. Un ID definido por el usuario no tendrá efecto.

labels

No

Map<String,String>

Etiqueta de nodo de CCE (no la etiqueta nativa de Kubernetes).

Las etiquetas se utilizan para seleccionar objetos que cumplen los criterios determinados. Una etiqueta es un par de clave y valor.

Por ejemplo:

"labels": {
  "key" : "value"
}

annotations

No

Map<String,String>

Anotaciones de nodo de CCE, en pares de clave y valor (no las anotaciones nativas de Kubernetes).

Por ejemplo:

"annotations": {
  "key1" : "value1",
  "key2" : "value2"
}
NOTA:

Las annotations no se utilizan para identificar o seleccionar objetos. Los metadatos de annotations pueden ser pequeños o grandes, estructurados o no estructurados, y pueden incluir caracteres que no están permitidos en las etiquetas.

creationTimestamp

No

String

Hora en la que se creó el objeto. El valor se genera automáticamente después de crear el objeto. Un valor definido por el usuario no tendrá efecto.

updateTimestamp

No

String

Hora en la que se actualizó el objeto. El valor se genera automáticamente después de crear el objeto. Un valor definido por el usuario no tendrá efecto.

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 Volume

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 los 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. Se recomienda este modo de facturación 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 por la red pública. Este modo solo está disponible cuando está creando un nodo de pago por uso. Se recomienda este modo de facturación 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 del 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

El número máximo de los 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.

Parámetros de respuesta

Código de estado: 201

Tabla 27 Parámetros del cuerpo de respuesta

Parámetro

Tipo

Descripción

kind

String

Tipo de la API. El valor se fija en Node y no se puede cambiar.

apiVersion

String

Versión de la API. El valor se fija en v3 y no se puede cambiar.

metadata

Objeto de NodeMetadata

Metadatos de nodo, que es una colección de atributos.

spec

Objeto de NodeSpec

Descripción detallada del nodo. CCE crea o actualiza objetos definiendo o actualizando spec.

status

Objeto de NodeStatus

Estado del nodo, que se registra dinámicamente. Un valor definido por el usuario no funcionará cuando se crea o modifica un nodo.

Tabla 28 NodeMetadata

Parámetro

Tipo

Descripción

name

String

Nombre del nodo

NOTA:

Escriba de 1 a 56 caracteres que comiencen con una letra y no que terminen con un guion (-). Solo se permiten letras minúsculas, dígitos y guiones (-).

uid

String

ID de nodo, que es único y se genera automáticamente después de crear el recurso. Un ID definido por el usuario no tendrá efecto.

labels

Map<String,String>

Etiqueta de nodo de CCE (no la etiqueta nativa de Kubernetes).

Las etiquetas se utilizan para seleccionar objetos que cumplen los criterios determinados. Una etiqueta es un par de clave y valor.

Por ejemplo:

"labels": {
  "key" : "value"
}

annotations

Map<String,String>

Anotaciones de nodo de CCE, en pares de clave y valor (no las anotaciones nativas de Kubernetes).

Por ejemplo:

"annotations": {
  "key1" : "value1",
  "key2" : "value2"
}
NOTA:

Las annotations no se utilizan para identificar o seleccionar objetos. Los metadatos de annotations pueden ser pequeños o grandes, estructurados o no estructurados, y pueden incluir caracteres que no están permitidos en las etiquetas.

creationTimestamp

String

Hora en la que se creó el objeto. El valor se genera automáticamente después de crear el objeto. Un valor definido por el usuario no tendrá efecto.

updateTimestamp

String

Hora en la que se actualizó el objeto. El valor se genera automáticamente después de crear el objeto. Un valor definido por el usuario no tendrá efecto.

Tabla 29 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 30 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 31 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 32 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 33 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 34 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 35 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 36 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 los discos que se van a seleccionar. Si este parámetro se deja en blanco, se seleccionan todos los discos de este tipo.

Tabla 37 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 38 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 39 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 40 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 41 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 42 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 43 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. Se recomienda este modo de facturación 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 por la red pública. Este modo solo está disponible cuando está creando un nodo de pago por uso. Se recomienda este modo de facturación 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 44 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 45 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 46 Taint

Parámetro

Tipo

Descripción

key

String

La clave.

value

String

El valor.

effect

String

El efecto.

Tabla 47 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 48 Runtime

Parámetro

Tipo

Descripción

name

String

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

Tabla 49 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 del 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

El número máximo de los 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 50 NodeStatus

Parámetro

Tipo

Descripción

phase

String

Estado del nodo

jobID

String

ID de un trabajo de creación o de eliminación

serverId

String

ID del nodo de ECS o de BMS subyacentes

privateIP

String

Dirección IP en el segmento de la red privada de la NIC principal en el nodo

privateIPv6IP

String

Dirección IPv6 en el segmento de la red privada de la NIC principal en el nodo

publicIP

String

La EIP del nodo. Si los datos de ECS no están sincronizados en tiempo real, puede hacer clic en Sync Node Data en la consola para actualizar manualmente los datos.

deleteStatus

Objeto de DeleteStatus

Estado de los recursos durante la eliminación.

Tabla 51 DeleteStatus

Parámetro

Tipo

Descripción

previous_total

Integer

Número total de los registros de recursos de clúster existentes cuando se elimina el clúster.

current_total

Integer

Último número de los registros de recursos, que se genera en función de los registros de recursos de clúster actuales.

updated

Integer

Número total de los registros de recursos actualizados cuando se elimina el clúster.

added

Integer

Número total de los registros de recursos actualizados cuando se elimina el clúster.

deleted

Integer

Número total de los registros de recursos eliminados cuando se elimina el clúster.

Ejemplo de las solicitudes

  • Creación de un nodo de facturación anual/mensual

    POST /api/v3/projects/{project_id}/clusters/{cluster_id}/nodes
    
    {
      "kind" : "Node",
      "apiVersion" : "v3",
      "metadata" : {
        "name" : "test-67235"
      },
      "spec" : {
        "flavor" : "c7.large.2",
        "az" : "******",
        "os" : "EulerOS 2.5",
        "dataVolumes" : [ {
          "size" : 100,
          "volumetype" : "SAS"
        } ],
        "billingMode" : 1,
        "extendParam" : {
          "maxPods" : 110,
          "periodType" : "month",
          "periodNum" : 1,
          "isAutoPay" : "false",
          "isAutoRenew" : "false"
        },
        "nodeNicSpec" : {
          "primaryNic" : {
            "subnetId" : "ca964acf-8468-4735-8229-97940ef6c881"
          }
        },
        "rootVolume" : {
          "size" : 50,
          "volumetype" : "SAS"
        },
        "runtime" : {
          "name" : "docker"
        },
        "login" : {
          "sshKey" : "KeyPair-001"
        },
        "storage" : {
          "storageSelectors" : [ {
            "name" : "cceUse",
            "storageType" : "evs",
            "matchLabels" : {
              "size" : "100",
              "volumeType" : "SAS",
              "count" : "1"
            }
          } ],
          "storageGroups" : [ {
            "name" : "vgpaas",
            "selectorNames" : [ "cceUse" ],
            "cceManaged" : true,
            "virtualSpaces" : [ {
              "name" : "runtime",
              "size" : "90%"
            }, {
              "name" : "kubernetes",
              "size" : "10%"
            } ]
          } ]
        },
        "count" : 1
      }
    }
  • Creación de un nodo de pago por uso

    POST /api/v3/projects/{project_id}/clusters/{cluster_id}/nodes
    
    {
      "kind" : "Node",
      "apiVersion" : "v3",
      "metadata" : {
        "name" : "test-83790"
      },
      "spec" : {
        "flavor" : "c7.large.2",
        "az" : "******",
        "os" : "EulerOS 2.5",
        "dataVolumes" : [ {
          "size" : 100,
          "volumetype" : "SAS"
        } ],
        "billingMode" : 0,
        "extendParam" : {
          "maxPods" : 110
        },
        "nodeNicSpec" : {
          "primaryNic" : {
            "subnetId" : "ca964acf-8468-4735-8229-97940ef6c881"
          }
        },
        "rootVolume" : {
          "size" : 50,
          "volumetype" : "SAS"
        },
        "runtime" : {
          "name" : "docker"
        },
        "login" : {
          "sshKey" : "KeyPair-001"
        },
        "storage" : {
          "storageSelectors" : [ {
            "name" : "cceUse",
            "storageType" : "evs",
            "matchLabels" : {
              "size" : "100",
              "volumeType" : "SAS",
              "count" : "1"
            }
          } ],
          "storageGroups" : [ {
            "name" : "vgpaas",
            "selectorNames" : [ "cceUse" ],
            "cceManaged" : true,
            "virtualSpaces" : [ {
              "name" : "runtime",
              "size" : "90%"
            }, {
              "name" : "kubernetes",
              "size" : "10%"
            } ]
          } ]
        },
        "count" : 1
      }
    }

Ejemplo de las respuestas

Código de estado: 201

El trabajo para crear un nodo en un clúster especificado se entrega correctamente.

{
  "kind" : "Node",
  "apiVersion" : "v3",
  "metadata" : {
    "name" : "test-83790",
    "uid" : "5ecfddfe-87db-11ec-b5e5-0255ac101514",
    "annotations" : {
      "jobid" : "5ec1518c-87db-11ec-b5e5-0255ac101514",
      "resourceJobId" : "5ed0d692-87db-11ec-b5e5-0255ac101514"
    }
  },
  "spec" : {
    "flavor" : "c7.large.2",
    "az" : "******",
    "os" : "EulerOS 2.5",
    "login" : {
      "sshKey" : "KeyPair-001"
    },
    "rootVolume" : {
      "volumetype" : "SAS",
      "size" : 50
    },
    "dataVolumes" : [ {
      "volumetype" : "SAS",
      "size" : 100
    } ],
    "storage" : {
      "storageSelectors" : [ {
        "name" : "cceUse",
        "storageType" : "evs",
        "matchLabels" : {
          "count" : "1",
          "size" : "100",
          "volumeType" : "SAS"
        }
      } ],
      "storageGroups" : [ {
        "name" : "vgpaas",
        "cceManaged" : true,
        "selectorNames" : [ "cceUse" ],
        "virtualSpaces" : [ {
          "name" : "runtime",
          "size" : "90%"
        }, {
          "name" : "kubernetes",
          "size" : "10%"
        } ]
      } ]
    },
    "publicIP" : {
      "eip" : {
        "bandwidth" : { }
      }
    },
    "nodeNicSpec" : {
      "primaryNic" : {
        "subnetId" : "ca964acf-8468-4735-8229-97940ef6c881"
      }
    },
    "count" : 1,
    "billingMode" : 0,
    "runtime" : {
      "name" : "docker"
    },
    "extendParam" : {
      "chargingMode" : 0,
      "ecs:performancetype" : "computingv3",
      "enterprise_project_id" : "0",
      "init-node-password" : "******",
      "maxPods" : 110,
      "publicKey" : ""
    }
  },
  "status" : {
    "jobID" : "5ec1518c-87db-11ec-b5e5-0255ac101514"
  }
}

Códigos de estado

Código de estado

Descripción

201

El trabajo para crear un nodo en un clúster especificado se entrega correctamente.

Códigos de error

Consulte Códigos de error.