華為云計(jì)算 云知識(shí) 獲取AddonInstance詳情ShowAddonInstance
獲取AddonInstance詳情ShowAddonInstance

 

功能介紹

獲取插件實(shí)例詳情。

調(diào)用方法

請(qǐng)參見(jiàn)如何調(diào)用API。

URI

GET /api/v3/addons/{id}

表1 路徑參數(shù)

參數(shù)

是否必選

參數(shù)類(lèi)型

描述

id

String

插件實(shí)例id

表2 Query參數(shù)

參數(shù)

是否必選

參數(shù)類(lèi)型

描述

cluster_id

String

集群 ID,獲取方式請(qǐng)參見(jiàn)如何獲取接口URI中參數(shù)

請(qǐng)求參數(shù)

表3 請(qǐng)求Header參數(shù)

參數(shù)

是否必選

參數(shù)類(lèi)型

描述

Content-Type

String

消息體的類(lèi)型(格式)

X-Auth-Token

String

調(diào)用接口的認(rèn)證方式分為T(mén)oken和AK/SK兩種,如果您使用的Token方式,此參數(shù)為必填,請(qǐng)?zhí)顚?xiě)Token的值,獲取方式請(qǐng)參見(jiàn)獲取token。

響應(yīng)參數(shù)

狀態(tài)碼: 200

表4 響應(yīng)Body參數(shù)

參數(shù)

參數(shù)類(lèi)型

描述

kind

String

API類(lèi)型,固定值“Addon”,該值不可修改。

apiVersion

String

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

metadata

AddonMetadata object

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

spec

InstanceSpec object

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

status

AddonInstanceStatus object

插件實(shí)例狀態(tài)

表5 AddonMetadata

參數(shù)

參數(shù)類(lèi)型

描述

uid

String

唯一id標(biāo)識(shí)

name

String

插件名稱

alias

String

插件別名

labels

Map<String,String>

插件標(biāo)簽,key/value對(duì)格式,接口保留字段,填寫(xiě)不會(huì)生效

annotations

Map<String,String>

插件注解,由key/value組成

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

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

updateTimestamp

String

更新時(shí)間

creationTimestamp

String

創(chuàng)建時(shí)間

表6 InstanceSpec

參數(shù)

參數(shù)類(lèi)型

描述

clusterID

String

集群id

version

String

插件模板版本號(hào),如1.0.0

addonTemplateName

String

插件模板名稱,如coredns

addonTemplateType

String

插件模板類(lèi)型

addonTemplateLogo

String

插件模板logo圖片的地址

addonTemplateLabels

Array of strings

插件模板所屬類(lèi)型

description

String

插件模板描述

values

Map<String,Object>

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

表7 AddonInstanceStatus

參數(shù)

參數(shù)類(lèi)型

描述

status

String

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

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

  • abnormal:不可用,表示插件狀態(tài)異常,插件不可使用。可點(diǎn)擊插件名稱查看實(shí)例異常事件。

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

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

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

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

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

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

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

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

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

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

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

Reason

String

插件安裝失敗原因

message

String

安裝錯(cuò)誤詳情

targetVersions

Array of strings

此插件版本,支持升級(jí)的集群版本

currentVersion

Versions object

當(dāng)前插件實(shí)例使用的具體插件版本信息

isRollbackable

Boolean

是否支持回滾到插件升級(jí)前的插件版本

previousVersion

String

插件升級(jí)或回滾前的版本

表8 Versions

參數(shù)

參數(shù)類(lèi)型

描述

version

String

插件版本號(hào)

input

Object

插件安裝參數(shù)

stable

Boolean

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

translate

Object

供界面使用的翻譯信息

supportVersions

Array of SupportVersions objects

支持集群版本號(hào)

creationTimestamp

String

創(chuàng)建時(shí)間

updateTimestamp

String

更新時(shí)間

表9 SupportVersions

參數(shù)

參數(shù)類(lèi)型

描述

clusterType

String

支持的集群類(lèi)型

clusterVersion

Array of strings

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

請(qǐng)求示例

無(wú)

響應(yīng)示例

狀態(tài)碼: 200

OK

{
  "kind" : "Addon",
  "apiVersion" : "v3",
  "metadata" : {
    "uid" : "24b23108-55c0-11e9-926f-0255ac101a31",
    "name" : "gpu-beta",
    "alias" : "gpu",
    "creationTimestamp" : "2019-04-03T03:25:34Z",
    "updateTimestamp" : "2019-04-03T03:25:34Z"
  },
  "spec" : {
    "clusterID" : "0c0e4a63-5539-11e9-95f7-0255ac10177e",
    "version" : "1.0.0",
    "addonTemplateName" : "gpu-beta",
    "addonTemplateType" : "helm",
    "addonTemplateLogo" : "",
    "addonTemplateLabels" : [ "Accelerator" ],
    "description" : "A device plugin for nvidia.com/gpu resource on nvidia driver",
    "values" : {
      "basic" : {
        "rbac_enabled" : true,
        "swr_addr" : "100.125.6.246:20202",
        "swr_user" : "hwofficial"
      }
    }
  },
  "status" : {
    "status" : "installing",
    "Reason" : "",
    "message" : "",
    "targetVersions" : null,
    "currentVersion" : {
      "version" : "1.0.0",
      "input" : {
        "basic" : {
          "swr_addr" : "100.125.6.246:20202",
          "swr_user" : "hwofficial"
        },
        "parameters" : { }
      },
      "stable" : true,
      "translate" : {
        "en_US" : {
          "addon" : {
            "changeLog" : "A device plugin for nvidia.com/gpu resource on nvidia driver",
            "description" : "A device plugin for nvidia.com/gpu resource on nvidia driver"
          }
        },
        "zh_CN" : {
          "addon" : {
            "changeLog" : "",
            "description" : ""
          }
        }
      },
      "supportVersions" : null,
      "creationTimestamp" : "2018-10-23T13:14:55Z",
      "updateTimestamp" : "2018-12-07T09:40:24Z"
    }
  }
}

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 ShowAddonInstanceSolution {

    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();
        ShowAddonInstanceRequest request = new ShowAddonInstanceRequest();
        request.withId("<id>");
        try {
            ShowAddonInstanceResponse response = client.showAddonInstance(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 = ShowAddonInstanceRequest()
        request.id = "<id>"
        response = client.show_addon_instance(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.ShowAddonInstanceRequest{}
	request.Id = "<id>"
	response, err := client.ShowAddonInstance(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

更多編程語(yǔ)言的SDK代碼示例,請(qǐng)參見(jiàn)API Explorer的代碼示例頁(yè)簽,可生成自動(dòng)對(duì)應(yīng)的SDK代碼示例。

狀態(tài)碼

狀態(tài)碼

描述

200

OK

錯(cuò)誤碼

請(qǐng)參見(jiàn)錯(cuò)誤碼。