全部產品
Search
文件中心

:DATASOURCE::CS::KubernetesClusters

更新時間:Oct 25, 2024

DATASOURCE::CS::KubernetesClusters類型用於查詢Kubernetes叢集。

文法

{
  "Type": "DATASOURCE::CS::KubernetesClusters",
  "Properties": {
    "ClusterSpec": String,
    "ClusterType": String,
    "Profile": String,
    "Name": String,
    "RefreshOptions": String
  }
}

屬性

屬性名稱

類型

必須

允許更新

描述

約束

ClusterSpec

String

叢集規格。

當叢集類型選擇ManagedKubernetes時,通過叢集規格區分叢集的類型。取值:

  • ack.pro.small:專業託管叢集,即ACK Pro版叢集。

  • ack.standard:標準託管叢集。

  • 空值(預設值)。

說明

當取值為空白時,不通過該參數區分。

ClusterType

String

叢集類型。

取值:

  • Kubernetes: 專有版叢集。

  • ManagedKubernetes:

    • 託管版叢集。

    • Serverless叢集。

    • 邊緣叢集。

  • Ask:Serverless叢集。

  • ExternalKubernetes:註冊叢集。

說明

查詢Serverless叢集時,叢集型別參數的取值,取決於建立Serverless叢集時指定的值。

Profile

String

叢集標識。

當叢集類型選擇ManagedKubernetes時,通過叢集標識區分叢集類型。取值:

  • Default:託管版叢集。

  • Serverless:Serverless叢集。

  • Edge:邊緣叢集。

  • 空值(預設值)。

說明

當取值為空白時,不通過該參數區分。

Name

String

叢集名稱。

命名規則:由數字、漢字、英文字元或短劃線(-)組成。長度範圍為1~63個字元,且不能以短劃線(-)開頭。

RefreshOptions

String

當資源棧更新時,資料來源資源的重新整理策略。

取值:

  • Never(預設值):更新堆棧時,從不重新整理資料來源資源。

  • Always:更新堆棧時,始終重新整理資料來源資源。

返回資料(Fn::GetAtt)

  • ClusterIds:叢集ID列表。

  • Clusters:叢集詳情列表。

屬性名稱

類型

描述

約束

ClusterIds

List

叢集ID列表 。

Clusters

List

叢集詳情列表。

Name

String

叢集名稱。

命名規則:由數字、漢字、英文字元或短劃線(-)組成,長度範圍為1~63個字元,且不能以短劃線(-)開頭。

ClusterId

String

叢集ID。

RegionId

String

叢集所在地區ID。

State

String

叢集運行狀態。

取值:

  • initial:叢集建立中。

  • failed:叢集建立失敗。

  • running:叢集運行中。

  • updating:叢集升級中。

  • updating_failed:叢集升級失敗。

  • scaling:叢集伸縮中。

  • stopped:叢集停止運行。

  • deleting:叢集刪除中。

  • deleted:叢集被刪除。

  • delete_failed:叢集刪除失敗。

ClusterType

String

叢集類型。

取值:

  • Kubernetes: 專有版叢集。

  • ManagedKubernetes:託管版叢集。

  • Ask:Serverless叢集。

  • ExternalKubernetes:註冊叢集。

Created

String

叢集建立時間。

Updated

String

叢集更新時間。

InitVersion

String

初始叢集版本。

目前ACK控制台提供兩種最新Kubernetes版本的叢集。您可以通過API建立其他Kubernetes版本叢集。ACK支援的Kubernetes版本,請參見【已下線】Kubernetes版本發布概覽

說明

叢集版本應與Kubernetes社區基準版本保持一致。建議選擇最新版本,若不指定,預設使用最新版本。

CurrentVersion

String

叢集目前的版本。

MetaData

String

叢集中繼資料資訊。

ResourceGroupId

String

叢集資源群組ID。

InstanceType

String

叢集執行個體規格。

VpcId

String

叢集專用網路ID。

VSwitchId

String

叢集交換器ID。

VSwitchCidr

String

叢集交換器CIDR。

DataDiskSize

String

叢集資料盤大小。

DataDiskCategory

String

叢集資料盤類型。

SecurityGroupId

String

叢集安全性群組ID。

Tags

List

叢集資源標籤。

關於標籤樣本,請參見tag

ZoneId

String

叢集所在可用性區域ID。

NetworkMode

String

叢集網路模式。

取值:

  • classic:傳統網路。

  • vpc(預設值):專用網路。

  • overlay:疊加網路。

  • calico:Calico網路。

SubnetCidr

String

Pod網路位址區段。

必須是有效私人網段,即以下網段及其子網:

  • 10.0.0.0/8

  • 172.16-31.0.0/12-16

  • 192.168.0.0/16

說明

不能與VPC及VPC內已有Kubernetes叢集使用的網段重複,且建立成功後不能被修改。

MasterUrl

String

叢集訪問地址。

取值:

  • 內網訪問地址。

  • 公網訪問地址。

ExternalLoadbalancerId

String

叢集Ingress SLB執行個體ID。

Port

String

節點連接埠。

NodeStatus

String

節點是否就緒。

取值:

  • Ready:節點已就緒。

  • NotReady:節點未就緒。

  • Unknown:未知。

  • Offline:離線中。

ClusterHealthy

String

叢集健康情況。

DockerVersion

String

叢集中的Docker版本。

SwarmMode

Boolean

是否開啟Swarm Mode。

取值:

  • true:開啟。

  • false:不開啟。

GwBridge

String

GW橋接器。

UpgradeComponents

Map

叢集可升級組件。

樣本:{ "Kubernetes": { "ComponentName": "Kubernetes", "Version": "1.14.8-aliyun.1", "NextVersion": "", "Changed": "", "CanUpgrade": false, "Force": false, "Policy": "", "ExtraVars": null, "ReadyToUpgrade": "", "Message": "", "Exist": false, "Required": false }}

NextVersion

String

叢集可升級版本。

PrivateZone

Boolean

叢集Private Zone配置。

取值:

  • true:啟用Private Zone。

  • false:不啟用Private Zone。

ServiceDiscoveryTypes

List

叢集內服務發現類型。

用於在ACK Serverless叢集中指定服務發現方式。

叢集內服務發現方式預設為空白。

取值:

  • CoreDNS:使用Kubernetes原生標準服務發現組件CoreDNS,需要在叢集部署一組容器用於DNS解析。

    說明

    預設採用兩個0.25 Core 512 MiB規格的ECI執行個體。

  • PrivateZone:使用阿里雲PrivateZone產品提供服務發現能力,需要開啟PrivateZone服務。

PrivateLink

String

叢集綁定私網串連。

Profile

String

面向情境時的叢集類型。

取值:

  • Default:非邊緣情境叢集。

  • Edge:邊緣情境叢集。

DeletionProtection

Boolean

叢集刪除保護。

防止通過控制台或API誤刪除叢集。取值:

  • true:啟用叢集刪除保護,將不能通過控制台或API刪除叢集。

  • false:不啟用叢集刪除保護,可以通過控制台或API刪除叢集。

ClusterSpec

String

託管版叢集類型。

面向託管叢集。取值:

  • ack.pro.small:專業託管叢集。

  • ack.standard :標準託管叢集。

MaintenanceWindow

Map

叢集維護視窗配置。

只在專業託管版本(即:ACK Pro版叢集)中生效,請參見maintenance_window

Capabilities

Map

Kubernetes版本功能特性。

EnabledMigration

Boolean

叢集是否開啟過遷移。

取值:

  • true:開啟。

  • false:不開啟。

NeedUpdateAgent

Boolean

是否支援升級Agent。

取值:

  • true:支援。

  • false:不支援。

Outputs

List

叢集輸出資訊。

樣本:[ { "Description": "Log Info Output", "OutputKey": "LastKnownError", "OutputValue": null }, { "Description": "Error msg of ess scaling instance", "OutputKey": "NodesScalingErrorInfo", "OutputValue": null }, { "Description": "The mode we use in kube-proxy.", "OutputKey": "ProxyMode", "OutputValue": "ipvs" }, { "Description": "ScalingGroup ID", "OutputKey": "ScalingGroupID", "OutputValue": "asg-2zebrr08gt5uluh7****" }, { "Description": "Ids of worker node", "OutputKey": "NodeInstanceIDs", "OutputValue": [ "i-2ze4ymrjuocpbc0c****", "i-2ze4ymrjuocpbc0c****", "i-2ze4ymrjuocpbc0c****" ] }, { "Description": "Count of ess scaling instance", "OutputKey": "NodesScalingAddedInstances", "OutputValue": 3 } ]

Parameters

Map

叢集參數輸入。

WorkerRamRoleName

String

Worker RAM角色名稱。

授權ECS執行個體為叢集Worker節點。

MaintenanceInfo

Map

叢集維護配置。

樣本

JSON格式

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "ClusterSpec": {
      "Type": "String",
      "Description": "The specification of the cluster. If you set the cluster type to ManagedKubernetes, you can use cluster specifications to distinguish clusters. Valid values:\nack.pro.small: professional managed Kubernetes cluster\nack.standard: standard managed Kubernetes cluster\nBy default, this parameter is empty. This indicates that the parameter is not used to filter clusters."
    },
    "ClusterType": {
      "Type": "String",
      "Description": "The type of the cluster. Valid values:\nKubernetes: dedicated Kubernetes cluster\nManagedKubernetes: managed Kubernetes cluster, serverless Kubernetes (ASK) cluster, or edge Kubernetes cluster\nAsk: ASK cluster\nExternalKubernetes: registered external cluster\nWhen you query an ASK cluster, the value specified when the cluster was created is returned."
    },
    "Profile": {
      "Type": "String",
      "Description": "The identifier of the cluster. If you set the cluster type to ManagedKubernetes, you can use cluster identifiers to distinguish clusters. Valid values:\nDefault: managed Kubernetes cluster\nServerless: ASK cluster\nEdge: edge Kubernetes cluster\nBy default, this parameter is empty. This indicates that the parameter is not used to filter clusters."
    },
    "Name": {
      "Type": "String",
      "Description": "The name of the cluster.The name must be 1 to 63 characters in length, and can contain digits, letters, and hyphens (-). It cannot start with a hyphen (-)."
    }
  },
  "Resources": {
    "KubernetesClusters": {
      "Type": "DATASOURCE::CS::KubernetesClusters",
      "Properties": {
        "ClusterSpec": {
          "Ref": "ClusterSpec"
        },
        "ClusterType": {
          "Ref": "ClusterType"
        },
        "Profile": {
          "Ref": "Profile"
        },
        "Name": {
          "Ref": "Name"
        }
      }
    }
  },
  "Outputs": {
    "Clusters": {
      "Description": "The list of clusters.",
      "Value": {
        "Fn::GetAtt": [
          "KubernetesClusters",
          "Clusters"
        ]
      }
    },
    "ClusterIds": {
      "Description": "The list of cluster IDs.",
      "Value": {
        "Fn::GetAtt": [
          "KubernetesClusters",
          "ClusterIds"
        ]
      }
    }
  }
}

YAML格式

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  ClusterSpec:
    Type: String
    Description: |-
      The specification of the cluster. If you set the cluster type to ManagedKubernetes, you can use cluster specifications to distinguish clusters. Valid values:
      ack.pro.small: professional managed Kubernetes cluster
      ack.standard: standard managed Kubernetes cluster
      By default, this parameter is empty. This indicates that the parameter is not used to filter clusters.
  ClusterType:
    Type: String
    Description: |-
      The type of the cluster. Valid values:
      Kubernetes: dedicated Kubernetes cluster
      ManagedKubernetes: managed Kubernetes cluster, serverless Kubernetes (ASK) cluster, or edge Kubernetes cluster
      Ask: ASK cluster
      ExternalKubernetes: registered external cluster
      When you query an ASK cluster, the value specified when the cluster was created is returned.
  Profile:
    Type: String
    Description: |-
      The identifier of the cluster. If you set the cluster type to ManagedKubernetes, you can use cluster identifiers to distinguish clusters. Valid values:
      Default: managed Kubernetes cluster
      Serverless: ASK cluster
      Edge: edge Kubernetes cluster
      By default, this parameter is empty. This indicates that the parameter is not used to filter clusters.
  Name:
    Type: String
    Description: The name of the cluster.The name must be 1 to 63 characters in length, and can contain digits, letters, and hyphens (-). It cannot start with a hyphen (-).
Resources:
  KubernetesClusters:
    Type: DATASOURCE::CS::KubernetesClusters
    Properties:
      ClusterSpec:
        Ref: ClusterSpec
      ClusterType:
        Ref: ClusterType
      Profile:
        Ref: Profile
      Name:
        Ref: Name
Outputs:
  Clusters:
    Description: The list of clusters.
    Value:
      Fn::GetAtt:
        - KubernetesClusters
        - Clusters
  ClusterIds:
    Description: The list of cluster IDs.
    Value:
      Fn::GetAtt:
        - KubernetesClusters
        - ClusterIds