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
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
project_id |
Sí |
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
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
Content-Type |
Sí |
String |
Tipo de cuerpo del mensaje (formato). |
X-Auth-Token |
Sí |
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. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
kind |
Sí |
String |
Tipo de la API. El valor se fija en Cluster o cluster y no se puede cambiar. |
apiVersion |
Sí |
String |
Versión de la API. El valor se fija en v3 y no se puede cambiar. |
metadata |
Sí |
Objeto de ClusterMetadata |
Información básica sobre un clúster. Metadatos es una colección de atributos. |
spec |
Sí |
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. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
name |
Sí |
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:
|
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. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
category |
No |
String |
Tipo del clúster:
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:
|
flavor |
Sí |
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.
NOTA:
|
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:
|
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.
|
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.
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 |
Sí |
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 |
Sí |
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.
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:
|
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. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
vpc |
Sí |
String |
ID de la VPC utilizada para crear un nodo principal. Métodos:
NOTA:
|
subnet |
Sí |
String |
ID de red de la subred utilizada para crear un nodo principal. Métodos:
|
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. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
mode |
Sí |
String |
Modelo de red de contenedores. Seleccione uno de los siguientes valores posibles:
|
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. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
cidr |
Sí |
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 |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
eniSubnetId |
Sí |
String |
ID de red IPv4 de la subred donde reside el ENI. (IPv6 no es compatible y se descarta.) Para obtener el valor:
|
eniSubnetCIDR |
Sí |
String |
CIDR de la subred ENI (se descarta) |
subnets |
Sí |
Matriz de objetos de NetworkSubnet |
Lista de los ID de subred IPv4 |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
subnetID |
Sí |
String |
ID de red IPv4 de la subred para crear los nodos principales. Actualmente, IPv6 no es compatible. Métodos:
|
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
mode |
No |
String |
Modo de autenticación de clúster.
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. |
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). |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
key |
No |
String |
La clave.
|
value |
No |
String |
El valor.
|
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.
|
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
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:
|
kubeProxyMode |
No |
String |
Modo de reenvío de servicio. Hay dos modos disponibles:
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.
|
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 |
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:
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.
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.
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 |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
phase |
No |
String |
Estado del clúster. Valores posibles:
|
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. |
Parámetros de respuesta
Código de estado: 201
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. |
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:
|
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. |
Parámetro |
Tipo |
Descripción |
---|---|---|
category |
String |
Tipo del clúster:
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:
|
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.
NOTA:
|
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:
|
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.
|
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.
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.
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:
|
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. |
Parámetro |
Tipo |
Descripción |
---|---|---|
vpc |
String |
ID de la VPC utilizada para crear un nodo principal. Métodos:
NOTA:
|
subnet |
String |
ID de red de la subred utilizada para crear un nodo principal. Métodos:
|
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. |
Parámetro |
Tipo |
Descripción |
---|---|---|
mode |
String |
Modelo de red de contenedores. Seleccione uno de los siguientes valores posibles:
|
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. |
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 |
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:
|
eniSubnetCIDR |
String |
CIDR de la subred ENI (se descarta) |
subnets |
Matriz de objetos de NetworkSubnet |
Lista de los ID de subred IPv4 |
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:
|
Parámetro |
Tipo |
Descripción |
---|---|---|
mode |
String |
Modo de autenticación de clúster.
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. |
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). |
Parámetro |
Tipo |
Descripción |
---|---|---|
key |
String |
La clave.
|
value |
String |
El valor.
|
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.
|
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
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:
|
kubeProxyMode |
String |
Modo de reenvío de servicio. Hay dos modos disponibles:
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.
|
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 |
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:
NOTA:
Este campo es válido y obligatorio cuando billingMode está establecido en 1. |
isAutoRenew |
String |
Si la renovación automática 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.
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 |
Parámetro |
Tipo |
Descripción |
---|---|---|
phase |
String |
Estado del clúster. Valores posibles:
|
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. |
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.