Reading Add-on Templates¶
Function¶
This API is used to query add-on information.
Note
The URL for add-on management is in the format of https://{clusterid}.Endpoint/uri. In the URL, {clusterid} indicates the cluster ID, and uri indicates the resource path, that is, the path for API access.
URI¶
GET /api/v3/addontemplates
Table 1 describes the parameters of this API.
Parameter | Mandatory | Description |
---|---|---|
addon_template_name | No | Name of the specified template. If this parameter is left blank, all templates are queried. Minimum: 2 Maximum: 30 |
Request¶
Request parameters:
Table 2 lists the request parameters.
Parameter | Mandatory | Description |
---|---|---|
Content-Type | Yes | Message body type (format). Default: application/json |
X-Auth-Token | Yes | Requests for calling an API can be authenticated using either a token or AK/SK. If token-based authentication is used, this parameter is mandatory and must be set to a user token. For details on how to obtain a user token, see API Usage Guidelines. Maximum: 16384 |
Example request:
NA
Response¶
For details about the response parameters, see Table 3.
Parameter | Type | Description |
---|---|---|
kind | String | API type. The value is fixed at Addon and cannot be changed. |
apiVersion | String | API version. The value is fixed at v3 and cannot be changed. |
items | items objects | Add-on template list. |
Parameter | Type | Description |
---|---|---|
kind | String | API type. The value is fixed at Addon and cannot be changed. |
apiVersion | String | API version. The value is fixed at v3 and cannot be changed. |
metadata | metadata object | Basic information about an add-on. Metadata is a collection of attributes. |
spec | spec object | Detailed description of the add-on template. |
Parameter | Type | Description |
---|---|---|
uid | String | Unique ID of the add-on template. |
name | String | Add-on name. |
labels | Object | Add-on labels in the format of key-value pairs. |
annotations | Object | Add-on annotations in the format of key-value pairs. |
updateTimestamp | String | Time when the add-on instance was updated. |
creationTimestamp | String | Time when the add-on instance was created |
Parameter | Type | Description |
---|---|---|
type | String | Template type (helm or static). |
require | Boolean | Whether the add-on is installed by default. |
labels | Array of strings | Group to which the template belongs. |
logoURL | String | URL of the logo image. |
readmeURL | String | URL of the readme file. |
description | String | Template description. |
versions | Array of versions objects | Template version details. |
Parameter | Type | Description |
---|---|---|
version | String | Add-on version. |
input | Object | Add-on installation parameters. |
stable | Boolean | Whether the add-on version is a stable release. |
translate | Object | Translation information used by the GUI. |
supportVersions | Array of supportVersions objects | Cluster versions that support the add-on template. |
creationTimestamp | String | Creation time of the add-on instance. |
updateTimestamp | String | Time when the add-on instance was updated. |
Parameter | Type | Description |
---|---|---|
clusterType | String | Cluster type that supports the add-on template. |
clusterVersion | Array of strings | Cluster versions that support the add-on template. The parameter value is a regular expression. |
Example response:
{
"kind": "Addon",
"apiVersion": "v3",
"items": [
{
"kind": "Addon",
"apiVersion": "v3",
"metadata": {
"uid": "coredns",
"name": "coredns",
"creationTimestamp": "2020-07-13T20:04:33Z",
"updateTimestamp": "2020-07-13T20:04:34Z"
},
"spec": {
"type": "helm",
"require": true,
"labels": [
"ServiceDiscovery"
],
"logoURL": "https://***/cce-addon-aw1hz2u/corednslogo.svg",
"description": "CoreDNS is a DNS server that chains plugins and provides Kubernetes DNS Services",
"versions": [
{
"version": "1.15.3",
"input": {
"basic": {
"cluster_ip": "10.247.3.10",
"platform": "linux-amd64",
"swr_addr": "10.125.13.11:20202",
"swr_user": "test"
},
"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": "add workaround for klog/coredns crash issue",
"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": "ajouter une solution de contournement pour le problème de plantage klog / coredns",
"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": [
{
"clusterType": "VirtualMachine",
"clusterVersion": [
"v1.15.*"
]
}
],
"creationTimestamp": "2020-07-13T20:04:33Z",
"updateTimestamp": "2020-07-13T20:04:33Z"
}
]
}
}
]
}
Status Codes¶
Table 9 describes the status codes of this API.
Status Code | Description |
---|---|
200 | OK |
For the description about error status codes, see Status Code.