创建AddonInstance
功能介绍
根据提供的插件模板,安装插件实例。
URI
POST /api/v3/addons
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
Content-Type |
是 |
String |
消息体的类型(格式) |
X-Auth-Token |
是 |
String |
调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值,获取方式请参见获取token。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
kind |
是 |
String |
API类型,固定值“Addon”,该值不可修改,该字段传入无效。 |
apiVersion |
是 |
String |
API版本,固定值“v3”,该值不可修改,该字段传入无效。 |
metadata |
是 |
AddonMetadata object |
基本信息,为集合类的元素类型,包含一组由不同名称定义的属性 |
spec |
是 |
InstanceRequestSpec object |
spec是集合类的元素类型,内容为插件实例安装/升级的具体请求信息 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
uid |
否 |
String |
唯一id标识 |
name |
否 |
String |
插件名称 |
alias |
否 |
String |
插件别名 |
labels |
否 |
Map<String,String> |
插件标签,key/value对格式,接口保留字段,填写不会生效 |
annotations |
否 |
Map<String,String> |
插件注解,由key/value组成
|
updateTimestamp |
否 |
String |
更新时间 |
creationTimestamp |
否 |
String |
创建时间 |
响应参数
状态码: 201
参数 |
参数类型 |
描述 |
---|---|---|
kind |
String |
API类型,固定值“Addon”,该值不可修改。 |
apiVersion |
String |
API版本,固定值“v3”,该值不可修改。 |
metadata |
AddonMetadata object |
基本信息,为集合类的元素类型,包含一组由不同名称定义的属性 |
spec |
InstanceSpec object |
spec是集合类的元素类型,内容为插件实例具体信息,实例的详细描述主体部分都在spec中给出 |
status |
AddonInstanceStatus object |
插件实例状态 |
参数 |
参数类型 |
描述 |
---|---|---|
uid |
String |
唯一id标识 |
name |
String |
插件名称 |
alias |
String |
插件别名 |
labels |
Map<String,String> |
插件标签,key/value对格式,接口保留字段,填写不会生效 |
annotations |
Map<String,String> |
插件注解,由key/value组成
|
updateTimestamp |
String |
更新时间 |
creationTimestamp |
String |
创建时间 |
参数 |
参数类型 |
描述 |
---|---|---|
clusterID |
String |
集群id |
version |
String |
插件模板版本号,如1.0.0 |
addonTemplateName |
String |
插件模板名称,如coredns |
addonTemplateType |
String |
插件模板类型 |
addonTemplateLogo |
String |
插件模板logo图片的地址 |
addonTemplateLabels |
Array of strings |
插件模板所属类型 |
description |
String |
插件模板描述 |
values |
Map<String,Object> |
插件模板安装参数(各插件不同),请根据具体插件模板信息填写安装参数。 |
参数 |
参数类型 |
描述 |
---|---|---|
status |
String |
插件实例状态, 取值如下
|
Reason |
String |
插件安装失败原因 |
message |
String |
安装错误详情 |
targetVersions |
Array of strings |
此插件版本,支持升级的集群版本 |
currentVersion |
Versions object |
当前插件实例使用的具体插件版本信息 |
isRollbackable |
Boolean |
是否支持回滚到插件升级前的插件版本 |
previousVersion |
String |
插件升级或回滚前的版本 |
参数 |
参数类型 |
描述 |
---|---|---|
version |
String |
插件版本号 |
input |
Object |
插件安装参数 |
stable |
Boolean |
是否为稳定版本 |
translate |
Object |
供界面使用的翻译信息 |
supportVersions |
Array of SupportVersions objects |
支持集群版本号 |
creationTimestamp |
String |
创建时间 |
updateTimestamp |
String |
更新时间 |
请求示例
安装1.17.15版本的coredns插件,插件规格为2500qps,插件实例数指定为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" } } } }
响应示例
状态码: 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" } } }
状态码
状态码 |
描述 |
---|---|
201 |
OK |
错误码
请参见错误码。