Instalação de uma instância de complemento
Função
Essa API é usada para instalar uma instância de complemento usando um modelo de complemento.
URI
POST /api/v3/addons
Parâmetros de solicitação
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
Content-Type |
Sim |
String |
Tipo de corpo da mensagem (formato). |
X-Auth-Token |
Sim |
String |
As solicitações para chamar uma API podem ser autenticadas usando um token ou AK/SK. Se a autenticação baseada em token for usada, esse parâmetro é obrigatório e deve ser definido como um token de usuário. Para obter detalhes, consulte Obtenção de um token de usuário. |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
kind |
Sim |
String |
Tipo de API. O valor é fixado em Addon e não pode ser alterado. Qualquer valor definido pelo usuário é inválido. |
apiVersion |
Sim |
String |
Versão da API. O valor é fixado em v3 e não pode ser alterado. Qualquer valor definido pelo usuário é inválido. |
metadata |
Sim |
AddonMetadata object |
Informações básicas sobre o objeto. Metadados são uma coleção de atributos. |
spec |
Sim |
InstanceRequestSpec object |
Descrição detalhada da instalação ou atualização do complemento. |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
uid |
Não |
String |
ID único |
name |
Não |
String |
Nome do complemento |
alias |
Não |
String |
Alias do complemento |
labels |
Não |
Map<String,String> |
Rótulos do complemento em pares chave-valor. Este é um campo reservado e não tem efeito. |
annotations |
Não |
Map<String,String> |
Anotações do complemento, no formato de pares chave-valor.
|
updateTimestamp |
Não |
String |
Atualizado em |
creationTimestamp |
Não |
String |
Criado em |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
version |
Não |
String |
Versão do complemento para instalar ou atualizar, por exemplo, 1.0.0.
|
clusterID |
Sim |
String |
ID do cluster. |
values |
Sim |
Map<String,Object> |
Parâmetros de instalação do modelo de complemento (variando dependendo do complemento). Durante a atualização do complemento, você precisa especificar todos os parâmetros de instalação. Se os parâmetros não forem especificados, os valores padrão no modelo de complemento serão usados. Os parâmetros atuais de instalação do complemento podem ser obtidos por meio da API para consulta de instâncias do complemento. |
addonTemplateName |
Sim |
String |
Nome do modelo de complemento a ser instalado, por exemplo, coredns. |
Parâmetros de resposta
Código de status: 201
Parâmetro |
Tipo |
Descrição |
---|---|---|
kind |
String |
Tipo de API. O valor é fixado em Addon e não pode ser alterado. |
apiVersion |
String |
Versão da API. O valor é fixado em v3 e não pode ser alterado. |
metadata |
AddonMetadata object |
Informações básicas sobre o objeto. Metadados são uma coleção de atributos. |
spec |
InstanceSpec object |
Descrição detalhada da instância do complemento. |
status |
AddonInstanceStatus object |
Status da instância do complemento. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
uid |
String |
ID único |
name |
String |
Nome do complemento |
alias |
String |
Alias do complemento |
labels |
Map<String,String> |
Rótulos do complemento em pares chave-valor. Este é um campo reservado e não tem efeito. |
annotations |
Map<String,String> |
Anotações do complemento, no formato de pares chave-valor.
|
updateTimestamp |
String |
Atualizado em |
creationTimestamp |
String |
Criado em |
Parâmetro |
Tipo |
Descrição |
---|---|---|
clusterID |
String |
ID do cluster. |
version |
String |
Versão do modelo de complemento, por exemplo, 1.0.0. |
addonTemplateName |
String |
Nome do modelo de complemento, por exemplo, coredns. |
addonTemplateType |
String |
Tipo de modelo de complemento. |
addonTemplateLogo |
String |
URL para obter o logotipo do modelo de complemento. |
addonTemplateLabels |
Array of strings |
Rótulos do modelo de complemento. |
description |
String |
Descrição do modelo de complemento. |
valores |
Map<String,Object> |
Parâmetros de instalação do modelo de complemento (variando dependendo do complemento). Defina os parâmetros de acordo. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
status |
String |
Status de instâncias do complemento. Opções:
|
Reason |
String |
Causa da falha na instalação do complemento. |
message |
String |
Detalhes do erro de instalação. |
targetVersions |
Array of strings |
Versões para as quais a versão atual do complemento pode ser atualizada. |
currentVersion |
Versions object |
Informações sobre a versão atual do complemento. |
isRollbackable |
Boolean |
Se a versão do complemento pode ser revertida para a versão de origem. |
previousVersion |
String |
The add-on version before upgrade or rollback |
Parâmetro |
Tipo |
Descrição |
---|---|---|
version |
String |
Versão do complemento. |
input |
Object |
Parâmetros de instalação do complemento. |
stable |
Boolean |
Se a versão do complemento é uma versão estável. |
translate |
Object |
Informações de tradução usadas pela GUI. |
supportVersions |
Array of SupportVersions objects |
Versões de cluster que suportam o complemento. |
creationTimestamp |
String |
Hora de criação. |
updateTimestamp |
String |
Hora da atualização. |
Exemplo de solicitações
Instale o complemento coredns da versão 1.17.15. A especificação do complemento é 2500 QPS e o número de instâncias do complemento é 2.
{ "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" } } } }
Exemplo de respostas
Código de status: 201
OK
{ "kind" : "Addon", "apiVersion" : "v3", "metadata" : { "uid" : "b748aaea-a984-11ec-987b-0255ac1000bc", "name" : "coredns", "alias" : "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 DNS 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 DNS 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 DNS Kubernetes." }, "description" : { "Parameters.custom.stub_domains" : "Le serveur de noms cible peut lui-même être un service Kubernetes. Par exemple, vous pouvez exécuter votre propre copie de dnsmasq pour exporter des noms DNS personnalisés dans l'espace de noms ClusterDNS, une carte JSON à l'aide d'une clé de suffixe DNS (par exemple, «acme.local») et une valeur constituée d'un tableau JSON d'adresses IP 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 status
Código de status |
Descrição |
---|---|
201 |
OK |
Códigos de erro
Consulte Códigos de erro.