Instalación de una instancia de complemento
Función
Esta API se utiliza para instalar una instancia de complemento mediante una plantilla de complemento.
URI
POST /api/v3/addons
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 Addon 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 Metadata |
Información básica sobre el objeto. Metadatos es una colección de atributos. |
spec |
Sí |
Objeto de InstanceRequestSpec |
Descripción detallada de la instalación o actualización del complemento. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
uid |
No |
String |
ID único. |
name |
No |
String |
Nombre del complemento. |
labels |
No |
Map<String,String> |
Etiquetas de complemento en pares de clave y valor. Este es un campo reservado y no tiene efecto. |
annotations |
No |
Map<String,String> |
Anotaciones del complemento en el formato de los pares de clave y valor.
|
updateTimestamp |
No |
String |
Tiempo de actualización. |
creationTimestamp |
No |
String |
Tiempo de creación. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
version |
Sí |
String |
Versión del complemento que se instalará o actualizará, por ejemplo, 1.0.0. |
clusterID |
Sí |
String |
ID del clúster. |
values |
Sí |
Map<String,Object> |
Parámetros de instalación de la plantilla del complemento (variando según el complemento). Durante la actualización del complemento, debe especificar todos los parámetros de instalación. Si no se especifican los parámetros, se utilizan los valores predeterminados de la plantilla de complemento. Los parámetros de instalación de complementos actuales se pueden obtener a través de la API para consultar las instancias de complementos. |
addonTemplateName |
Sí |
String |
Nombre de la plantilla de complemento que se va a instalar, por ejemplo, coredns. |
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 Addon 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 Metadata |
Información básica sobre el objeto. Metadatos es una colección de atributos. |
spec |
Objeto de InstanceSpec |
Descripción detallada de la instancia del complemento. |
status |
Objeto de AddonInstanceStatus |
Estado de la instancia del complemento. |
Parámetro |
Tipo |
Descripción |
---|---|---|
uid |
String |
ID único. |
name |
String |
Nombre del complemento. |
labels |
Map<String,String> |
Etiquetas de complemento en pares de clave y valor. Este es un campo reservado y no tiene efecto. |
annotations |
Map<String,String> |
Anotaciones del complemento en el formato de los pares de clave y valor.
|
updateTimestamp |
String |
Tiempo de actualización. |
creationTimestamp |
String |
Tiempo de creación. |
Parámetro |
Tipo |
Descripción |
---|---|---|
clusterID |
String |
ID del clúster. |
version |
String |
Versión de plantilla adicional, por ejemplo, 1.0.0. |
addonTemplateName |
String |
Nombre de la plantilla del complemento, por ejemplo, coredns. |
addonTemplateType |
String |
Tipo de plantilla del complemento. |
addonTemplateLogo |
String |
URL para obtener el logotipo de la plantilla del complemento. |
addonTemplateLabels |
Matriz de strings |
Etiquetas de la plantilla del complemento. |
description |
String |
Descripción de la plantilla del complemento. |
values |
Map<String,Object> |
Parámetros de instalación de la plantilla del complemento (variando según el complemento). Establezca los parámetros en consecuencia. |
Parámetro |
Tipo |
Descripción |
---|---|---|
status |
String |
Estado de la instancia del complemento. |
Reason |
String |
Causa del error de instalación del complemento. |
message |
String |
Detalles de error de instalación. |
targetVersions |
Matriz de strings |
Versiones a las que se puede actualizar la versión actual del complemento. |
currentVersion |
Objeto de Versiones |
Información sobre la versión actual del complemento. |
Parámetro |
Tipo |
Descripción |
---|---|---|
version |
String |
Versión del complemento. |
input |
Object |
Parámetros de instalación del complemento. |
stable |
Boolean |
Si la versión del complemento es una versión estable. |
translate |
Object |
Información de la traducción utilizada por GUI. |
supportVersions |
Matriz de objetos de SupportVersions |
Versiones de clúster que admiten el complemento. |
creationTimestamp |
String |
Tiempo de creación. |
updateTimestamp |
String |
Tiempo de actualización. |
Ejemplo de las solicitudes
{ "kind" : "Addon", "apiVersion" : "v3", "metadata" : { "annotations" : { "addon.install/type" : "install" } }, "spec" : { "clusterID" : "1b2ec02d-a3b2-11ec-b0d0-0255ac100099", "version" : "1.17.15", "addonTemplateName" : "coredns", "values" : { "basic" : { "cluster_ip" : "10.247.3.10", "image_version" : "1.17.15", "platform" : "linux-amd64", "swr_addr" : "<Replace_SWR_address>", "swr_user" : "hwofficial", "rbac_enabled" : true }, "flavor" : { "name" : 2500, "replicas" : 2, "resources" : [ { "limitsCpu" : "500m", "limitsMem" : "512Mi", "name" : "coredns", "requestsCpu" : "500m", "requestsMem" : "512Mi" } ] }, "custom" : { "stub_domains" : { }, "upstream_nameservers" : [ ], "cluster_id" : "1b2ec02d-a3b2-11ec-b0d0-0255ac100099", "tenant_id" : "0504201b6c80256b2f08c0099f0c8fe4" } } } }
Ejemplo de las respuestas
Código de estado: 201
OK
{ "kind" : "Addon", "apiVersion" : "v3", "metadata" : { "uid" : "b748aaea-a984-11ec-987b-0255ac1000bc", "name" : "coredns", "creationTimestamp" : "2022-03-22T02:06:41Z", "updateTimestamp" : "2022-03-22T02:06:41Z" }, "spec" : { "clusterID" : "1b2ec02d-a3b2-11ec-b0d0-0255ac100099", "version" : "1.17.15", "addonTemplateName" : "coredns", "addonTemplateType" : "helm", "addonTemplateLogo" : "", "addonTemplateLabels" : [ "ServiceDiscovery" ], "description" : "CoreDNS is a DNS server that chains plugins and provides Kubernetes\rDNS Services", "values" : { "basic" : { "cluster_ip" : "10.247.3.10", "image_version" : "1.17.15", "platform" : "linux-amd64", "rbac_enabled" : true, "swr_addr" : "", "swr_user" : "hwofficial" }, "custom" : { "cluster_id" : "1b2ec02d-a3b2-11ec-b0d0-0255ac100099", "stub_domains" : { }, "tenant_id" : "0504201b6c80256b2f08c0099f0c8fe4", "upstream_nameservers" : [ ] }, "flavor" : { "name" : 2500, "replicas" : 2, "resources" : [ { "limitsCpu" : "500m", "limitsMem" : "512Mi", "name" : "coredns", "requestsCpu" : "500m", "requestsMem" : "512Mi" } ] } } }, "status" : { "status" : "installing", "Reason" : "", "message" : "", "targetVersions" : null, "currentVersion" : { "version" : "1.17.15", "input" : { "basic" : { "cluster_ip" : "10.247.3.10", "image_version" : "1.17.15", "platform" : "linux-amd64", "swr_addr" : "", "swr_user" : "hwofficial" }, "parameters" : { "custom" : { "stub_domains" : "", "upstream_nameservers" : "" }, "flavor1" : { "name" : 2500, "replicas" : 2, "resources" : [ { "limitsCpu" : "500m", "limitsMem" : "512Mi", "name" : "coredns", "requestsCpu" : "500m", "requestsMem" : "512Mi" } ] }, "flavor2" : { "name" : 5000, "replicas" : 2, "resources" : [ { "limitsCpu" : "1000m", "limitsMem" : "1024Mi", "name" : "coredns", "requestsCpu" : "1000m", "requestsMem" : "1024Mi" } ] }, "flavor3" : { "name" : 10000, "replicas" : 2, "resources" : [ { "limitsCpu" : "2000m", "limitsMem" : "2048Mi", "name" : "coredns", "requestsCpu" : "2000m", "requestsMem" : "2048Mi" } ] }, "flavor4" : { "name" : 20000, "replicas" : 4, "resources" : [ { "limitsCpu" : "2000m", "limitsMem" : "2048Mi", "name" : "coredns", "requestsCpu" : "2000m", "requestsMem" : "2048Mi" } ] } } }, "stable" : true, "translate" : { "en_US" : { "addon" : { "changeLog" : "Supported CCE clusters of v1.21.", "description" : "CoreDNS is a DNS server that chains plugins and provides Kubernetes\rDNS Services" }, "description" : { "Parameters.custom.stub_domains" : "The target nameserver may itself be a Kubernetes service. For instance, you can run your own copy of dnsmasq to export custom DNS names into the ClusterDNS namespace, a JSON map using a DNS suffix key (e.g. \"acme.local\") and a value consisting of a JSON array of DNS IPs.", "Parameters.custom.upstream_nameservers" : "If specified, then the values specified replace the nameservers taken by default from the node's /etc/resolv.conf. Limits: a maximum of three upstream nameservers can be specified, a JSON array of DNS IPs.", "Parameters.flavor1.description" : "Concurrent domain name resolution ability - External domain name: 2500 qps, Internal domain name: 10000 qps", "Parameters.flavor1.name" : 2500, "Parameters.flavor2.description" : "Concurrent domain name resolution ability - External domain name: 5000 qps, Internal domain name: 20000 qps", "Parameters.flavor2.name" : 5000, "Parameters.flavor3.description" : "Concurrent domain name resolution ability - External domain name: 10000 qps, Internal domain name: 40000 qps", "Parameters.flavor3.name" : 10000, "Parameters.flavor4.description" : "Concurrent domain name resolution ability - External domain name: 20000 qps, Internal domain name: 80000 qps", "Parameters.flavor4.name" : 20000 }, "key" : { "Parameters.custom.stub_domains" : "stub domain", "Parameters.custom.upstream_nameservers" : "upstream nameservers" } }, "fr_FR" : { "addon" : { "changeLog" : "Prise en charge du cluster 1.21.", "description" : "Un serveur DNS qui enchaîne les plug-ins et fournit des services\rDNS Kubernetes." }, "description" : { "Parameters.custom.stub_domains" : "\u0001Le serveur de noms cible peut lui-même être\run service Kubernetes. Par exemple, vous pouvez exécuter votre propre\rcopie de dnsmasq pour exporter des noms DNS personnalisés dans l'espace\rde noms ClusterDNS, une carte JSON à l'aide d'une clé de suffixe DNS (par\rexemple, «acme.local») et une valeur constituée d'un tableau JSON d'adresses\rIP DNS.", "Parameters.custom.upstream_nameservers" : "Si spécifié, les valeurs spécifiées remplacent les serveurs de noms pris par défaut dans le fichier /etc/resolv.conf du nœud. Limites: un maximum de trois serveurs de noms en amont peuvent être spécifiés, un tableau JSON d'adresses IP DNS.", "Parameters.flavor1.description" : "Capacité de résolution de nom de domaine simultanée - Nom de domaine externe: 2500 qps, Nom de domaine interne: 10000 qp", "Parameters.flavor1.name" : 2500, "Parameters.flavor2.description" : "Capacité de résolution de nom de domaine simultanée - Nom de domaine externe: 5000 qps, Nom de domaine interne: 20000 qp", "Parameters.flavor2.name" : 5000, "Parameters.flavor3.description" : "Capacité de résolution de nom de domaine simultanée - Nom de domaine externe: 10000 qps, Nom de domaine interne: 40000 qp", "Parameters.flavor3.name" : 10000, "Parameters.flavor4.description" : "Capacité de résolution de nom de domaine simultanée - Nom de domaine externe: 20000 qps, Nom de domaine interne: 80000 qp", "Parameters.flavor4.name" : 20000 }, "key" : { "Parameters.custom.stub_domains" : "domaine stub", "Parameters.custom.upstream_nameservers" : "serveurs de noms en amont" } }, "zh_CN" : { "addon" : { "changeLog" : "", "description" : "" }, "description" : { "Parameters.custom.stub_domains" : "", "Parameters.custom.upstream_nameservers" : "", "Parameters.flavor1.description" : "", "Parameters.flavor1.name" : 2500, "Parameters.flavor2.description" : "", "Parameters.flavor2.name" : 5000, "Parameters.flavor3.description" : "", "Parameters.flavor3.name" : 10000, "Parameters.flavor4.description" : "", "Parameters.flavor4.name" : 20000 }, "key" : { "Parameters.custom.stub_domains" : "", "Parameters.custom.upstream_nameservers" : "" } } }, "supportVersions" : null, "creationTimestamp" : "2021-12-14T13:43:15Z", "updateTimestamp" : "2022-01-11T14:32:10Z" } } }
Códigos de estado
Código de estado |
Descripción |
---|---|
201 |
Aceptar |
Códigos de error
Consulte Códigos de error.