華為云計(jì)算 云知識(shí) 獲取集群訪問(wèn)的地址ShowClusterEndpoints
獲取集群訪問(wèn)的地址ShowClusterEndpoints

 

功能介紹

該API用于通過(guò)集群ID獲取集群訪問(wèn)的地址,包括PrivateIP(HA集群返回VIP)與PublicIP

集群管理的URL格式為:https://Endpoint/uri。其中uri為資源路徑,也即API訪問(wèn)的路徑。

調(diào)用方法

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

URI

GET /api/v3/projects/{project_id}/clusters/{cluster_id}/openapi

表1 路徑參數(shù)

參數(shù)

是否必選

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

描述

project_id

String

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

cluster_id

String

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

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

表2 請(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

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

參數(shù)

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

描述

metadata

Metadata object

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

spec

OpenAPISpec object

集群訪問(wèn)地址的配置參數(shù)信息

status

status object

狀態(tài)信息

表4 Metadata

參數(shù)

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

描述

uid

String

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

name

String

資源名稱(chēng)

labels

Map<String,String>

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

annotations

Map<String,String>

資源注解,由key/value組成

updateTimestamp

String

更新時(shí)間

creationTimestamp

String

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

表5 OpenAPISpec

參數(shù)

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

描述

spec

spec object

集群訪問(wèn)的地址

表6 spec

參數(shù)

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

描述

eip

EipSpec object

EIP的詳細(xì)信息

IsDynamic

Boolean

是否動(dòng)態(tài)創(chuàng)建

表7 EipSpec

參數(shù)

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

描述

bandwidth

bandwidth object

帶寬信息

表8 bandwidth

參數(shù)

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

描述

size

Integer

帶寬大小

sharetype

String

帶寬類(lèi)型

表9 status

參數(shù)

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

描述

privateEndpoint

String

集群訪問(wèn)的PrivateIP(HA集群返回VIP)

publicEndpoint

String

集群訪問(wèn)的PublicIP

請(qǐng)求示例

無(wú)

響應(yīng)示例

狀態(tài)碼: 200

表示獲取集群訪問(wèn)的地址成功。

{
  "metadata" : { },
  "spec" : {
    "spec" : {
      "eip" : {
        "bandwidth" : { }
      },
      "IsDynamic" : false
    }
  },
  "status" : {
    "privateEndpoint" : "https://192.168.3.238:5443",
    "publicEndpoint" : ""
  }
}

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

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

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

        CceClient client = CceClient.newBuilder()
                .withCredential(auth)
                .withRegion(CceRegion.valueOf("cn-north-4"))
                .build();
        ShowClusterEndpointsRequest request = new ShowClusterEndpointsRequest();
        request.withClusterId("<cluster_id>");
        try {
            ShowClusterEndpointsResponse response = client.showClusterEndpoints(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>"
    projectId = "<project_id>"

    credentials = BasicCredentials(ak, sk, projectId) \

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

    try:
        request = ShowClusterEndpointsRequest()
        request.cluster_id = "<cluster_id>"
        response = client.show_cluster_endpoints(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>"
    projectId := "<project_id>"

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

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

    request := &model.ShowClusterEndpointsRequest{}
	request.ClusterId = "<cluster_id>"
	response, err := client.ShowClusterEndpoints(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

表示獲取集群訪問(wèn)的地址成功。

錯(cuò)誤碼

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