華為云計算 云知識 獲取AddonInstance列表ListAddonInstances
獲取AddonInstance列表ListAddonInstances

 

功能介紹

獲取集群所有已安裝插件實例

調(diào)用方法

請參見如何調(diào)用API。

URI

GET /api/v3/addons

表1 Query參數(shù)

參數(shù)

是否必選

參數(shù)類型

描述

cluster_id

String

集群 ID,獲取方式請參見如何獲取接口URI中參數(shù)

請求參數(shù)

表2 請求Header參數(shù)

參數(shù)

是否必選

參數(shù)類型

描述

Content-Type

String

消息體的類型(格式)

X-Auth-Token

String

調(diào)用接口的認證方式分為Token和AK/SK兩種,如果您使用的Token方式,此參數(shù)為必填,請?zhí)顚慣oken的值,獲取方式請參見獲取token。

響應參數(shù)

狀態(tài)碼: 200

表3 響應Body參數(shù)

參數(shù)

參數(shù)類型

描述

kind

String

API類型,固定值“Addon”,該值不可修改。

apiVersion

String

API版本,固定值“v3”,該值不可修改。

items

Array of AddonInstance objects

插件實例列表

表4 AddonInstance

參數(shù)

參數(shù)類型

描述

kind

String

API類型,固定值“Addon”,該值不可修改。

apiVersion

String

API版本,固定值“v3”,該值不可修改。

metadata

AddonMetadata object

基本信息,為集合類的元素類型,包含一組由不同名稱定義的屬性

spec

InstanceSpec object

spec是集合類的元素類型,內(nèi)容為插件實例具體信息,實例的詳細描述主體部分都在spec中給出

status

AddonInstanceStatus object

插件實例狀態(tài)

表5 AddonMetadata

參數(shù)

參數(shù)類型

描述

uid

String

唯一id標識

name

String

插件名稱

alias

String

插件別名

labels

Map<String,String>

插件標簽,key/value對格式,接口保留字段,填寫不會生效

annotations

Map<String,String>

插件注解,由key/value組成

  • 安裝:固定值為{"addon.install/type":"install"}

  • 升級:固定值為{"addon.upgrade/type":"upgrade"}

updateTimestamp

String

更新時間

creationTimestamp

String

創(chuàng)建時間

表6 InstanceSpec

參數(shù)

參數(shù)類型

描述

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>

插件模板安裝參數(shù)(各插件不同),請根據(jù)具體插件模板信息填寫安裝參數(shù)。

表7 AddonInstanceStatus

參數(shù)

參數(shù)類型

描述

status

String

插件實例狀態(tài), 取值如下

  • running:運行中,表示插件全部實例狀態(tài)都在運行中,插件正常使用。

  • abnormal:不可用,表示插件狀態(tài)異常,插件不可使用??牲c擊插件名稱查看實例異常事件。

  • installing:安裝中,表示插件正在安裝中。

  • installFailed:安裝失敗,表示插件安裝失敗,需要卸載后重新安裝。

  • upgrading:升級中,表示插件正在更新中。

  • upgradeFailed:升級失敗,表示插件升級失敗,可重試升級或卸載后重新安裝。

  • deleting:刪除中,表示插件正在刪除中。

  • deleteFailed:刪除失敗,表示插件刪除失敗,可重試卸載。

  • deleteSuccess:刪除成功,表示插件刪除成功。

  • available:部分就緒,表示插件下只有部分實例狀態(tài)為運行中,插件部分功能可用。

  • rollbacking:回滾中,表示插件正在回滾中。

  • rollbackFailed:回滾失敗,表示插件回滾失敗,可重試回滾或卸載后重新安裝。

  • unknown:未知狀態(tài),表示插件模板實例不存在。

Reason

String

插件安裝失敗原因

message

String

安裝錯誤詳情

targetVersions

Array of strings

此插件版本,支持升級的集群版本

currentVersion

Versions object

當前插件實例使用的具體插件版本信息

isRollbackable

Boolean

是否支持回滾到插件升級前的插件版本

previousVersion

String

插件升級或回滾前的版本

表8 Versions

參數(shù)

參數(shù)類型

描述

version

String

插件版本號

input

Object

插件安裝參數(shù)

stable

Boolean

是否為穩(wěn)定版本

translate

Object

供界面使用的翻譯信息

supportVersions

Array of SupportVersions objects

支持集群版本號

creationTimestamp

String

創(chuàng)建時間

updateTimestamp

String

更新時間

表9 SupportVersions

參數(shù)

參數(shù)類型

描述

clusterType

String

支持的集群類型

clusterVersion

Array of strings

支持的集群版本(正則表達式)

請求示例

響應示例

狀態(tài)碼: 200

ok

{
  "kind" : "Addon",
  "apiVersion" : "v3",
  "items" : [ {
    "kind" : "Addon",
    "apiVersion" : "v3",
    "metadata" : {
      "uid" : "8ca259cc-553b-11e9-926f-0255ac101a31",
      "name" : "storage-driver",
      "alias" : "storage-driver",
      "creationTimestamp" : "2019-04-02T11:36:26Z",
      "updateTimestamp" : "2019-04-02T11:36:26Z"
    },
    "spec" : {
      "clusterID" : "0c0e4a63-5539-11e9-95f7-0255ac10177e",
      "version" : "1.0.10",
      "addonTemplateName" : "storage-driver",
      "addonTemplateType" : "helm",
      "addonTemplateLogo" : "https://192.149.48.66/cce-addon-southchina-aw1hz2u/storage-driverlogo.svg",
      "addonTemplateLabels" : [ "Storage" ],
      "description" : "A kubernetes FlexVolume Driver used to support cloud storage",
      "values" : {
        "basic" : {
          "addon_version" : "1.0.10",
          "euleros_version" : "2.2.5",
          "obs_url" : "",
          "platform" : "linux-amd64",
          "swr_addr" : "100.125.6.246:20202",
          "swr_user" : "hwofficial"
        },
        "flavor" : {
          "replicas" : 1
        },
        "parameters" : { }
      }
    },
    "status" : {
      "status" : "running",
      "Reason" : "Install complete",
      "message" : "",
      "targetVersions" : null,
      "currentVersion" : {
        "version" : "1.0.10",
        "input" : {
          "basic" : {
            "euleros_version" : "2.2.5",
            "obs_url" : "",
            "swr_addr" : "100.125.6.246:20202",
            "swr_user" : "hwofficial"
          },
          "parameters" : { }
        },
        "stable" : true,
        "translate" : {
          "en_US" : {
            "addon" : {
              "changeLog" : "The plug-in is upgraded to enhance the storage plug-in function.",
              "description" : "A kubernetes FlexVolume Driver used to support cloud storage"
            }
          },
          "zh_CN" : {
            "addon" : {
              "changeLog" : "",
              "description" : ""
            }
          }
        },
        "supportVersions" : null,
        "creationTimestamp" : "2019-03-29T13:45:37Z",
        "updateTimestamp" : "2019-03-29T13:45:37Z"
      }
    }
  } ]
}

SDK代碼示例

SDK代碼示例如下。

  • Java
  • Python
  • Go
  • 更多
package com.huaweicloud.sdk.test;

import com.huaweicloud.sdk.core.auth.ICredential;
import com.huaweicloud.sdk.core.auth.BasicCredentials;
import com.huaweicloud.sdk.core.exception.ConnectionException;
import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
import com.huaweicloud.sdk.core.exception.ServiceResponseException;
import com.huaweicloud.sdk.cce.v3.region.CceRegion;
import com.huaweicloud.sdk.cce.v3.*;
import com.huaweicloud.sdk.cce.v3.model.*;


public class ListAddonInstancesSolution {

    public static void main(String[] args) {
        String ak = "<YOUR AK>";
        String sk = "<YOUR SK>";

        ICredential auth = new BasicCredentials()
                .withAk(ak)
                .withSk(sk);

        CceClient client = CceClient.newBuilder()
                .withCredential(auth)
                .withRegion(CceRegion.valueOf("cn-north-4"))
                .build();
        ListAddonInstancesRequest request = new ListAddonInstancesRequest();
        try {
            ListAddonInstancesResponse response = client.listAddonInstances(request);
            System.out.println(response.toString());
        } catch (ConnectionException e) {
            e.printStackTrace();
        } catch (RequestTimeoutException e) {
            e.printStackTrace();
        } catch (ServiceResponseException e) {
            e.printStackTrace();
            System.out.println(e.getHttpStatusCode());
            System.out.println(e.getRequestId());
            System.out.println(e.getErrorCode());
            System.out.println(e.getErrorMsg());
        }
    }
}
# coding: utf-8

from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkcce.v3.region.cce_region import CceRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkcce.v3 import *

if __name__ == "__main__":
    ak = "<YOUR AK>"
    sk = "<YOUR SK>"

    credentials = BasicCredentials(ak, sk) \

    client = CceClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(CceRegion.value_of("cn-north-4")) \
        .build()

    try:
        request = ListAddonInstancesRequest()
        response = client.list_addon_instances(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)
package main

import (
	"fmt"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
    cce "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cce/v3"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cce/v3/model"
    region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cce/v3/region"
)

func main() {
    ak := "<YOUR AK>"
    sk := "<YOUR SK>"

    auth := basic.NewCredentialsBuilder().
        WithAk(ak).
        WithSk(sk).
        Build()

    client := cce.NewCceClient(
        cce.CceClientBuilder().
            WithRegion(region.ValueOf("cn-north-4")).
            WithCredential(auth).
            Build())

    request := &model.ListAddonInstancesRequest{}
	response, err := client.ListAddonInstances(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

更多編程語言的SDK代碼示例,請參見API Explorer的代碼示例頁簽,可生成自動對應的SDK代碼示例。

狀態(tài)碼

狀態(tài)碼

描述

200

ok

錯誤碼

請參見錯誤碼。