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 clúster

Función

Esta API se utiliza para crear un clúster vacío, que solo tiene los nodos principales pero no tiene los de trabajo. Después de crear un clúster invocando a esta API, puede agregar nodos mediante creando los nodos.

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

  • De forma predeterminada, ICAgent no está instalado cuando se invoca a esta API para crear un clúster. Si necesita instalar ICAgent, agregue "cluster.install.addons.external/install": "[{"addonTemplateName":"icagent"}]" a annotations en el cuerpo de la solicitud. ICAgent se instalará automáticamente durante la creación del clúster. ICAgent es una delegación de recopilación de datos de O&M utilizada por Application Performance Management (APM). Se ejecuta en cada servidor para recopilar datos de sondas en tiempo real. ICAgent es el requisito previo para lograr la aplicación de O&M. Si ICAgent no está instalado, no se pueden utilizar las funciones de O&M de la aplicación.

Restricciones

Antes de invocar a la API de CCE para crear un clúster, asegúrese de que se cumplen las siguientes condiciones:

  • Hay un VPC disponible. Si ya tiene una VPC disponible, omita este paso. Una VPC proporciona una red virtual aislada, configurable y administrable para los clústeres de CCE.

  • Planifique el bloque CIDR de contenedor y el bloque CIDR de servicio antes de crear un clúster. El bloque CIDR es una configuración única y no se puede cambiar después de crear el clúster. Si desea utilizar otro bloque CIDR, debe crear un nuevo clúster y asignar el nuevo bloque CIDR al clúster.

  • Una delegación se ha creado correctamente y no se elimina. Si la verificación de la delegación falla, el clúster no se crea. Puede iniciar sesión en la consola de CCE. Si no se crea ninguna delegación, el sistema le pedirá que cree una. Si se ha creado una delegación, no se muestra ningún mensaje.

  • De forma predeterminada, una cuenta puede crear un máximo de cinco clústeres en cada región. Si necesita crear más clústeres, puede enviar una aplicación para aumentar la cuota.

URI

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

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.

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 Cluster o cluster 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 ClusterMetadata

Información básica sobre un clúster. Metadatos es una colección de atributos.

spec

Objeto de ClusterSpec

Descripción detallada del clúster. CCE crea o actualiza objetos definiendo o actualizando spec.

status

No

Objeto de ClusterStatus

El estado de clúster y el ID de trabajo del trabajo de creación del clúster.

Tabla 4 ClusterMetadata

Parámetro

Obligatorio

Tipo

Descripción

name

String

Nombre del clúster.

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

uid

No

String

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

annotations

No

Map<String,String>

Anotaciones de clúster, en el formato de pares de clave y valor.

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

  • Este campo no se almacena en la base de datos y solo se utiliza para especificar los complementos que se van a instalar en el clúster.

  • Instale ICAgent durante la creación del clúster agregando el par de clave y valor "cluster.install.addons.external/install": "[{"addonTemplateName":"icagent"}]".

labels

No

Map<String,String>

Etiquetas de clúster, en el formato de pares de clave y valor.

NOTA:

El valor de este campo es generado automáticamente por el sistema y es utilizado por el frontend para identificar las características admitidas por el clúster durante la actualización. Los valores personalizados no son válidos.

creationTimestamp

No

String

Hora en la que se creó el clúster.

updateTimestamp

No

String

Hora en la que se actualizó el clúster.

Tabla 5 ClusterSpec

Parámetro

Obligatorio

Tipo

Descripción

category

No

String

Tipo del clúster:

  • CCE: Clúster de CCE.

El clúster de CCE admite el despliegue híbrido de las máquinas virtuales y los servidores de metal desnudo (BMS), y los nodos heterogéneos como nodos habilitados para GPU y NPU. Puede ejecutar sus contenedores en un entorno de tiempo de ejecución de contenedores seguro y estable basado en un modelo de red de alto rendimiento.

type

No

String

Arquitectura de nodo principal de un clúster:

  • VirtualMachine: El nodo principal es un servidor de x86.

  • ARM64: El nodo principal es un servidor de Kunpeng basado en Arm.

flavor

String

Valor predeterminado: cuando se crea un clúster de CCE o de Kunpeng, el valor es cce.s1.small para los escenarios que no son de DeC y cce.dec.s1.small para los de DeC.

La variante de clúster, que no se puede cambiar después de crear el clúster.

  • cce.s1.small: clúster de CCE de maestro único y escala pequeña (≤ 50 nodos)

  • cce.s1.medium: clúster de CCE de maestro único y escala media (≤ 200 nodos)

  • cce.s2.small: clúster de CCE de multimaestro y escala pequeña (≤ 50 nodos)

  • cce.s2.medium: clúster de CCE de multimaestro y escala media (≤ 200 nodos)

  • cce.s2.large: clúster de CCE de multimaestro y escala grande (≤ 1,000 nodos)

  • cce.s2.xlarge: clúster de CCE de multimaestro y escala grande (≤ 2,000 nodos)

NOTA:
  • s1: clúster de CCE de maestro único

  • s2: clúster de CCE de multimaestro

  • dec: clúster de CCE dedicado. Por ejemplo, cce.dec.s1.small es un clúster de CCE dedicado, maestro único y pequeña escala (≤ 50 nodos).

  • Los valores entre paréntesis indican el número máximo de nodos que puede gestionar el clúster.

  • Un clúster de maestro único solo tiene un nodo principal. Si el nodo principal está inactivo, el clúster dejará de estar disponible y dejará de servir nuevas cargas de trabajo. Sin embargo, las cargas de trabajo existentes en el clúster no se ven afectadas.

  • Un clúster de multimaestro está altamente disponible. Cuando un nodo principal está defectuoso, el clúster aún está disponible.

version

No

String

Versión de clúster, que refleja la versión básica de la comunidad de Kubernetes. Se recomienda la versión más reciente.

Puede crear clústeres de dos versiones más recientes en la consola de CCE. Para saber qué versiones de clúster están disponibles, inicie sesión en la consola de CCE, cree un clúster y compruebe el parámetro Version. Puede invocar a las API para crear los clústeres de otras versiones. Sin embargo, estos clústeres se pondrán gradualmente fuera de línea. Para más detalles sobre la política de soporte, consulte el anuncio del CCE.

NOTA:
  • Si no se especifica, se crea un clúster de la última versión.

  • Si se especifica la versión del clúster de línea base pero no se especifica la versión R, el sistema selecciona la versión R más reciente del clúster de forma predeterminada. Se recomienda no especificar la versión R.

platformVersion

No

String

Versión de la plataforma de clúster de CCE, que indica la versión interna en la versión de clúster (version). Las versiones de plataforma se utilizan para rastrear iteraciones en una versión de clúster principal. Son únicos dentro de una versión del clúster principal y se cuentan cuando cambia la versión del clúster principal. Este parámetro no se puede personalizar. Al crear un clúster, se selecciona automáticamente la última versión de plataforma correspondiente.

El formato de platformVersion es cce.X.Y.

  • X: versión de la característica interna, que indica cambios en las características, parches o compatibilidad con SO en la versión del clúster. El valor comienza desde 1 y aumenta monótonamente.

  • Y: versión de parche de una versión de función interna. Se utiliza solo para la actualización del paquete de software después de que la versión de la característica se pone en línea. No hay ninguna otra modificación implicada. El valor comienza desde 0 y aumenta monótonamente.

description

No

String

Descripción del clúster, por ejemplo, qué propósito está destinado a servir el clúster. De forma predeterminada, este campo se deja sin especificar. Para modificar la descripción del clúster después de crear el clúster, invoque a la API para actualizar la información del clúster o vaya a la página de detalles del clúster en la consola de CCE. Solo se admite la codificación UTF-8.

customSan

No

Matriz de strings

Campo de SAN personalizado en el certificado de servidor del servidor de API de clúster, que debe cumplir con las especificaciones de formato SSL y X509.

  1. No se permiten los nombres duplicados.

  2. Debe cumplir con la dirección IP y los formatos de nombre de dominio.

Por ejemplo:

SAN 1: DNS Name=example.com
SAN 2: DNS Name=www.example.com
SAN 3: DNS Name=example.net
SAN 4: IP Address=93.184.216.34

ipv6enable

No

Boolean

Si el clúster admite direcciones de IPv6. Este campo es compatible con clústeres de v1.15 y las versiones posteriores.

hostNetwork

Objeto de HostNetwork

Parámetros de red de nodo, incluidos los ID de VPC y de subred. Este campo es obligatorio porque los nodos de un clúster se comunican entre sí mediante una VPC.

containerNetwork

Objeto de ContainerNetwork

Parámetros de red de contenedores, incluido el modelo de red de contenedores y el bloque CIDR de contenedores.

eniNetwork

No

Objeto de EniNetwork

Configuración del modelo de Cloud Native Network 2.0. Especifique este campo al crear un clúster de CCE Turbo.

authentication

No

Objeto de Authentication

Configuraciones del modo de autenticación de clúster.

billingMode

No

Integer

Modo de facturación de un clúster.

  • 0: pago por uso 1: anual/mensual

El valor predeterminado es pago por uso.

masters

No

Matriz de objetos de MasterSpec

Configuraciones avanzadas de los nodos principales

kubernetesSvcIpRange

No

String

Bloque de CIDR de servicio o el rango de direcciones IP en el que debe estar kubernetes clusterIp. Este campo solo está disponible para los clústeres de v1.11.7 y posteriores.

clusterTags

No

Matriz de objetos de ResourceTag

Etiquetas de recursos de clúster.

kubeProxyMode

No

String

Modo de reenvío de servicio. Hay dos modos disponibles:

  • iptables: kube-proxy tradicional utiliza las reglas iptables para implementar el balanceo de carga de servicio. En este modo, se generarán demasiadas reglas de iptables cuando se implementen muchos servicios. Además, las actualizaciones no incrementales causarán latencia e incluso problemas de rendimiento tangibles en el caso de picos de tráfico de servicio.

  • ipvs: Modo de kube-proxy optimizado con mayor rendimiento y velocidad más rápida. Este modo admite actualizaciones incrementales y puede mantener las conexiones ininterrumpidas durante las actualizaciones del servicio. Es adecuado para clústeres de gran tamaño.

az

No

String

La AZ. Este campo se devuelve solo para una consulta. Para obtener más información acerca de las AZ admitidas por CCE, consulte la sección Regiones y puntos de conexión.

extendParam

No

Objeto de ClusterExtendParam

El campo extendido para decidir si el clúster se extenderá entre las AZ o pertenecerá a un proyecto empresarial específico, o si se creará un clúster de CCE dedicado.

supportIstio

No

Boolean

Si se admite Istio.

Tabla 6 HostNetwork

Parámetro

Obligatorio

Tipo

Descripción

vpc

String

ID de la VPC utilizada para crear un nodo principal. Métodos:

  • Método 1: Inicie sesión en la consola de VPC y vea el ID de VPC en los detalles de la VPC.

  • Método 2: Consulte el ID de VPC a través de la API de VPC. Para obtener más información, consulte la sección Consulta de VPC.

NOTA:
  • Actualmente, el modelo de red de VPC no soporta la interconexión con VPC que contienen un bloque CIDR secundario.

  • Si es un usuario de empresa, asegúrese de que el ID del proyecto de empresa de la VPC sea el mismo que el seleccionado durante la creación del clúster. enterpriseProjectId especifica el ID de proyecto de empresa del clúster en el campo extendParam. El valor predeterminado es 0, que indica el proyecto de empresa predeterminado.

subnet

String

ID de red de la subred utilizada para crear un nodo principal. Métodos:

  • Método 1: Inicie sesión en la consola de VPC y haga clic en la subred de destino en la página de ficha Subnets. Puede ver el ID de red en la página mostrada.

  • Método 2: Utilice la API de VPC para consultar subredes. Para obtener más información, consulte la sección Consulta de subredes.

SecurityGroup

No

String

ID de grupo de seguridad del nodo. El valor se genera al crear un grupo de seguridad y cualquier valor definido por el usuario no es válido.

Tabla 7 ContainerNetwork

Parámetro

Obligatorio

Tipo

Descripción

mode

String

Modelo de red de contenedores. Seleccione uno de los siguientes valores posibles:

  • overlay_l2: una red overlay_l2 creada para contenedores usando Open vSwitch (OVS).

  • vpc-router: una red underlay_l2 creada para los contenedores mediante IPVlan y rutas de VPC personalizadas.

cidr

No

String

Bloque de contenedores de CIDR. Recomendado: 10.0.0.0/12-19, 172.16.0.0/16-19, or 192.168.0.0/16-19. Si el bloque CIDR seleccionado entra en conflicto con los existentes, se reportará un error.

Este parámetro no se puede modificar una vez creado el clúster. (Este parámetro ha sido descartado. Si se ha configurado cidrs, omita este parámetro.)

cidrs

No

Matriz de objetos de ContainerCIDR

Lista de bloques CIDR de contenedores. En clústeres de v1.21 y posteriores, se utiliza el campo cidrs. Cuando el tipo de red de clúster es de tipo vpc-router, puede agregar varios bloques CIDR de contenedor. En las versiones anteriores a v1.21, si se usa el campo cidrs, el primer elemento CIDR en la matriz se usa como el bloque CIDR contenedor.

Este parámetro no se puede modificar una vez creado el clúster.

Tabla 8 ContainerCIDR

Parámetro

Obligatorio

Tipo

Descripción

cidr

String

Bloque de contenedores de CIDR. Recomendado: 10.0.0.0/12-19, 172.16.0.0/16-19 y 192.168.0.0/16-19

Tabla 9 EniNetwork

Parámetro

Obligatorio

Tipo

Descripción

eniSubnetId

String

ID de red IPv4 de la subred donde reside el ENI. (IPv6 no es compatible y se descarta.) Para obtener el valor:

  • Método 1: Inicie sesión en la consola de VPC y haga clic en la subred de la VPC. En la página de detalles de subred que se muestra, consulte el ID de subred IPv4.

  • Método 2: Utilice la API de VPC para consultar subredes. Para obtener más información, consulte la sección Consulta de subredes.

eniSubnetCIDR

String

CIDR de la subred ENI (se descarta)

subnets

Matriz de objetos de NetworkSubnet

Lista de los ID de subred IPv4

Tabla 10 NetworkSubnet

Parámetro

Obligatorio

Tipo

Descripción

subnetID

String

ID de red IPv4 de la subred para crear los nodos principales. Actualmente, IPv6 no es compatible. Métodos:

  • Método 1: Inicie sesión en la consola de VPC y haga clic en la subred de destino en la página Subnets. Puede ver el ID de subred IPv4 en la página mostrada.

  • Método 2: Utilice la API de VPC para consultar subredes. Para obtener más información, consulte la sección Consulta de subredes.

Tabla 11 Authentication

Parámetro

Obligatorio

Tipo

Descripción

mode

No

String

Modo de autenticación de clúster.

  • Los clústeres de kubernetes de v1.11 o anteriores admiten x509, rbac y authenticating_proxy. El valor predeterminado es x509.

Los clústeres de v1.13 o posterior admiten rbac y authenticating_proxy. El valor predeterminado es rbac.

authenticatingProxy

No

Objeto de AuthenticatingProxy

Configuración relacionada con el modo authenticating_proxy. Este campo es obligatorio cuando el modo de autenticación es authenticating_proxy.

Tabla 12 AuthenticatingProxy

Parámetro

Obligatorio

Tipo

Descripción

ca

No

String

Certificado de X509 CA (Base64-encoded) configurado en modo authenticating_proxy. Este campo es obligatorio cuando el modo de autenticación de clúster es authenticating_proxy.

Tamaño máximo: 1 MB

cert

No

String

Certificado de cliente emitido por el certificado X509 CA configurado en modo autenticating_proxy, que se utiliza para la autenticación desde kube-apiserver al servidor de API extendido. Este campo es obligatorio cuando el modo de autenticación de clúster es authenticating_proxy (el valor debe estar codificado en base 64).

privateKey

No

String

La clave privada del certificado de cliente emitido por el certificado X509 CA configurado en modo autenticating_proxy, que se utiliza para la autenticación desde kube-apiserver al servidor de API extendido. La clave privada utilizada por el clúster de Kubernetes no es compatible con la encriptación de contraseñas. Utilice una clave privada no cifrada. Este campo es obligatorio cuando el modo de autenticación de clúster es authenticating_proxy (el valor debe estar codificado en base 64).

Tabla 13 MasterSpec

Parámetro

Obligatorio

Tipo

Descripción

availabilityZone

No

String

La AZ

Tabla 14 ResourceTag

Parámetro

Obligatorio

Tipo

Descripción

key

No

String

La clave.

  • Puede contener un máximo de 36 caracteres de UTF-8.

  • No se admiten los siguientes caracteres especiales: [=*<>\,|/]+

  • No se admiten los caracteres de control de ASCII (0–31).

value

No

String

El valor.

  • Puede contener un máximo de 43 caracteres de UTF-8.

  • No se admiten los siguientes caracteres especiales: [=*<>\,|/]+

  • No se admiten los caracteres de control de ASCII (0–31).

Tabla 15 ClusterExtendParam

Parámetro

Obligatorio

Tipo

Descripción

clusterAZ

No

String

La AZ de los nodos principales en el clúster. Para obtener más información acerca de las AZ admitidas por CCE, consulte la sección Regiones y puntos de conexión.

  • multi_az: (Opcional) El clúster se extenderá entre las AZ. Este campo solo es configurable para los clústeres de alta disponibilidad.

  • AZ of the dedicated cloud computing pool: El clúster se implementará en la AZ de la nube dedicada (DeC). Este parámetro es obligatorio para clústeres de CCE dedicados.

dssMasterVolumes

No

String

Si el sistema y los discos de datos de un nodo principal utilizan el almacenamiento distribuido dedicado. Si este parámetro se omite o se deja sin especificar, los discos de EVS se utilizan de forma predeterminada. Este parámetro es obligatorio para clústeres de CCE dedicados. Está en el siguiente formato:

<rootVol.dssPoolID>.<rootVol.volType>;<dataVol.dssPoolID>.<dataVol.volType>

Descripción de campo

  • rootVol es el disco del sistema. dataVol es el disco de datos.

  • dssPoolID indica el ID del pool de almacenamiento de DSS.

  • volType indica el tipo de volumen de almacenamiento del pool de almacenamiento de DSS, como SAS y SSD.

Ejemplo: c950ee97-587c-4f24-8a74-3367e3da570f.sas;6edbc2f4-1507-44f8-ac0d-eed1d2608d38.ssd

NOTA:

Este campo no se puede configurar para los clústeres de CCE no dedicados.

enterpriseProjectId

No

String

ID del proyecto de empresa al que pertenece un clúster.

NOTA:
  • Un proyecto de empresa solo se puede configurar después de activar la función de proyecto de empresa.

  • El proyecto de empresa al que pertenece el clúster debe ser el mismo al que pertenecen otros recursos de servicio en la nube asociados con el clúster.

kubeProxyMode

No

String

Modo de reenvío de servicio. Hay dos modos disponibles:

  • iptables: kube-proxy tradicional utiliza las reglas iptables para implementar el balanceo de carga de servicio. En este modo, se generarán demasiadas reglas de iptables cuando se implementen muchos servicios. Además, las actualizaciones no incrementales causarán latencia e incluso problemas de rendimiento tangibles en el caso de picos de tráfico de servicio.

  • ipvs: Modo de kube-proxy optimizado con mayor rendimiento y velocidad más rápida. Este modo admite actualizaciones incrementales y puede mantener las conexiones ininterrumpidas durante las actualizaciones del servicio. Es adecuado para clústeres de gran tamaño.

NOTA:

Este parámetro ha sido obsoleta. Si este parámetro y kubeProxyMode en ClusterSpec se especifican al mismo tiempo, se utiliza este último.

clusterExternalIP

No

String

La EIP del nodo principal

alpha.cce/fixPoolMask

No

String

Número de bits de máscara del pool fijo de direcciones IP del modelo de red contenedor. Este campo solo se admite para el modelo de red VPC (vpc-router).

Este parámetro determina el número de direcciones IP de contenedor que se pueden asignar a un nodo. El número máximo de pods que se pueden crear en un nodo se decide por este parámetro y maxPods se establece durante la creación del nodo. Para obtener más información, consulte la sección Número máximo de pods que se pueden crear en un nodo.

Para los caracteres enteros, el valor oscila entre 24 y 28.

decMasterFlavor

No

String

Especificaciones del nodo principal en el clúster híbrido dedicado.

dockerUmaskMode

No

String

Configuración de UmaskMode predeterminada de Docker en un clúster. El valor puede ser secure o normal. Si no se especifica este parámetro, se utiliza normal de forma predeterminada.

kubernetes.io/cpuManagerPolicy

No

String

Política de gestión de CPU de clúster. El valor puede ser none o static. El valor predeterminado es none.

  • none: los núcleos de CPU no se asignarán exclusivamente a los pods de carga de trabajo. Seleccione este valor si desea un grupo grande de núcleos de CPU compartibles.

  • static: los núcleos de CPU se pueden asignar exclusivamente a los pods de carga de trabajo. Seleccione este valor si su carga de trabajo es sensible a la latencia en la memoria caché y la programación de la CPU.

orderID

No

String

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

periodType

No

String

  • month: La unidad es de mes.

  • year: La unidad es de año.

NOTA:

Esta opción es válida y obligatoria solo cuando billingMode se establece en 1 (facturación anual/mensual).

periodNum

No

Integer

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

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

  • Si periodType tiene un valor year, el valor oscila entre 1 y 3.

NOTA:

Este campo es válido y obligatorio cuando billingMode está establecido en 1.

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 está establecido en 1. 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 está establecido en 1. Si no se especifica, la deducción automática de la tarifa no está habilitada.

upgradefrom

No

String

Registros de cómo se actualiza el clúster a la versión actual

Tabla 16 ClusterStatus

Parámetro

Obligatorio

Tipo

Descripción

phase

No

String

Estado del clúster. Valores posibles:

  • Available: El clúster se está ejecutando correctamente.

  • Unavailable: El clúster muestra un comportamiento inesperado. Elimine manualmente el clúster o póngase en contacto con el administrador para eliminar el clúster.

  • ScalingUp: Se están agregando nodos al clúster.

  • ScalingDown: Se está reduciendo el tamaño del clúster a menos nodos. - Creating: Se está creando el clúster.

  • Deleting: Se está eliminando el clúster.

  • Upgrading: Se está actualizando el clúster.

  • Resizing: Se están modificando las especificaciones del clúster.

  • RollingBack: El clúster se está revirtiendo.

  • RollbackFailed: El clúster no puede ser revertido. En este caso, póngase en contacto con el administrador para realizar la reversión de nuevo.

  • Empty: El clúster no tiene recursos.

jobID

No

String

ID del trabajo.

reason

No

String

Motivo del cambio de estado del clúster. Este parámetro se devuelve si el clúster no está en el estado Available (Disponible).

message

No

String

Información detallada sobre por qué el clúster cambia al estado actual. Este parámetro se devuelve si el clúster no está en el estado Available (Disponible).

endpoints

No

Matriz de objetos de ClusterEndpoints

Dirección de acceso de kube-apiserver en el clúster.

isLocked

No

Boolean

El recurso de CBC está bloqueado.

lockScene

No

String

Escenario donde el recurso de CBC está bloqueado.

lockSource

No

String

Bloqueo de recursos.

lockSourceId

No

String

ID del recurso bloqueado.

deleteOption

No

Object

Si desea eliminar configuraciones. Este parámetro solo está contenido en la respuesta a la solicitud de eliminación.

deleteStatus

No

Object

Si desea eliminar la información de estado. Este parámetro solo está contenido en la respuesta a la solicitud de eliminación.

Tabla 17 ClusterEndpoints

Parámetro

Obligatorio

Tipo

Descripción

url

No

String

Dirección de acceso de kube-apiserver en el clúster.

type

No

String

Tipo de la dirección de acceso al clúster.

  • Internal: dirección para el acceso a la red interna

  • External: dirección para el acceso a la red externa

Parámetros de respuesta

Código de estado: 201

Tabla 18 Parámetros del cuerpo de respuesta

Parámetro

Tipo

Descripción

kind

String

Tipo de la API. El valor se fija en Cluster o cluster 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 ClusterMetadata

Información básica sobre un clúster. Metadatos es una colección de atributos.

spec

Objeto de ClusterSpec

Descripción detallada del clúster. CCE crea o actualiza objetos definiendo o actualizando spec.

status

Objeto de ClusterStatus

El estado de clúster y el ID de trabajo del trabajo de creación del clúster.

Tabla 19 ClusterMetadata

Parámetro

Tipo

Descripción

name

String

Nombre del clúster.

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

uid

String

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

annotations

Map<String,String>

Anotaciones de clúster, en el formato de pares de clave y valor.

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

  • Este campo no se almacena en la base de datos y solo se utiliza para especificar los complementos que se van a instalar en el clúster.

  • Instale ICAgent durante la creación del clúster agregando el par de clave y valor "cluster.install.addons.external/install": "[{"addonTemplateName":"icagent"}]".

labels

Map<String,String>

Etiquetas de clúster, en el formato de pares de clave y valor.

NOTA:

El valor de este campo es generado automáticamente por el sistema y es utilizado por el frontend para identificar las características admitidas por el clúster durante la actualización. Los valores personalizados no son válidos.

creationTimestamp

String

Hora en la que se creó el clúster.

updateTimestamp

String

Hora en la que se actualizó el clúster.

Tabla 20 ClusterSpec

Parámetro

Tipo

Descripción

category

String

Tipo del clúster:

  • CCE: Clúster de CCE.

El clúster de CCE admite el despliegue híbrido de las máquinas virtuales y los servidores de metal desnudo (BMS), y los nodos heterogéneos como nodos habilitados para GPU y NPU. Puede ejecutar sus contenedores en un entorno de tiempo de ejecución de contenedores seguro y estable basado en un modelo de red de alto rendimiento.

type

String

Arquitectura de nodo principal de un clúster:

  • VirtualMachine: El nodo principal es un servidor de x86.

  • ARM64: El nodo principal es un servidor de Kunpeng basado en Arm.

flavor

String

Valor predeterminado: cuando se crea un clúster de CCE o de Kunpeng, el valor es cce.s1.small para los escenarios que no son de DeC y cce.dec.s1.small para los de DeC.

La variante de clúster, que no se puede cambiar después de crear el clúster.

  • cce.s1.small: clúster de CCE de maestro único y escala pequeña (≤ 50 nodos)

  • cce.s1.medium: clúster de CCE de maestro único y escala media (≤ 200 nodos)

  • cce.s2.small: clúster de CCE de multimaestro y escala pequeña (≤ 50 nodos)

  • cce.s2.medium: clúster de CCE de multimaestro y escala media (≤ 200 nodos)

  • cce.s2.large: clúster de CCE de multimaestro y escala grande (≤ 1,000 nodos)

  • cce.s2.xlarge: clúster de CCE de multimaestro y escala grande (≤ 2,000 nodos)

NOTA:
  • s1: clúster de CCE de maestro único

  • s2: clúster de CCE de multimaestro

  • dec: clúster de CCE dedicado. Por ejemplo, cce.dec.s1.small es un clúster de CCE dedicado, maestro único y pequeña escala (≤ 50 nodos).

  • Los valores entre paréntesis indican el número máximo de nodos que puede gestionar el clúster.

  • Un clúster de maestro único solo tiene un nodo principal. Si el nodo principal está inactivo, el clúster dejará de estar disponible y dejará de servir nuevas cargas de trabajo. Sin embargo, las cargas de trabajo existentes en el clúster no se ven afectadas.

  • Un clúster de multimaestro está altamente disponible. Cuando un nodo principal está defectuoso, el clúster aún está disponible.

version

String

Versión de clúster, que refleja la versión básica de la comunidad de Kubernetes. Se recomienda la versión más reciente.

Puede crear clústeres de dos versiones más recientes en la consola de CCE. Para saber qué versiones de clúster están disponibles, inicie sesión en la consola de CCE, cree un clúster y compruebe el parámetro Version. Puede invocar a las API para crear los clústeres de otras versiones. Sin embargo, estos clústeres se pondrán gradualmente fuera de línea. Para más detalles sobre la política de soporte, consulte el anuncio del CCE.

NOTA:
  • Si no se especifica, se crea un clúster de la última versión.

  • Si se especifica la versión del clúster de línea base pero no se especifica la versión R, el sistema selecciona la versión R más reciente del clúster de forma predeterminada. Se recomienda no especificar la versión R.

platformVersion

String

Versión de la plataforma de clúster de CCE, que indica la versión interna en la versión de clúster (version). Las versiones de plataforma se utilizan para rastrear iteraciones en una versión de clúster principal. Son únicos dentro de una versión del clúster principal y se cuentan cuando cambia la versión del clúster principal. Este parámetro no se puede personalizar. Al crear un clúster, se selecciona automáticamente la última versión de plataforma correspondiente.

El formato de platformVersion es cce.X.Y.

  • X: versión de la característica interna, que indica cambios en las características, parches o compatibilidad con SO en la versión del clúster. El valor comienza desde 1 y aumenta monótonamente.

  • Y: versión de parche de una versión de función interna. Se utiliza solo para la actualización del paquete de software después de que la versión de la característica se pone en línea. No hay ninguna otra modificación implicada. El valor comienza desde 0 y aumenta monótonamente.

description

String

Descripción del clúster, por ejemplo, qué propósito está destinado a servir el clúster. De forma predeterminada, este campo se deja sin especificar. Para modificar la descripción del clúster después de crear el clúster, invoque a la API para actualizar la información del clúster o vaya a la página de detalles del clúster en la consola de CCE. Solo se admite la codificación UTF-8.

customSan

Matriz de strings

Campo de SAN personalizado en el certificado de servidor del servidor de API de clúster, que debe cumplir con las especificaciones de formato SSL y X509.

  1. No se permiten los nombres duplicados.

  2. Debe cumplir con la dirección IP y los formatos de nombre de dominio.

Por ejemplo:

SAN 1: DNS Name=example.com
SAN 2: DNS Name=www.example.com
SAN 3: DNS Name=example.net
SAN 4: IP Address=93.184.216.34

ipv6enable

Boolean

Si el clúster admite direcciones de IPv6. Este campo es compatible con clústeres de v1.15 y las versiones posteriores.

hostNetwork

Objeto de HostNetwork

Parámetros de red de nodo, incluidos los ID de VPC y de subred. Este campo es obligatorio porque los nodos de un clúster se comunican entre sí mediante una VPC.

containerNetwork

Objeto de ContainerNetwork

Parámetros de red de contenedores, incluido el modelo de red de contenedores y el bloque CIDR de contenedores.

eniNetwork

Objeto de EniNetwork

Configuración del modelo de Cloud Native Network 2.0. Especifique este campo al crear un clúster de CCE Turbo.

authentication

Objeto de Authentication

Configuraciones del modo de autenticación de clúster.

billingMode

Integer

Modo de facturación de un clúster.

  • 0: pago por uso 1: anual/mensual

El valor predeterminado es pago por uso.

masters

Matriz de objetos de MasterSpec

Configuraciones avanzadas de los nodos principales

kubernetesSvcIpRange

String

Bloque de CIDR de servicio o el rango de direcciones IP en el que debe estar kubernetes clusterIp. Este campo solo está disponible para los clústeres de v1.11.7 y posteriores.

clusterTags

Matriz de objetos de ResourceTag

Etiquetas de recursos de clúster.

kubeProxyMode

String

Modo de reenvío de servicio. Hay dos modos disponibles:

  • iptables: kube-proxy tradicional utiliza las reglas iptables para implementar el balanceo de carga de servicio. En este modo, se generarán demasiadas reglas de iptables cuando se implementen muchos servicios. Además, las actualizaciones no incrementales causarán latencia e incluso problemas de rendimiento tangibles en el caso de picos de tráfico de servicio.

  • ipvs: Modo de kube-proxy optimizado con mayor rendimiento y velocidad más rápida. Este modo admite actualizaciones incrementales y puede mantener las conexiones ininterrumpidas durante las actualizaciones del servicio. Es adecuado para clústeres de gran tamaño.

az

String

La AZ. Este campo se devuelve solo para una consulta. Para obtener más información acerca de las AZ admitidas por CCE, consulte la sección Regiones y puntos de conexión.

extendParam

Objeto de ClusterExtendParam

El campo extendido para decidir si el clúster se extenderá entre las AZ o pertenecerá a un proyecto empresarial específico, o si se creará un clúster de CCE dedicado.

supportIstio

Boolean

Si se admite Istio.

Tabla 21 HostNetwork

Parámetro

Tipo

Descripción

vpc

String

ID de la VPC utilizada para crear un nodo principal. Métodos:

  • Método 1: Inicie sesión en la consola de VPC y vea el ID de VPC en los detalles de la VPC.

  • Método 2: Consulte el ID de VPC a través de la API de VPC. Para obtener más información, consulte la sección Consulta de VPC.

NOTA:
  • Actualmente, el modelo de red de VPC no soporta la interconexión con VPC que contienen un bloque CIDR secundario.

  • Si es un usuario de empresa, asegúrese de que el ID del proyecto de empresa de la VPC sea el mismo que el seleccionado durante la creación del clúster. enterpriseProjectId especifica el ID de proyecto de empresa del clúster en el campo extendParam. El valor predeterminado es 0, que indica el proyecto de empresa predeterminado.

subnet

String

ID de red de la subred utilizada para crear un nodo principal. Métodos:

  • Método 1: Inicie sesión en la consola de VPC y haga clic en la subred de destino en la página de ficha Subnets. Puede ver el ID de red en la página mostrada.

  • Método 2: Utilice la API de VPC para consultar subredes. Para obtener más información, consulte la sección Consulta de subredes.

SecurityGroup

String

ID de grupo de seguridad del nodo. El valor se genera al crear un grupo de seguridad y cualquier valor definido por el usuario no es válido.

Tabla 22 ContainerNetwork

Parámetro

Tipo

Descripción

mode

String

Modelo de red de contenedores. Seleccione uno de los siguientes valores posibles:

  • overlay_l2: una red overlay_l2 creada para contenedores usando Open vSwitch (OVS).

  • vpc-router: una red underlay_l2 creada para los contenedores mediante IPVlan y rutas de VPC personalizadas.

cidr

String

Bloque de contenedores de CIDR. Recomendado: 10.0.0.0/12-19, 172.16.0.0/16-19, or 192.168.0.0/16-19. Si el bloque CIDR seleccionado entra en conflicto con los existentes, se reportará un error.

Este parámetro no se puede modificar una vez creado el clúster. (Este parámetro ha sido descartado. Si se ha configurado cidrs, omita este parámetro.)

cidrs

Matriz de objetos de ContainerCIDR

Lista de bloques CIDR de contenedores. En clústeres de v1.21 y posteriores, se utiliza el campo cidrs. Cuando el tipo de red de clúster es de tipo vpc-router, puede agregar varios bloques CIDR de contenedor. En las versiones anteriores a v1.21, si se usa el campo cidrs, el primer elemento CIDR en la matriz se usa como el bloque CIDR contenedor.

Este parámetro no se puede modificar una vez creado el clúster.

Tabla 23 ContainerCIDR

Parámetro

Tipo

Descripción

cidr

String

Bloque de contenedores de CIDR. Recomendado: 10.0.0.0/12-19, 172.16.0.0/16-19 y 192.168.0.0/16-19

Tabla 24 EniNetwork

Parámetro

Tipo

Descripción

eniSubnetId

String

ID de red IPv4 de la subred donde reside el ENI. (IPv6 no es compatible y se descarta.) Para obtener el valor:

  • Método 1: Inicie sesión en la consola de VPC y haga clic en la subred de la VPC. En la página de detalles de subred que se muestra, consulte el ID de subred IPv4.

  • Método 2: Utilice la API de VPC para consultar subredes. Para obtener más información, consulte la sección Consulta de subredes.

eniSubnetCIDR

String

CIDR de la subred ENI (se descarta)

subnets

Matriz de objetos de NetworkSubnet

Lista de los ID de subred IPv4

Tabla 25 NetworkSubnet

Parámetro

Tipo

Descripción

subnetID

String

ID de red IPv4 de la subred para crear los nodos principales. Actualmente, IPv6 no es compatible. Métodos:

  • Método 1: Inicie sesión en la consola de VPC y haga clic en la subred de destino en la página Subnets. Puede ver el ID de subred IPv4 en la página mostrada.

  • Método 2: Utilice la API de VPC para consultar subredes. Para obtener más información, consulte la sección Consulta de subredes.

Tabla 26 Authentication

Parámetro

Tipo

Descripción

mode

String

Modo de autenticación de clúster.

  • Los clústeres de kubernetes de v1.11 o anteriores admiten x509, rbac y authenticating_proxy. El valor predeterminado es x509.

Los clústeres de v1.13 o posterior admiten rbac y authenticating_proxy. El valor predeterminado es rbac.

authenticatingProxy

Objeto de AuthenticatingProxy

Configuración relacionada con el modo authenticating_proxy. Este campo es obligatorio cuando el modo de autenticación es authenticating_proxy.

Tabla 27 AuthenticatingProxy

Parámetro

Tipo

Descripción

ca

String

Certificado de X509 CA (Base64-encoded) configurado en modo authenticating_proxy. Este campo es obligatorio cuando el modo de autenticación de clúster es authenticating_proxy.

Tamaño máximo: 1 MB

cert

String

Certificado de cliente emitido por el certificado X509 CA configurado en modo autenticating_proxy, que se utiliza para la autenticación desde kube-apiserver al servidor de API extendido. Este campo es obligatorio cuando el modo de autenticación de clúster es authenticating_proxy (el valor debe estar codificado en base 64).

privateKey

String

La clave privada del certificado de cliente emitido por el certificado X509 CA configurado en modo autenticating_proxy, que se utiliza para la autenticación desde kube-apiserver al servidor de API extendido. La clave privada utilizada por el clúster de Kubernetes no es compatible con la encriptación de contraseñas. Utilice una clave privada no cifrada. Este campo es obligatorio cuando el modo de autenticación de clúster es authenticating_proxy (el valor debe estar codificado en base 64).

Tabla 28 MasterSpec

Parámetro

Tipo

Descripción

availabilityZone

String

La AZ

Tabla 29 ResourceTag

Parámetro

Tipo

Descripción

key

String

La clave.

  • Puede contener un máximo de 36 caracteres de UTF-8.

  • No se admiten los siguientes caracteres especiales: [=*<>\,|/]+

  • No se admiten los caracteres de control de ASCII (0–31).

value

String

El valor.

  • Puede contener un máximo de 43 caracteres de UTF-8.

  • No se admiten los siguientes caracteres especiales: [=*<>\,|/]+

  • No se admiten los caracteres de control de ASCII (0–31).

Tabla 30 ClusterExtendParam

Parámetro

Tipo

Descripción

clusterAZ

String

La AZ de los nodos principales en el clúster. Para obtener más información acerca de las AZ admitidas por CCE, consulte la sección Regiones y puntos de conexión.

  • multi_az: (Opcional) El clúster se extenderá entre las AZ. Este campo solo es configurable para los clústeres de alta disponibilidad.

  • AZ of the dedicated cloud computing pool: El clúster se implementará en la AZ de la nube dedicada (DeC). Este parámetro es obligatorio para clústeres de CCE dedicados.

dssMasterVolumes

String

Si el sistema y los discos de datos de un nodo principal utilizan el almacenamiento distribuido dedicado. Si este parámetro se omite o se deja sin especificar, los discos de EVS se utilizan de forma predeterminada. Este parámetro es obligatorio para clústeres de CCE dedicados. Está en el siguiente formato:

<rootVol.dssPoolID>.<rootVol.volType>;<dataVol.dssPoolID>.<dataVol.volType>

Descripción de campo

  • rootVol es el disco del sistema. dataVol es el disco de datos.

  • dssPoolID indica el ID del pool de almacenamiento de DSS.

  • volType indica el tipo de volumen de almacenamiento del pool de almacenamiento de DSS, como SAS y SSD.

Ejemplo: c950ee97-587c-4f24-8a74-3367e3da570f.sas;6edbc2f4-1507-44f8-ac0d-eed1d2608d38.ssd

NOTA:

Este campo no se puede configurar para los clústeres de CCE no dedicados.

enterpriseProjectId

String

ID del proyecto de empresa al que pertenece un clúster.

NOTA:
  • Un proyecto de empresa solo se puede configurar después de activar la función de proyecto de empresa.

  • El proyecto de empresa al que pertenece el clúster debe ser el mismo al que pertenecen otros recursos de servicio en la nube asociados con el clúster.

kubeProxyMode

String

Modo de reenvío de servicio. Hay dos modos disponibles:

  • iptables: kube-proxy tradicional utiliza las reglas iptables para implementar el balanceo de carga de servicio. En este modo, se generarán demasiadas reglas de iptables cuando se implementen muchos servicios. Además, las actualizaciones no incrementales causarán latencia e incluso problemas de rendimiento tangibles en el caso de picos de tráfico de servicio.

  • ipvs: Modo de kube-proxy optimizado con mayor rendimiento y velocidad más rápida. Este modo admite actualizaciones incrementales y puede mantener las conexiones ininterrumpidas durante las actualizaciones del servicio. Es adecuado para clústeres de gran tamaño.

NOTA:

Este parámetro ha sido obsoleta. Si este parámetro y kubeProxyMode en ClusterSpec se especifican al mismo tiempo, se utiliza este último.

clusterExternalIP

String

La EIP del nodo principal

alpha.cce/fixPoolMask

String

Número de bits de máscara del pool fijo de direcciones IP del modelo de red contenedor. Este campo solo se admite para el modelo de red VPC (vpc-router).

Este parámetro determina el número de direcciones IP de contenedor que se pueden asignar a un nodo. El número máximo de pods que se pueden crear en un nodo se decide por este parámetro y maxPods se establece durante la creación del nodo. Para obtener más información, consulte la sección Número máximo de pods que se pueden crear en un nodo.

Para los caracteres enteros, el valor oscila entre 24 y 28.

decMasterFlavor

String

Especificaciones del nodo principal en el clúster híbrido dedicado.

dockerUmaskMode

String

Configuración de UmaskMode predeterminada de Docker en un clúster. El valor puede ser secure o normal. Si no se especifica este parámetro, se utiliza normal de forma predeterminada.

kubernetes.io/cpuManagerPolicy

String

Política de gestión de CPU de clúster. El valor puede ser none o static. El valor predeterminado es none.

  • none: los núcleos de CPU no se asignarán exclusivamente a los pods de carga de trabajo. Seleccione este valor si desea un grupo grande de núcleos de CPU compartibles.

  • static: los núcleos de CPU se pueden asignar exclusivamente a los pods de carga de trabajo. Seleccione este valor si su carga de trabajo es sensible a la latencia en la memoria caché y la programación de la CPU.

orderID

String

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

periodType

String

  • month: La unidad es de mes.

  • year: La unidad es de año.

NOTA:

Esta opción es válida y obligatoria solo cuando billingMode se establece en 1 (facturación anual/mensual).

periodNum

Integer

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

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

  • Si periodType tiene un valor year, el valor oscila entre 1 y 3.

NOTA:

Este campo es válido y obligatorio cuando billingMode está establecido en 1.

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 está establecido en 1. 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 está establecido en 1. Si no se especifica, la deducción automática de la tarifa no está habilitada.

upgradefrom

String

Registros de cómo se actualiza el clúster a la versión actual

Tabla 31 ClusterStatus

Parámetro

Tipo

Descripción

phase

String

Estado del clúster. Valores posibles:

  • Available: El clúster se está ejecutando correctamente.

  • Unavailable: El clúster muestra un comportamiento inesperado. Elimine manualmente el clúster o póngase en contacto con el administrador para eliminar el clúster.

  • ScalingUp: Se están agregando nodos al clúster.

  • ScalingDown: Se está reduciendo el tamaño del clúster a menos nodos. - Creating: Se está creando el clúster.

  • Deleting: Se está eliminando el clúster.

  • Upgrading: Se está actualizando el clúster.

  • Resizing: Se están modificando las especificaciones del clúster.

  • RollingBack: El clúster se está revirtiendo.

  • RollbackFailed: El clúster no puede ser revertido. En este caso, póngase en contacto con el administrador para realizar la reversión de nuevo.

  • Empty: El clúster no tiene recursos.

jobID

String

ID del trabajo.

reason

String

Motivo del cambio de estado del clúster. Este parámetro se devuelve si el clúster no está en el estado Available (Disponible).

message

String

Información detallada sobre por qué el clúster cambia al estado actual. Este parámetro se devuelve si el clúster no está en el estado Available (Disponible).

endpoints

Matriz de objetos de ClusterEndpoints

Dirección de acceso de kube-apiserver en el clúster.

isLocked

Boolean

El recurso de CBC está bloqueado.

lockScene

String

Escenario donde el recurso de CBC está bloqueado.

lockSource

String

Bloqueo de recursos.

lockSourceId

String

ID del recurso bloqueado.

deleteOption

Object

Si desea eliminar configuraciones. Este parámetro solo está contenido en la respuesta a la solicitud de eliminación.

deleteStatus

Object

Si desea eliminar la información de estado. Este parámetro solo está contenido en la respuesta a la solicitud de eliminación.

Tabla 32 ClusterEndpoints

Parámetro

Tipo

Descripción

url

String

Dirección de acceso de kube-apiserver en el clúster.

type

String

Tipo de la dirección de acceso al clúster.

  • Internal: dirección para el acceso a la red interna

  • External: dirección para el acceso a la red externa

Ejemplo de las solicitudes

  • Creación de un clúster de CCE

    /api/v3/projects/{project_id}/clusters
    
    {
      "kind" : "Cluster",
      "apiVersion" : "v3",
      "metadata" : {
        "name" : "cluster"
      },
      "spec" : {
        "category" : "CCE",
        "flavor" : "cce.s2.small",
        "version" : "v1.19",
        "hostNetWork" : {
          "vpc" : "030bfb19-5fa7-42ad-8a0d-c0721d268867",
          "subnet" : "ca964acf-8468-4735-8229-97940ef6c881"
        },
        "containerNetWork" : {
          "mode" : "vpc-router",
          "cidr" : "10.0.0.0/16"
        },
        "kubernetesSvcIpRange" : "10.247.0.0/16",
        "description" : "",
        "billingMode" : 0,
        "extendParam" : {
          "kubeProxyMode" : "iptables",
          "alpha.cce/fixPoolMask" : "25",
          "enterpriseProjectId" : "0"
        },
        "authentication" : {
          "mode" : "rbac"
        },
        "ipv6enable" : false
      }
    }
  • Creación de un clúster de CCE con ICAgent instalado

    /api/v3/projects/{project_id}/clusters
    
    {
      "kind" : "Cluster",
      "apiVersion" : "v3",
      "metadata" : {
        "name" : "cluster",
        "annotations" : {
          "cluster.install.addons.external/install" : "[{\"addonTemplateName\":\"icagent\"}]"
        }
      },
      "spec" : {
        "category" : "CCE",
        "flavor" : "cce.s2.small",
        "version" : "v1.19",
        "hostNetWork" : {
          "vpc" : "030bfb19-5fa7-42ad-8a0d-c0721d268867",
          "subnet" : "ca964acf-8468-4735-8229-97940ef6c881"
        },
        "containerNetWork" : {
          "mode" : "vpc-router",
          "cidr" : "10.0.0.0/16"
        },
        "kubernetesSvcIpRange" : "10.247.0.0/16",
        "description" : "",
        "billingMode" : 0,
        "extendParam" : {
          "kubeProxyMode" : "iptables",
          "alpha.cce/fixPoolMask" : "25",
          "enterpriseProjectId" : "0"
        },
        "authentication" : {
          "mode" : "rbac"
        },
        "ipv6enable" : false
      }
    }

Ejemplo de las respuestas

Código de estado: 201

El trabajo de creación de clúster se entrega correctamente.

{
  "kind" : "Cluster",
  "apiVersion" : "v3",
  "metadata" : {
    "name" : "cluster",
    "uid" : "bce956e1-87f3-11ec-b5e5-0255ac101514",
    "creationTimestamp" : "2022-02-07 08:55:45.785425492 +0000 UTC",
    "updateTimestamp" : "2022-02-07 08:55:45.78542824 +0000 UTC",
    "annotations" : {
      "jobid" : "bd42f724-87f3-11ec-b5e5-0255ac101514",
      "resourceJobId" : "bce99f78-87f3-11ec-b5e5-0255ac101514"
    }
  },
  "spec" : {
    "category" : "CCE",
    "type" : "VirtualMachine",
    "flavor" : "cce.s2.small",
    "version" : "v1.19.10-r0",
    "platformVersion" : "cce.5.0",
    "hostNetwork" : {
      "vpc" : "030bfb19-5fa7-42ad-8a0d-c0721d268867",
      "subnet" : "ca964acf-8468-4735-8229-97940ef6c881"
    },
    "containerNetwork" : {
      "mode" : "vpc-router",
      "cidr" : "10.0.0.0/16",
      "cidrs" : [ {
        "cidr" : "10.0.0.0/16"
      } ]
    },
    "eniNetwork" : { },
    "authentication" : {
      "mode" : "rbac",
      "authenticatingProxy" : { }
    },
    "billingMode" : 0,
    "kubernetesSvcIpRange" : "10.247.0.0/16",
    "kubeProxyMode" : "iptables",
    "extendParam" : {
      "alpha.cce/fixPoolMask" : "25",
      "enterpriseProjectId" : "0",
      "kubeProxyMode" : "iptables",
      "orderID" : ""
    }
  },
  "status" : {
    "phase" : "Creating",
    "jobID" : "bd42f724-87f3-11ec-b5e5-0255ac101514"
  }
}

Códigos de estado

Código de estado

Descripción

201

El trabajo de creación de clúster se entrega correctamente.

Códigos de error

Consulte Códigos de error.