すべてのプロダクト
Search
ドキュメントセンター

Resource Orchestration Service:DATASOURCE::CS::KubernetesClusters

最終更新日:Jan 16, 2025

DATASOURCE::CS::KubernetesClusters は、Container Service for Kubernetes(ACK)クラスタを照会するために使用されます。

構文

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

プロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

ClusterSpec

String

いいえ

はい

クラスタの仕様。

ClusterType を ManagedKubernetes に設定した場合、ClusterSpec を使用して ACK マネージドクラスタのタイプを区別できます。有効な値:

  • ack.pro.small: ACK Pro クラスタ

  • ack.standard: ACK ベーシッククラスタ

  • Null(デフォルト): タイプなし

説明

このプロパティを Null に設定した場合、このプロパティを使用して ACK マネージドクラスタのタイプを区別することはできません。

ClusterType

String

いいえ

はい

クラスタのタイプ。

有効な値:

  • Kubernetes: ACK 専用クラスタ

  • ManagedKubernetes: ACK マネージドクラスタ。クラスタは、次のカテゴリのいずれかになります。

    • ACK マネージドクラスタ

    • ACK Serverless クラスタ

    • ACK Edge クラスタ

  • Ask: ACK Serverless クラスタ

  • ExternalKubernetes: 登録済みクラスタ

説明

ACK Serverless クラスタを照会する場合、このプロパティの値は、クラスタの作成時に指定したクラスタタイプによって決まります。

Profile

String

いいえ

はい

クラスタのプロファイル。

ClusterType を ManagedKubernetes に設定した場合、Profile を使用して ACK マネージドクラスタのカテゴリを区別できます。有効な値:

  • Default: ACK マネージドクラスタ

  • Serverless: ACK Serverless クラスタ

  • Edge: ACK Edge クラスタ

  • Null(デフォルト): カテゴリなし

説明

このプロパティを Null に設定した場合、このプロパティを使用して ACK マネージドクラスタのカテゴリを区別することはできません。

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: ACK 専用クラスタ

  • ManagedKubernetes: ACK マネージドクラスタ

  • Ask: ACK Serverless クラスタ

  • ExternalKubernetes: 登録済みクラスタ

Created

String

クラスタが作成された日時。

なし。

Updated

String

クラスタが更新された日時。

なし。

InitVersion

String

クラスタの初期 Kubernetes バージョン。

ACK は、コンソールで最新の 2 つの Kubernetes バージョンのクラスタを提供します。特定の ACK API オペレーションを呼び出すことで、他の Kubernetes バージョンのクラスタを作成できます。ACK でサポートされている Kubernetes バージョンの詳細については、「ACK でサポートされている Kubernetes バージョンの概要」をご参照ください。

説明

ACK はすべてのオープンソース Kubernetes バージョンをサポートしています。最新の Kubernetes バージョンを使用することをお勧めします。このプロパティが空の場合、デフォルトで最新の Kubernetes バージョンが使用されます。

CurrentVersion

String

クラスタの現在の Kubernetes バージョン。

なし。

MetaData

String

クラスタのメタデータ。

なし。

ResourceGroupId

String

クラスタが属するリソースグループの ID。

なし。

InstanceType

String

クラスタ内のノードのインスタンスタイプ。

なし。

VpcId

String

クラスタが存在する仮想プライベートクラウド(VPC)の ID。

なし。

VSwitchId

String

クラスタの vSwitch ID。

なし。

VSwitchCidr

String

クラスタの vSwitch CIDR ブロック。

なし。

DataDiskSize

String

クラスタのデータディスクサイズ。

なし。

DataDiskCategory

String

クラスタのデータディスクカテゴリ。

なし。

SecurityGroupId

String

クラスタが属するセキュリティグループの ID。

なし。

Tags

List

クラスタのラベル。

ラベルの詳細については、「タグ」をご参照ください。

ZoneId

String

クラスタのゾーン ID。

なし。

NetworkMode

String

クラスタのネットワークモード。

有効な値:

  • classic: クラシックネットワーク

  • vpc(デフォルト): VPC

  • overlay: オーバーレイネットワーク

  • calico: Calico を利用したネットワーク

SubnetCidr

String

Pod CIDR ブロック。

Pod CIDR ブロックは、VPC またはそのサブネットの次の CIDR ブロックのいずれかである必要があります。

  • 10.0.0.0/8

  • 172.16-31.0.0/12-16

  • 192.168.0.0/16

説明

Pod CIDR ブロックは、クラスタがデプロイされている VPC の CIDR ブロック、および VPC 内の既存の ACK クラスタの CIDR ブロックと重複することはできません。クラスタを作成した後は、Pod CIDR ブロックを変更することはできません。

MasterUrl

String

クラスタのエンドポイント。

次のタイプのエンドポイントがサポートされています。

  • 内部エンドポイント

  • パブリックエンドポイント

ExternalLoadbalancerId

String

クラスタの Ingress に使用されるサーバーロードバランサー(SLB)インスタンスの ID。

なし。

Port

String

ノードのポート。

なし。

NodeStatus

String

ノードの準備ができているかどうかを示すステータス。

有効な値:

  • Ready

  • NotReady

  • Unknown

  • Offline

ClusterHealthy

String

クラスタのヘルスステータス。

なし。

DockerVersion

String

クラスタの Docker バージョン。

なし。

SwarmMode

Boolean

Swarm モードが有効になっているかどうかを示します。

有効な値:

  • true

  • false

GwBridge

String

オーバーレイネットワークを接続する docker_gwbridge 仮想ブリッジ。

なし。

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

クラスタを更新できる Kubernetes バージョン。

なし。

PrivateZone

Boolean

クラスタに対して Alibaba Cloud DNS PrivateZone がアクティブになっているかどうかを示します。

有効な値:

  • true

  • false

ServiceDiscoveryTypes

List

ACK Serverless クラスタに実装されているサービスディスカバリ機能のタイプ。

デフォルトでは、このプロパティは空です。

有効な値:

  • CoreDNS: オープンソース Kubernetes によって提供される標準サービスディスカバリプラグインである CoreDNS。ドメインネームシステム(DNS)解決のための Pod をプロビジョニングする必要があります。

    説明

    デフォルトでは、2 つのエラスティックコンテナインスタンスが使用されます。各インスタンスの仕様は 0.25 vCPU と 512 MiB のメモリです。

  • PrivateZone: Alibaba Cloud DNS PrivateZone。サービスディスカバリの実装に使用する前に、Alibaba Cloud DNS PrivateZone をアクティブにする必要があります。

PrivateLink

String

クラスタに関連付けられている PrivateLink サービス。

なし。

Profile

String

特定のシナリオでクラスタに指定されたプロファイル。

有効な値:

  • Default: クラスタは ACK Edge クラスタではありません。

  • Edge: クラスタは ACK Edge クラスタです。

DeletionProtection

Boolean

クラスタに対して削除保護が有効になっているかどうかを示します。

クラスタに対して削除保護が有効になっている場合、ACK コンソールまたは特定の ACK API オペレーションを呼び出すことによってクラスタを削除することはできません。有効な値:

  • true

  • false

ClusterSpec

String

ACK マネージドクラスタのタイプ。

このプロパティは、ACK マネージドクラスタに対して有効です。有効な値:

  • ack.pro.small: ACK Pro クラスタ

  • ack.standard: ACK ベーシッククラスタ

MaintenanceWindow

Map

クラスタのメンテナンスウィンドウ設定。

このプロパティは、ACK Pro クラスタに対してのみ有効です。詳細については、「maintenance_window」をご参照ください。

Capabilities

Map

Kubernetes バージョンの機能。

なし。

EnabledMigration

Boolean

クラスタに対して移行が有効になっているかどうかを示します。

有効な値:

  • true

  • false

NeedUpdateAgent

Boolean

エージェントを更新できるかどうかを示します。

有効な値:

  • 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

ワーカーノードのリソースアクセス管理(RAM)ロールの名前。

RAM ロールは、ワーカーノードが Elastic Compute Service(ECS)インスタンスを管理できるように、クラスタのワーカーノードに割り当てられます。

MaintenanceInfo

Map

クラスタのメンテナンス設定。

なし。

JSON 形式

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "ClusterSpec": {
      "Type": "String",
      // クラスタの仕様。クラスタタイプを ManagedKubernetes に設定した場合、クラスタ仕様を使用してクラスタを区別できます。有効な値:
      // ack.pro.small: プロフェッショナルマネージド Kubernetes クラスタ
      // ack.standard: 標準マネージド Kubernetes クラスタ
      // デフォルトでは、このパラメータは空です。これは、パラメータがクラスタのフィルタリングに使用されないことを示します。
      "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",
      // クラスタのタイプ。有効な値:
      // Kubernetes: 専用 Kubernetes クラスタ
      // ManagedKubernetes: マネージド Kubernetes クラスタ、サーバーレス Kubernetes(ASK)クラスタ、またはエッジ Kubernetes クラスタ
      // Ask: ASK クラスタ
      // ExternalKubernetes: 登録済み外部クラスタ
      // ASK クラスタを照会すると、クラスタの作成時に指定された値が返されます。
      "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",
      // クラスタの識別子。クラスタタイプを ManagedKubernetes に設定した場合、クラスタ識別子を使用してクラスタを区別できます。有効な値:
      // Default: マネージド Kubernetes クラスタ
      // Serverless: ASK クラスタ
      // Edge: エッジ Kubernetes クラスタ
      // デフォルトでは、このパラメータは空です。これは、パラメータがクラスタのフィルタリングに使用されないことを示します。
      "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",
      // クラスタの名前。名前の長さは 1 ~ 63 文字で、数字、文字、およびハイフン(-)を含めることができます。ハイフン(-)で始めることはできません。
      "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": {
      // クラスタ ID のリスト。
      "Description": "The list of cluster IDs.",
      "Value": {
        "Fn::GetAtt": [
          "KubernetesClusters",
          "ClusterIds"
        ]
      }
    }
  }
}

YAML 形式

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  ClusterSpec:
    Type: String
    Description: |-
      クラスタの仕様。クラスタタイプを ManagedKubernetes に設定した場合、クラスタ仕様を使用してクラスタを区別できます。有効な値:
      ack.pro.small: プロフェッショナルマネージド Kubernetes クラスタ
      ack.standard: 標準マネージド Kubernetes クラスタ
      デフォルトでは、このパラメータは空です。これは、パラメータがクラスタのフィルタリングに使用されないことを示します。
  ClusterType:
    Type: String
    Description: |-
      クラスタのタイプ。有効な値:
      Kubernetes: 専用 Kubernetes クラスタ
      ManagedKubernetes: マネージド Kubernetes クラスタ、サーバーレス Kubernetes(ASK)クラスタ、またはエッジ Kubernetes クラスタ
      Ask: ASK クラスタ
      ExternalKubernetes: 登録済み外部クラスタ
      ASK クラスタを照会すると、クラスタの作成時に指定された値が返されます。
  Profile:
    Type: String
    Description: |-
      クラスタの識別子。クラスタタイプを ManagedKubernetes に設定した場合、クラスタ識別子を使用してクラスタを区別できます。有効な値:
      Default: マネージド Kubernetes クラスタ
      Serverless: ASK クラスタ
      Edge: エッジ Kubernetes クラスタ
      デフォルトでは、このパラメータは空です。これは、パラメータがクラスタのフィルタリングに使用されないことを示します。
  Name:
    Type: String
    Description: クラスタの名前。名前の長さは 1 ~ 63 文字で、数字、文字、およびハイフン(-)を含めることができます。ハイフン(-)で始めることはできません。
Resources:
  KubernetesClusters:
    Type: DATASOURCE::CS::KubernetesClusters
    Properties:
      ClusterSpec:
        Ref: ClusterSpec
      ClusterType:
        Ref: ClusterType
      Profile:
        Ref: Profile
      Name:
        Ref: Name
Outputs:
  Clusters:
    Description: クラスタのリスト。
    Value:
      Fn::GetAtt:
        - KubernetesClusters
        - Clusters
  ClusterIds:
    Description: クラスタ ID のリスト。
    Value:
      Fn::GetAtt:
        - KubernetesClusters
        - ClusterIds