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

:ALIYUN::CS::KubernetesCluster

最終更新日:Apr 22, 2025

ALIYUN::CS::KubernetesCluster は、Container Service for Kubernetes (ACK) 専用クラスターを作成するために使用されます。

構文

{
  "Type": "ALIYUN::CS::KubernetesCluster",
  "Properties": {
    "CloudMonitorFlags": Boolean,
    "ProxyMode": String,
    "MasterInstanceTypes": List,
    "SnatEntry": Boolean,
    "VpcId": String,
    "Tags": List,
    "CpuPolicy": String,
    "LoginPassword": String,
    "ContainerCidr": String,
    "Name": String,
    "NodePortRange": String,
    "SshFlags": Boolean,
    "Taint": List,
    "MasterDataDisk": Boolean,
    "MasterSystemDiskCategory": String,
    "Addons": List,
    "ServiceCidr": String,
    "KubernetesVersion": String,
    "SecurityGroupId": String,
    "KeyPair": String,
    "MasterVSwitchIds": List,
    "EndpointPublicAccess": Boolean,
    "MasterSystemDiskSize": Number,
    "MasterDataDisks": List,
    "MasterCount": Number,
    "TimeoutMins": Number,
    "PodVswitchIds": List,
    "Runtime": Map,
    "ResourceGroupId": String,
    "MasterSystemDiskSnapshotPolicyId": String,
    "FormatDisk": Boolean,
    "WorkerSystemDiskSnapshotPolicyId": String,
    "KeepInstanceName": Boolean,
    "DeletionProtection": Boolean,
    "OsType": String,
    "LoadBalancerSpec": String,
    "NodeCidrMask": String,
    "UserData": String,
    "UserCa": String,
    "IsEnterpriseSecurityGroup": Boolean,
    "MasterSystemDiskPerformanceLevel": String,
    "SocEnabled": Boolean,
    "TimeZone": String,  
    "MasterZoneIds": List,
    "WorkerZoneIds": List,
    "NodePools": List,
    "NodeNameMode": String,
    "SecurityHardeningOs": Boolean,
    "DeleteOptions": List,
    "ControlPlaneLogTtl": Number,
    "MaintenanceWindow": Map,
    "ControlPlaneLogComponents": List,
    "ControlPlaneLogProject": String,
    "MasterInstanceChargeType": String,
    "Platform": String,
    "MasterAutoRenew": Boolean,
    "MasterAutoRenewPeriod": Number
  }
}

プロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

Runtime

Map

いいえ

いいえ

コンテナーランタイム。

Runtime プロパティは、次のフィールドで構成されます。

  • name: コンテナーランタイムの名前。

  • version: コンテナーランタイムのバージョン。

例:

{"name": "docker", "version": "19.03.5"}
説明

コンテナーランタイムの選択方法の詳細については、「Docker、containerd、および Sandboxed-Container の比較」をご参照ください。Runtime の詳細については、「Runtime プロパティ」をご参照ください。

CloudMonitorFlags

Boolean

いいえ

いいえ

CloudMonitor エージェントをインストールするかどうかを指定します。

有効な値:

  • true

  • false (デフォルト)

ProxyMode

String

いいえ

いいえ

kube-proxy モード。

有効な値:

  • iptables (デフォルト)

  • ipvs

MasterInstanceTypes

List

はい

いいえ

マスターノードの Elastic Compute Service (ECS) インスタンスタイプ。

3 つの ECS インスタンスタイプを指定する必要があります。同じ ECS インスタンスタイプを指定できます。

詳細については、「インスタンスファミリの概要」をご参照ください。

SnatEntry

Boolean

いいえ

いいえ

VPC (Virtual Private Cloud) の SNAT ルールを設定するかどうかを指定します。

  • VPC がインターネットにアクセスできる場合の有効な値: false。

  • VPC がインターネットにアクセスできない場合の有効な値:

    • true: VPC の SNAT ルールを設定します。この場合、VPC はインターネットにアクセスできます。

    • false: VPC の SNAT ルールを設定しません。この場合、VPC はインターネットにアクセスできません。

VpcId

String

はい

いいえ

VPC ID。

このプロパティを指定しない場合、システムは CIDR ブロックが 192.168.0.0/16 の VPC を自動的に作成します。

VpcId プロパティと MasterVSwitchIds プロパティは、両方とも空にするか、両方を指定する必要があります。

Tags

List

いいえ

はい

クラスターのタグ。

最大 20 個のタグを追加できます。

詳細については、「Tags プロパティ」をご参照ください。

PodVswitchIds

List

いいえ

いいえ

ポッド vSwitch。

ノード vSwitch ごとに、ノード vSwitch と同じゾーンにデプロイされているポッド vSwitch を少なくとも 1 つ指定する必要があります。ポッド vSwitch はノード vSwitch と重複できません。

CIDR ブロックマスクの長さが 19 ビット以下の vSwitch を使用することをお勧めします。

説明

クラスターに Terway コンポーネントをインストールする場合は、このプロパティを指定する必要があります。

Platform

String

いいえ

いいえ

オペレーティングシステムのディストリビューション。

有効な値:

  • CentOS

  • AliyunLinux (デフォルト)

  • Windows

  • WindowsCore

MaintenanceWindow

Map

いいえ

はい

クラスターのメンテナンスウィンドウの構成。

詳細については、このトピックの「MaintenanceWindow プロパティ」セクションをご参照ください。

ControlPlaneLogComponents

List

いいえ

はい

コントロールプレーンコンポーネントの名前。

このプロパティを使用して、ログを収集するコントロールプレーンコンポーネントを指定できます。

デフォルトでは、kube-apiserver、kube-controller-manager、および kube-scheduler のログが収集されます。

ControlPlaneLogProject

String

いいえ

はい

コントロールプレーンコンポーネントのログの保存に使用する Simple Log Service (SLS) プロジェクト。

既存のプロジェクトを使用するか、システムを使用してプロジェクトを自動的に作成できます。システムを使用してプロジェクトを自動的に作成する場合、作成されたプロジェクトには k8s-log-{ClusterID} の形式で名前が付けられます。

MasterInstanceChargeType

String

いいえ

いいえ

マスターノードの課金方法。

有効な値:

  • PrePaid: サブスクリプション。

  • PostPaid (デフォルト): 従量課金。

MasterAutoRenew

Boolean

いいえ

いいえ

自動更新を有効にするかどうかを指定します。

このプロパティは、MasterInstanceChargeType が PrePaid に設定されている場合に有効になります。

有効な値:

  • true (デフォルト)

  • false

MasterAutoRenewPeriod

Number

いいえ

いいえ

自動更新期間。

このプロパティは、MasterInstanceChargeType が PrePaid に設定され、MasterAutoRenew が true に設定されている場合に有効になります。有効な値:

  • PeriodUnit が Week に設定されている場合の有効な値: 1 ~ 3。

  • PeriodUnit が Month に設定されている場合の有効な値: 1、2、3、6、および 12。

デフォルト値: 1。

CpuPolicy

String

いいえ

いいえ

CPU ポリシー。

このプロパティは、Kubernetes バージョンが 1.12.6 以降のクラスターに対してのみ有効です。有効な値:

  • static

  • none (デフォルト)

LoginPassword

String

いいえ

いいえ

SSH ログインのパスワード。

パスワードは 8 ~ 30 文字で、文字、数字、および特殊文字を含める必要があります。次の特殊文字がサポートされています: ( ) ' ~ ! @ # $ % ^ & * - + = | { } [ ] : ; < > , . ? / -

説明

LoginPassword または KeyPair を指定できます。

ContainerCidr

String

いいえ

いいえ

ポッド CIDR ブロック。

Flannel コンポーネントが使用されているクラスターを作成する場合は、このプロパティを指定する必要があります。ポッド CIDR ブロックは、次の VPC CIDR ブロックまたはそのサブネットのいずれかである必要があります。

  • 10.0.X.X/8

  • 172.16-31.0.0/12-16

  • 192.168.XX.XX/16

ポッド CIDR ブロックは、VPC CIDR ブロックおよび VPC 内の既存のクラスターの CIDR ブロックと重複できません。クラスターの作成後、ポッド CIDR ブロックを変更することはできません。

クラスターのネットワークを計画する方法の詳細については、「ACK マネージドクラスターのネットワーク計画」をご参照ください。

SecurityHardeningOs

Boolean

いいえ

いいえ

Alibaba Cloud Linux のセキュリティ強化を有効にするかどうかを指定します。

有効な値:

  • true

  • false

デフォルト値: false。

Name

String

はい

いいえ

クラスター名。

名前は 1 ~ 63 文字で、文字、数字、およびハイフン (-) を使用できます。

NodePortRange

String

いいえ

いいえ

ノードのポート範囲。

範囲は、30000 ~ 65535 の 2 つの値で構成されます。2 つの値はハイフン (-) で区切ります。

デフォルト範囲: 30000-65535。

SshFlags

Boolean

いいえ

いいえ

インターネット経由の SSH ログインを有効にするかどうかを指定します。

有効な値:

  • true

  • false (デフォルト)

Taint

List

いいえ

いいえ

ポッドのスケジューリングのためにノードに追加する taint。

ポッドに toleration を適用すると、ポッドは一致する taint を持つノードにスケジュールできます。

MasterDataDisk

Boolean

いいえ

いいえ

マスターノードにデータディスクをアタッチするかどうかを指定します。

有効な値:

  • true

  • false (デフォルト)

MasterSystemDiskCategory

String

いいえ

いいえ

マスターノードのシステムディスクカテゴリ。

有効な値:

  • cloud_efficiency: Ultra ディスク

  • cloud_ssd: 標準 SSD

  • cloud_essd: ESSD

Addons

List

いいえ

いいえ

クラスターにインストールするコンポーネント。

  • ネットワークコンポーネント:

    Flannel コンポーネントと Terway コンポーネントがサポートされています。クラスターを作成するときは、これらのコンポーネントのいずれかを使用する必要があります。

    • Flannel コンポーネントを使用する場合の値の形式: [{"Name":"flannel","Config":""}]

    • Terway コンポーネントを使用する場合の値の形式: [{"Name": "terway-eniip","Config": ""}]

  • ストレージコンポーネント:

    Container Storage Interface (CSI) コンポーネントと FlexVolume コンポーネントがサポートされています。

    • CSI コンポーネントを使用する場合の値の形式: [{"Name":"csi-plugin","Config": ""},{"Name": "csi-provisioner","Config": ""}]

    • FlexVolume コンポーネントを使用する場合の値の形式: [{"Name": "flexvolume","Config": ""}]

  • (オプション) SLS コンポーネント:

    説明

    SLS をアクティブ化しない場合、クラスター監査機能を使用できません。

    • 既存の SLS プロジェクトを使用する場合の値の形式: [{"Name": "logtail-ds","Config": "{\"IngressDashboardEnabled\":\"true\",\"sls_project_name\":\"your_sls_project_name\"}"}]

    • SLS プロジェクトを作成する場合の値の形式: [{"Name": "logtail-ds","Config": "{\"IngressDashboardEnabled\":\"true\"}"}]

  • (オプション) Ingress コンポーネント:

    デフォルトでは、nginx-ingress-controller コンポーネントは ACK 専用クラスターにインストールされます。

    • nginx-ingress-controller コンポーネントをインストールし、インターネットアクセスを有効にする場合の値の形式: [{"Name":"nginx-ingress-controller","Config":"{\"IngressSlbNetworkType\":\"internet\"}"}]

    • nginx-ingress-controller コンポーネントをインストールしない場合の値の形式: [{"Name": "nginx-ingress-controller","Config": "","Disabled": true}]

  • (オプション) イベントセンター:

    デフォルトでは、イベントセンター機能は有効になっています。イベントセンターを使用して、Kubernetes イベントを保存およびクエリし、アラートを設定できます。イベントセンターに関連付けられているログストアは、90 日以内であれば無料で使用できます。詳細については、「イベントセンターを作成して使用する」をご参照ください。

    イベントセンター機能を有効にする場合の値の形式: [{"Name":"ack-node-problem-detector","Config":"{\"sls_project_name\":\"your_sls_project_name\"}"}]

詳細については、「Addons プロパティ」をご参照ください。

ServiceCidr

String

いいえ

いいえ

Service CIDR ブロック。

Service CIDR ブロックは、VPC CIDR ブロックまたはコンテナー CIDR ブロックと重複できません。

システムによって自動的に作成された VPC を使用する場合、デフォルトでは 172.19.0.0/20 が Service CIDR ブロックとして使用されます。

KubernetesVersion

String

いいえ

はい

クラスターの Kubernetes バージョン。ACK は、オープンソースの Kubernetes と同じ Kubernetes バージョンをサポートしています。最新バージョンを使用することをお勧めします。

最新 2 つのバージョンのクラスターを作成できます。ACK でサポートされている Kubernetes バージョンの詳細については、「ACK でサポートされている Kubernetes バージョンの概要」をご参照ください。

SecurityGroupId

String

いいえ

いいえ

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

なし。

KeyPair

String

いいえ

いいえ

キーペアの名前。

KeyPair または LoginPassword を指定できます。

MasterVSwitchIds

List

はい

いいえ

マスターノードの vSwitch ID。

3 つの vSwitch ID を指定する必要があります。同じ vSwitch ID を指定できます。クラスターの高可用性を確保するために、3 つの異なる vSwitch ID を指定することをお勧めします。

EndpointPublicAccess

Boolean

いいえ

いいえ

インターネット経由でクラスターの API サーバーへのアクセスを有効にするかどうかを指定します。

有効な値:

  • true: インターネット経由でクラスターの API サーバーへのアクセスを有効にします。

  • false (デフォルト): VPC 経由でクラスターの API サーバーへのアクセスを有効にします。

MasterSystemDiskSize

Number

いいえ

いいえ

マスターノードのシステムディスクサイズ。

デフォルト値: 120。

単位: GiB。

MasterDataDisks

List

いいえ

いいえ

マスターノードにアタッチするデータディスクの構成。構成には、ディスクカテゴリとディスクサイズが含まれます。

このプロパティは、マスターノードにデータディスクをアタッチする場合にのみ有効になります。

詳細については、「MasterDataDisks プロパティ」をご参照ください。

MasterCount

Number

いいえ

いいえ

マスターノードの数。

有効な値:

  • 3 (デフォルト)

  • 5

TimeoutMins

Number

いいえ

いいえ

クラスターを作成するためのタイムアウト期間。

デフォルト値: 60。

単位: 分。

ResourceGroupId

String

いいえ

はい

リソースグループの ID。

なし。

MasterSystemDiskSnapshotPolicyId

String

いいえ

いいえ

マスターノードのデータディスクのバックアップに使用するポリシーの ID。

なし。

FormatDisk

Boolean

いいえ

いいえ

既存の ECS インスタンスに基づいて作成されたノードにデータディスクをアタッチするかどうかを指定します。

有効な値:

  • true: このプロパティを true に設定すると、既存の ECS インスタンスのコンテナーとイメージデータがデータディスクに保存されます。データディスク上の既存のデータは上書きされます。データディスクをアタッチする前に、データディスク上のデータをバックアップしてください。

  • false (デフォルト): このプロパティを false に設定すると、既存の ECS インスタンスのコンテナーとイメージデータはデータディスクに保存されません。

WorkerSystemDiskSnapshotPolicyId

String

いいえ

いいえ

ワーカーノードのデータディスクのバックアップに使用するポリシーの ID。

なし。

KeepInstanceName

Boolean

いいえ

いいえ

クラスター内の既存の ECS インスタンスの名前を保持するかどうかを指定します。

有効な値:

  • true (デフォルト): クラスター内の既存の ECS インスタンスの名前を保持します。

  • false: クラスター内の既存の ECS インスタンスの名前を保持しません。システムは既存の ECS インスタンスに新しい名前を割り当てます。

DeletionProtection

Boolean

いいえ

いいえ

削除保護を有効にするかどうかを指定します。

削除保護を有効にした後、ACK コンソールを使用するか、特定の ACK API オペレーションを呼び出すことによってクラスターを削除することはできません。

有効な値:

  • true

  • false (デフォルト)

OsType

String

いいえ

いいえ

オペレーティングシステムのタイプ。

有効な値:

  • Windows

  • Linux (デフォルト)

LoadBalancerSpec

String

いいえ

いいえ

サーバーロードバランサー (SLB) インスタンスの仕様。

有効な値:

  • slb.s1.small

  • slb.s2.small

  • slb.s2.medium

  • slb.s3.small

  • slb.s3.medium

  • slb.s3.large

ノード CIDR マスク

文字列

いいえ

いいえ

ノードに割り当てることができる CIDR ブロックの最大数。

このプロパティの値は、ポッド CIDR ブロックによって異なります。このプロパティは、クラスターで Flannel コンポーネントを使用する場合にのみ有効になります。

既定値: 25

ユーザーデータ

文字列

いいえ

いいえ

ECS インスタンスの作成時に指定するユーザーデータ。

ユーザーデータのサイズは最大 16 KB です。データを Base64 エンコード文字列に変換する必要はありません。ユーザーデータに特殊文字が含まれている場合は、各特殊文字の前にエスケープ文字(\)を追加する必要があります。

UserCa

文字列

いいえ

いいえ

クラスターの認証局(CA)証明書です。

サーバーとクライアント間の安全なデータ転送を確保するために、クラスターの CA 証明書を指定できます。

IsEnterpriseSecurityGroup

ブール値

いいえ

いいえ

高度なセキュリティグループを作成するかどうかを指定します。

このプロパティは、SecurityGroupId が空の場合に有効になります。有効な値:

  • true: 拡張セキュリティグループを作成します。クラスターに Terway コンポーネントをインストールする場合は、拡張セキュリティグループを作成する必要があります。

  • false (デフォルト): 拡張セキュリティグループを作成しません。

マスターシステムディスクパフォーマンスレベル

文字列

いいえ

いいえ

マスターノードの ESSD パフォーマンスレベル (PL)。

有効な値:

  • PL0

  • PL1

  • PL2

  • PL3

Soc有効

ブール値

いいえ

いいえ

等級保護に基づく強化を有効にするかどうかを指定します。

有効な値:

  • true

  • false (デフォルト)

MasterZoneIds

リスト

いいえ

いいえ

マスターノードの vSwitch が属するゾーンに関する情報です。

なし。

WorkerZoneIds

リスト

いいえ

いいえ

ワーカーノードの vSwitch が属するゾーンに関する情報です。

なし。

タイムゾーン

文字列

いいえ

いいえ

クラスタのタイムゾーン。

なし。

ノードプール

リスト

いいえ

いいえ

ノードプールに関する情報。

詳細については、「ノードプールのプロパティ」をご参照ください。

NodeNameMode

String

いいえ

いいえ

ノードのカスタム名。

ノード名は、プレフィックス、IP アドレスの部分文字列、およびサフィックスで構成されます。

  • プレフィックスとサフィックスには、ピリオド(.)で区切られた 1 つ以上の部分を含めることができます。各部分には、小文字、数字、およびハイフン(-)を含めることができます。ノード名は、小文字または数字で開始および終了する必要があります。

  • IP アドレスの部分文字列は、ノードの IP アドレスの末尾から切り捨てられた 5 ~ 12 桁の数字で構成されます。

DeleteOptions

ブール値

いいえ

はい

クラスターに関連付けられているリソースを削除するか保持するかのオプションです。

詳細については、「DeleteOptions プロパティ」をご参照ください。

NodePools 構文

"NodePools": [
  {
    "ScalingGroup": Map, // マップ
    "KubernetesConfig": Map, // マップ
    "NodePoolInfo": Map // マップ
  }
]

NodePools プロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

ScalingGroup

Map

はい

いいえ

ノードプールに使用するスケーリンググループの構成。

詳細については、「ScalingGroup プロパティ」をご参照ください。

KubernetesConfig

Map

いいえ

いいえ

クラスターの構成。

詳細については、「KubernetesConfig プロパティ」をご参照ください。

NodePoolInfo

Map

いいえ

いいえ

ノードプールの構成。

詳細については、「NodePoolInfo プロパティ」をご参照ください。

MaintenanceWindow 構文

"MaintenanceWindow": {
  // 有効化フラグ
  "Enable": Boolean,
  // メンテナンス時間
  "MaintenanceTime": String,
  // 期間
  "Duration": String,
  // 毎週の期間
  "WeeklyPeriod": String,
  // 繰り返し
  "Recurrence": String
}

MaintenanceWindow プロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

Enable

ブール値

いいえ

いいえ

メンテナンスウィンドウを有効にするかどうかを指定します。

有効な値:

  • true

  • false

デフォルト値: false

MaintenanceTime

文字列

いいえ

いいえ

メンテナンスウィンドウの開始時刻。

RFC 3339 形式で時間を指定します。

Duration

文字列

いいえ

いいえ

メンテナンスウィンドウの期間。

有効な値: 1 ~ 24。単位: 時間。

デフォルト値: 3。

WeeklyPeriod

文字列

いいえ

いいえ

メンテナンスサイクル。

複数の値はカンマ (,) で区切ります。有効な値: 月曜日、火曜日、水曜日、木曜日、金曜日、土曜日、日曜日。

デフォルト値: Thursday

Recurrence

文字列

いいえ

いいえ

RFC 5545 繰り返しルールを使用してメンテナンスウィンドウに定義された繰り返しルール。

FREQ を WEEKLY に設定する必要があります。COUNT または UNTIL は指定できません。

ScalingGroup 構文

"ScalingGroup": {
  "RdsInstances": List, // RDS インスタンスのリスト
  "IsEnterpriseSecurityGroup": Boolean, // エンタープライズセキュリティグループを使用するかどうか
  "VSwitchIds": List, // 仮想スイッチ ID のリスト
  "InternetMaxBandwidthOut": Integer, // インターネットの最大帯域幅 (出力)
  "DataDisks": List, // データディスクのリスト
  "Period": Integer, // 期間
  "InternetChargeType": String, // インターネットの課金タイプ
  "KeyPair": String, // キーペア
  "SystemDiskPerformanceLevel": String, // システムディスクのパフォーマンスレベル
  "ImageId": String, // イメージ ID
  "InstanceTypes": List, // インスタンスタイプのリスト
  "SystemDiskCategory": String, // システムディスクのカテゴリ
  "PeriodUnit": String, // 期間の単位
  "LoginPassword": String, // ログインパスワード
  "InstanceChargeType": String, // インスタンスの課金タイプ
  "SystemDiskSize": Integer, // システムディスクのサイズ
  "Tags": List, // タグのリスト
  "ZoneIds": List, // ゾーン ID のリスト
  "DesiredSize": Integer // 目的のサイズ
}

ScalingGroup のプロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

RdsInstances

リスト

いいえ

いいえ

ApsaraDB RDS インスタンスの ID。

なし。

DesiredSize

整数

いいえ

いいえ

ノードプール内のノードの予想数。

なし。

IsEnterpriseSecurityGroup

ブール値

いいえ

いいえ

高度なセキュリティグループを自動的に作成して使用するかどうかを指定します。

有効な値:

  • true

  • false

VSwitchIds

リスト

はい

いいえ

vSwitch の ID。

なし。

InternetMaxBandwidthOut

整数

いいえ

いいえ

ノードのパブリック IP アドレスの最大アウトバウンド帯域幅。

単位: Mbit/s。

有効な値: 1 ~ 100。

DataDisks

リスト

いいえ

いいえ

ノードプール内のノードにアタッチするデータディスクの構成。

詳細については、「DataDisks のプロパティ」をご参照ください。

Period

整数

いいえ

いいえ

ノードプール内のノードのサブスクリプション期間。

  • InstanceChargeType が PrePaid に設定されている場合にのみ、このプロパティを指定する必要があります。

  • PeriodUnit が Month に設定されている場合の Period の有効な値: 1、2、3、6、および 12。 デフォルト値: 1。

InternetChargeType

文字列

いいえ

いいえ

パブリック IP アドレスの課金方法。

有効な値:

  • PayByBandwidth: 帯域幅課金

  • PayByTraffic: トラフィック課金

KeyPair

文字列

いいえ

いいえ

パスワードなしログインに使用されるキーペアの名前。

KeyPair または LoginPassword を指定できます。

SystemDiskPerformanceLevel

文字列

いいえ

いいえ

ノードのシステムディスク PL。

このプロパティは ESSD のみに有効です。

ImageId

文字列

いいえ

いいえ

カスタムイメージの ID。

デフォルトでは、システムによって提供されるイメージが使用されます。

InstanceTypes

リスト

はい

いいえ

インスタンスタイプ。

なし。

SystemDiskCategory

文字列

いいえ

いいえ

ノードのシステムディスクカテゴリ。

有効な値:

  • cloud_efficiency (デフォルト): Ultra ディスク

  • cloud_ssd: 標準 SSD

  • cloud_essd: ESSD

PeriodUnit

文字列

いいえ

いいえ

ノードプール内のノードのサブスクリプション期間の単位。

  • InstanceChargeType が PrePaid に設定されている場合は、このプロパティを指定する必要があります。

  • PeriodUnit の値を Month に設定します。

LoginPassword

文字列

いいえ

いいえ

SSH ログイン用のパスワード。

KeyPair または LoginPassword を指定できます。

パスワードは 8 ~ 30 文字で、大文字、小文字、数字、および特殊文字を少なくとも 1 つずつ含める必要があります。

InstanceChargeType

文字列

いいえ

いいえ

ノードプール内のノードの課金方法。

有効な値:

  • PrePaid: サブスクリプション

  • PostPaid (デフォルト): 従量課金

SystemDiskSize

整数

はい

いいえ

ノードのシステムディスクサイズ。

単位: GiB。

有効な値: 40 ~ 500。

Tags

リスト

いいえ

いいえ

ECS インスタンスに追加するタグ。

詳細については、「Tags のプロパティ」をご参照ください。

ZoneIds

リスト

いいえ

いいえ

ゾーン。

なし。

NodePools 構文

"DataDisks": [
  {
    "AutoSnapshotPolicyId": String, // 自動スナップショットポリシーID
    "Encrypted": Boolean, // 暗号化されているかどうか
    "Size": Integer, // サイズ
    "Category": String, // カテゴリ
    "PerformanceLevel": String // パフォーマンスレベル
  }
]

NodePools プロパティ

プロパティ

種類

必須

編集可能

説明

制約

AutoSnapshotPolicyId

String

いいえ

いいえ

自動スナップショットポリシーの ID です。

指定された自動スナップショットポリシーに基づいて、システムはクラウドディスクを自動的にバックアップします。

暗号化

ブール値

いいえ

いいえ

データディスクを暗号化するかどうかを指定します。

有効な値:

  • true

  • false (デフォルト)

サイズ

整数

いいえ

いいえ

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

単位:GiB。

有効な値:40~32768。

デフォルト値:120。

カテゴリ

文字列

いいえ

いいえ

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

有効な値:

  • cloud: 基本ディスク

  • cloud_efficiency (デフォルト): Ultra ディスク

  • cloud_ssd: 標準 SSD

  • cloud_essd: ESSD

パフォーマンスレベル

文字列

いいえ

いいえ

ノードのデータディスク PL です。

このプロパティは、ESSD のみに有効です。ディスクの PL は、ディスクサイズによって異なります。

詳細については、「ESSD」をご参照ください。

KubernetesConfig 構文

"KubernetesConfig": {
  "Runtime": String, // ランタイム
  "RuntimeVersion": String, // ランタイムバージョン
  "CpuPolicy": String, // CPU ポリシー
  "Labels": List, // ラベル
  "NodeNameMode": String, // ノード名モード
  "Taints": List // テイント
}

KubernetesConfig プロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

Runtime

String

はい

いいえ

コンテナー ランタイム。

なし。

RuntimeVersion

String

はい

いいえ

コンテナー ランタイムのバージョン。

なし。

CpuPolicy

String

いいえ

いいえ

ノードの CPU 管理ポリシー。

クラスタの Kubernetes バージョンが 1.12.6 以降の場合の有効な値:

  • static: ノード上で特定のリソース特性を持つポッドに、強化された CPU アフィニティと排他性を付与します。

  • none (デフォルト): デフォルトの CPU アフィニティを使用します。

Labels

List

いいえ

いいえ

ノードのラベル。

クラスタ内のノードにラベルを追加できます。

詳細については、「ラベルのプロパティ」をご参照ください。

NodeNameMode

String

いいえ

いいえ

ノードのカスタム名。

ノード名は、プレフィックス、IP アドレスの部分文字列、およびサフィックスで構成されます。

  • プレフィックスとサフィックスには、ピリオド (.) で区切られた 1 つ以上の部分を含めることができます。各部分には、小文字、数字、およびハイフン (-) を含めることができます。ノード名は、小文字または数字で開始および終了する必要があります。

  • IP アドレスの部分文字列は、ノードの IP アドレスの末尾から切り捨てられた 5 ~ 12 桁の数字で構成されます。

Taints

List

いいえ

いいえ

汚染の構成。

詳細については、「汚染のプロパティ」をご参照ください。

ラベルの構文

"Labels": {
 // 値
 "Value": String,
 // キー
 "Key": String
}

ラベルのプロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

文字列

はい

いいえ

ラベルの値。

なし。

キー

文字列

はい

いいえ

ラベルのキー。

なし。

MaintenanceWindow 構文

"Taints": [{
 // 値
 "Value": String,
 // 効果
 "Effect": String,
 // キー
 "Key": String
}]

MaintenanceWindow プロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

文字列

はい

いいえ

汚染の値。

なし。

効果

文字列

いいえ

いいえ

スケジューリング ポリシー。

有効な値:

  • NoSchedule (デフォルト): 汚染を許容しないポッドは、この汚染を含むノードにスケジュールされません。このポリシーはスケジューリング プロセスにのみ影響し、新しく追加されたポッドにのみ有効です。このポリシーは、スケジュール済みのポッドには影響しません。

  • NoExecute: 汚染を許容しないポッドは、ノードにこの汚染を追加した後に削除されます。

  • PreferNoSchedule: これは NoSchedule の設定またはソフトバージョンです。このポリシーは、ノード上の既存のポッドには影響しません。

キー

文字列

はい

いいえ

汚染の名前。

なし。

NodePoolInfo 構文

"NodePoolInfo": {
  // 名前
  "Name": String,
  // タイプ
  "Type": String,
  // リソースグループ ID
  "ResourceGroupId": String
}

NodePoolInfo のプロパティ

プロパティ

必須

編集可能

説明

制約

Name

String

はい

いいえ

ノードプールの名前。

なし。

Type

String

いいえ

いいえ

ノードプールの種類。

有効な値:

  • edge

  • ess

ResourceGroupId

String

いいえ

はい

ノードプールが属するリソースグループ。

なし。

タグの構文

"Tags": [
  {
    "Key": String, // キー
    "Value": String // 値
  }
]

タグのプロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

キー

文字列

はい

いいえ

タグキー。

タグキーは 1 ~ 64 文字で、aliyunacs:https://、または http:// で始めることはできません。

文字列

はい

いいえ

タグ値。

タグ値は最大 128 文字で、aliyunacs:https://、または http:// で始めることはできません。

MasterDataDisks の構文

"MasterDataDisks": [
  {
    "Category": String, // カテゴリ
    "Size": Number // サイズ
  }
]

MasterDataDisks プロパティ

プロパティ

種類

必須

編集可能

説明

制約

カテゴリ

文字列

はい

いいえ

マスターノードのデータディスクのカテゴリ。

有効な値:

  • cloud: 基本ディスク

  • cloud_ssd: 標準 SSD

  • cloud_efficiency (デフォルト): Ultra ディスク

  • cloud_essd: ESSD

サイズ

数値

はい

いいえ

マスターノードのデータディスクのサイズ。

有効な値: 40 ~ 32768。

単位: GiB。

アドオン構文

"Addons": [
  {
    "Disabled": Boolean, // 無効かどうか
    "Config": String, // 設定
    "Name": String // 名前
  }
]

アドオンプロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

Disabled

ブール値

いいえ

いいえ

デフォルトインストールを無効にするかどうかを指定します。

有効な値:

  • true

  • false

Config

文字列

いいえ

いいえ

コンポーネントの構成。

なし。

Name

文字列

はい

いいえ

コンポーネント名。

なし。

ScalingGroup 構文

"Runtime": {
    "Name": String, // 名前
    "Version": String // バージョン
  }

ScalingGroup プロパティ

プロパティ

種類

必須

編集可能

説明

制約

名前

文字列

はい

いいえ

コンテナーランタイムの名前。

有効な値:

  • containerd

  • docker (デフォルト)

  • Sandboxed-Container.runv

バージョン

文字列

いいえ

いいえ

コンテナーランタイムのバージョン。

  • Name が containerd に設定されている場合の有効な値:1.4.4。

  • Name が docker に設定されている場合の有効な値:19.03.5。

  • Name が Sandboxed-Container.runv に設定されている場合の有効な値:3.4.1。

DeleteOptions 構文

"DeleteOptions": [{
    "DeleteMode": String, // 削除モード
    "ResourceType": String // リソースの種類
}]

DeleteOptions プロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

DeleteMode

String

いいえ

はい

指定されたタイプのリソースの削除ポリシー。

有効な値:

  • delete: 指定されたタイプのリソースを削除します。

  • retain: 指定されたタイプのリソースを保持します。

ResourceType

String

いいえ

はい

リソースのタイプ。

有効な値:

  • SLB: サービス用に作成された SLB リソース。 デフォルトでは、SLB リソースは削除されます。

  • ALB: ALB Ingress コントローラーによって作成された Application Load Balancer (ALB) リソース。 デフォルトでは、ALB リソースは保持されます。

  • SLS_Data: クラスタロギング機能で使用される SLS プロジェクト。 デフォルトでは、SLS プロジェクトは保持されます。

  • SLS_ControlPlane: ACK マネージドクラスターのコントロールプレーンログで使用される SLS プロジェクト。 デフォルトでは、SLS プロジェクトは保持されます。

  • PrivateZone: Serverless Kubernetes クラスターによって作成された Alibaba Cloud DNS PrivateZone リソース。 デフォルトでは、Alibaba Cloud DNS PrivateZone リソースは保持されます。

戻り値

Fn::GetAtt

  • ClusterId: クラスター ID。

  • TaskId: タスク ID。タスク ID はシステムによって自動的に割り当てられ、タスクのステータスをクエリするために使用されます。

  • WorkerRamRoleName: ワーカーノードの Resource Access Management (RAM) ロールの名前。

  • ScalingGroupId: スケーリンググループの ID。

  • DefaultUserKubeConfig: クラスター資格情報のデフォルトの kubeconfig ファイル。

  • Nodes: クラスター内のノード。

  • ScalingRuleId: スケーリングルールの ID。

  • PrivateUserKubeConfig: クラスター資格情報の非公開 kubeconfig ファイル。

  • ScalingConfigurationId: スケーリング設定の ID。

  • APIServerSLBId: API サーバーに関連付けられている SLB インスタンスの ID。

  • IngressSLBId: SLB Ingress の ID。

YAML

ROSTemplateFormatVersion: '2015-09-01'
Description: Kubernetes クラスタ作成テスト
Parameters:
  SystemDiskCategory:
    Type: String
    Description: システムディスクのカテゴリ。デフォルトは cloud_efficiency です。 cloud|cloud_efficiency|cloud_ssd|cloud_essd|ephemeral_ssd をサポートします。古いインスタンスは変更されません。
    AllowedValues:
      - cloud
      - cloud_efficiency
      - cloud_ssd
      - cloud_essd
      - ephemeral_ssd
    Default: cloud_essd
  LoginPassword:
    Type: String
    Default: Text****
Resources:
  Vpc:
    Type: ALIYUN::ECS::VPC
    Properties:
      VpcName: mytest
      CidrBlock: 192.168.XX.XX/16
  VSwitch1:
    Type: ALIYUN::ECS::VSwitch
    Properties:
      VSwitchName: mytest
      VpcId:
        Ref: Vpc
      ZoneId:
        Fn::Select:
          - '0'
          - Fn::GetAZs:
              Ref: ALIYUN::Region
      CidrBlock: 192.168.XX.XX/24
  VSwitch2:
    Type: ALIYUN::ECS::VSwitch
    Properties:
      VSwitchName: mytest
      VpcId:
        Ref: Vpc
      ZoneId:
        Fn::Select:
          - '0'
          - Fn::GetAZs:
              Ref: ALIYUN::Region
      CidrBlock: 192.168.XX.XX/24
  VSwitch3:
    Type: ALIYUN::ECS::VSwitch
    Properties:
      VSwitchName: mytest
      VpcId:
        Ref: Vpc
      ZoneId:
        Fn::Select:
          - '0'
          - Fn::GetAZs:
              Ref: ALIYUN::Region
      CidrBlock: 192.168.XX.XX/24
  KubernetesCluster:
    Type: ALIYUN::CS::KubernetesCluster
    Properties:
      MasterInstanceTypes:
        - ecs.g6e.large
        - ecs.g6e.large
        - ecs.g6e.large
      MasterSystemDiskCategory:
        Ref: SystemDiskCategory
      VpcId:
        Ref: Vpc
      Name: TestKubernetesCluster
      MasterVSwitchIds:
        - Ref: VSwitch1
        - Ref: VSwitch2
        - Ref: VSwitch3
      LoginPassword:
        Ref: LoginPassword
Outputs:
  ClusterId:
    Value:
      Fn::GetAtt:
        - KubernetesCluster
        - ClusterId
  TaskId:
    Value:
      Fn::GetAtt:
        - KubernetesCluster
        - TaskId

JSON

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Description": "Kubernetes クラスタ作成テスト",
  "Parameters": {
    "SystemDiskCategory": {
      "Type": "String",
      "Description": "システムディスクのカテゴリ。デフォルトは cloud_efficiency です。 cloud|cloud_efficiency|cloud_ssd|cloud_essd|ephemeral_ssd をサポートします。古いインスタンスは変更されません。",
      "AllowedValues": [
        "cloud",
        "cloud_efficiency",
        "cloud_ssd",
        "cloud_essd",
        "ephemeral_ssd"
      ],
      "Default": "cloud_essd"
    },
    "LoginPassword": {
      "Type": "String",
      "Default": "Text****"
    }
  },
  "Resources": {
    "Vpc": {
      "Type": "ALIYUN::ECS::VPC",
      "Properties": {
        "VpcName": "mytest",
        "CidrBlock": "192.168.XX.XX/16"
      }
    },
    "VSwitch1": {
      "Type": "ALIYUN::ECS::VSwitch",
      "Properties": {
        "VSwitchName": "mytest",
        "VpcId": {
          "Ref": "Vpc"
        },
        "ZoneId": {
          "Fn::Select": [
            "0",
            {
              "Fn::GetAZs": {
                "Ref": "ALIYUN::Region"
              }
            }
          ]
        },
        "CidrBlock": "192.168.XX.XX/24"
      }
    },
    "VSwitch2": {
      "Type": "ALIYUN::ECS::VSwitch",
      "Properties": {
        "VSwitchName": "mytest",
        "VpcId": {
          "Ref": "Vpc"
        },
        "ZoneId": {
          "Fn::Select": [
            "0",
            {
              "Fn::GetAZs": {
                "Ref": "ALIYUN::Region"
              }
            }
          ]
        },
        "CidrBlock": "192.168.XX.XX/24"
      }
    },
    "VSwitch3": {
      "Type": "ALIYUN::ECS::VSwitch",
      "Properties": {
        "VSwitchName": "mytest",
        "VpcId": {
          "Ref": "Vpc"
        },
        "ZoneId": {
          "Fn::Select": [
            "0",
            {
              "Fn::GetAZs": {
                "Ref": "ALIYUN::Region"
              }
            }
          ]
        },
        "CidrBlock": "192.168.XX.XX/24"
      }
    },
    "KubernetesCluster": {
      "Type": "ALIYUN::CS::KubernetesCluster",
      "Properties": {
        "MasterInstanceTypes": [
          "ecs.g6e.large",
          "ecs.g6e.large",
          "ecs.g6e.large"
        ],
        "MasterSystemDiskCategory": {
          "Ref": "SystemDiskCategory"
        },
        "VpcId": {
          "Ref": "Vpc"
        },
        "Name": "TestKubernetesCluster",
        "MasterVSwitchIds": [
          {
            "Ref": "VSwitch1"
          },
          {
            "Ref": "VSwitch2"
          },
          {
            "Ref": "VSwitch3"
          }
        ],
        "LoginPassword": {
          "Ref": "LoginPassword"
        }
      }
    }
  },
  "Outputs": {
    "ClusterId": {
      "Value": {
        "Fn::GetAtt": [
          "KubernetesCluster",
          "ClusterId"
        ]
      }
    },
    "TaskId": {
      "Value": {
        "Fn::GetAtt": [
          "KubernetesCluster",
          "TaskId"
        ]
      }
    }
  }
}