Reviewed-by: gtema <artem.goncharov@gmail.com> Co-authored-by: Dong, Qiu Jian <qiujiandong1@huawei.com> Co-committed-by: Dong, Qiu Jian <qiujiandong1@huawei.com>
43 KiB
Installing an Add-on Instance
Function
This API is used to install an add-on instance by using the add-on template. One or more instances will be created for the installed add-on.

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
POST /api/v3/addons
Request
Request parameters:
Table 1 lists the request parameters.
Parameter |
Mandatory |
Description |
---|---|---|
Content-Type |
Yes |
Message body type (format). Possible values:
|
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. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
kind |
Yes |
String |
API type. The value is fixed at Addon and cannot be changed. |
apiVersion |
Yes |
String |
API version. The value is fixed at v3 and cannot be changed. |
metadata |
Yes |
metadata object |
Basic information about the add-on. Metadata is a collection of attributes. |
spec |
Yes |
spec object |
Detailed description of add-on installation or upgrade. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
annotations |
Yes |
Object |
Add-on annotations in the format of key-value pairs. For add-on installation, the value is fixed at {"addon.install/type":"install"}. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
clusterID |
Yes |
String |
Cluster ID. |
version |
Yes |
String |
Version number of the add-on to be installed or upgraded, for example, v1.0.0. |
addonTemplateName |
Yes |
String |
Name of the add-on template to be installed, for example, coredns. |
values |
Yes |
Object |
Add-on template installation parameters (varying depending on the add-on). During the add-on upgrade, you need to specify all the installation parameters. If the parameters are not specified, the default values in the add-on template are used. The current add-on installation parameters can be obtained through the API for querying add-on instances. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
basic |
Yes |
Object |
Basic add-on information. |
custom |
No |
Object |
Custom parameters of the add-on. |
Example request:
{ "metadata": { "annotations": { "addon.install/type": "install" } }, "spec": { "clusterID": "9dd81b6e-e8e5-11ea-8aeb-0255ac11161d", "version": "1.1.10", "addonTemplateName": "gpu-beta", "values": { "basic": { "obs_url": "obs.eu-de.otc.t-systems.com", "region": "eu-de", "swr_addr": "10.125.7.25:20202", "swr_user": "test", "rbac_enabled": true }, "custom": { "is_driver_from_nvidia": true, "nvidia_driver_download_url": "https://us.download.nvidia.com/tesla/396.37/NVIDIA-Linux-x86_64-396.37.run" } } } }
Response
Response parameters:
For the description about response parameters, see Table 6.
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 the add-on. Metadata is a collection of attributes. |
spec |
spec object |
Detailed description of the add-on instance. |
status |
status object |
Add-on instance status. |
Parameter |
Type |
Description |
---|---|---|
uid |
String |
Unique ID of the add-on. |
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 was updated. |
creationTimestamp |
String |
Time when the add-on was created. |
Parameter |
Type |
Description |
---|---|---|
clusterID |
String |
Cluster ID. |
version |
String |
Add-on template version, for example, v1.0.0. |
addonTemplateName |
String |
Add-on template name, for example, coredns. |
addonTemplateType |
String |
Add-on template type. |
addonTemplateLabels |
Array of strings |
Group to which the add-on template belongs. |
addonTemplateLogo |
String |
OBS address of the current add-on logo. |
description |
String |
Add-on template description. |
values |
Object |
Add-on template installation parameters. These parameters vary depending on the add-on. |
Parameter |
Type |
Description |
---|---|---|
status |
String |
Add-on instance status. |
Reason |
String |
Cause of unsuccessful add-on installation. |
message |
String |
Installation error details. |
targetVersions |
Array of strings |
Versions to which the current add-on version can be upgraded. |
currentVersion |
currentVersion object |
Current version of the add-on instance. |
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. |
creationTimestamp |
String |
Time when the add-on was created. |
updateTimestamp |
String |
Time when the add-on was updated. |
Parameter |
Type |
Description |
---|---|---|
clusterType |
String |
Cluster type that supports the add-on. |
clusterVersion |
Array of strings |
Cluster versions that support the add-on. The parameter value is a regular expression. |
Example response:
{ "kind": "Addon", "apiVersion": "v3", "metadata": { "uid": "b6ba182c-f7c5-11ea-a975-0255ac111605", "name": "gpu-beta", "creationTimestamp": "2020-09-16T02:38:33Z", "updateTimestamp": "2020-09-16T02:38:33Z" }, "spec": { "clusterID": "9dd81b6e-e8e5-11ea-8aeb-0255ac11161d", "version": "1.1.10", "addonTemplateName": "gpu-beta", "addonTemplateType": "helm", "addonTemplateLogo": "https://obs.eu-de.otc.t-systems.com/cce-addon-eu-de-aw1hz2u/gpu-betalogo.svg", "addonTemplateLabels": [ "Accelerator" ], "description": "A device plugin for nvidia.com/gpu resource on nvidia driver", "values": { "basic": { "obs_url": "obs.eu-de.otc.t-systems.com", "platform": "linux-amd64", "rbac_enabled": true, "region": "eu-de", "swr_addr": "10.125.7.25:20202", "swr_user": "test" }, "custom": { "is_driver_from_nvidia": true, "nvidia_driver_download_url": "https://us.download.nvidia.com/tesla/396.37/NVIDIA-Linux-x86_64-396.37.run" } } }, "status": { "status": "installing", "Reason": "", "message": "", "targetVersions": null, "currentVersion": { "version": "1.1.10", "input": { "basic": { "obs_url": "obs.eu-de.otc.t-systems.com", "region": "eu-de", "swr_addr": "10.125.7.25:20202", "swr_user": "test" }, "parameters": { "custom": { "is_driver_from_nvidia": true, "nvidia_driver_download_url": "" } } }, "stable": true, "translate": { "en_US": { "addon": { "changeLog": "1.Supports both the default driver link address and the user-definable driver address download driver 2.Support kubernetes 1.15/1.17", "description": "A device plugin for nvidia.com/gpu resource on nvidia driver" }, "description": { "Parameters.custom.drivers_info.cuda": "CUDA Toolkit", "Parameters.custom.drivers_info.product": "Product", "Parameters.custom.drivers_info.product_series": "Product Series", "Parameters.custom.drivers_info.product_type": "Product Type", "Parameters.custom.nvidia_driver_download_url": "Download the nvidia driver accroding to the input link" }, "key": { "Parameters.custom.nvidia_driver_download_url": "Nvidia Driver" } } }, "supportVersions": null, "creationTimestamp": "2020-08-21T08:25:51Z", "updateTimestamp": "2020-08-28T12:21:11Z" } } }
Status Codes
Status Code |
Description |
---|---|
201 |
OK |
For the description about error status codes, see Status Code.