ALIYUN::CS::ASKCluster リソースタイプは、ACK Serverless クラスターを作成します。
構文
{
"Type": "ALIYUN::CS::ASKCluster",
"Properties": {
"KubernetesVersion": String,
"EndpointPublicAccess": Boolean,
"ZoneId": String,
"ResourceGroupId": String,
"VSwitchIds": List,
"SecurityGroupId": String,
"Addons": List,
"DeletionProtection": Boolean,
"ClusterSpec": String,
"Name": String,
"EncryptionProviderKey": String,
"TimeZone": String,
"ServiceDiscoveryTypes": List,
"VpcId": String,
"ServiceCidr": String,
"SnatEntry": Boolean,
"Tags": List,
"PrivateZone": Boolean,
"DeleteOptions": List,
"MaintenanceWindow": Map,
"IpStack": String
}
}プロパティ
プロパティ | タイプ | 必須 | 更新可能 | 説明 | 制約 |
KubernetesVersion | String | No | Yes | クラスターのバージョンです。 | なし |
EndpointPublicAccess | Boolean | No | No | API サーバーへのパブリックアクセスを有効にするかどうかを指定します。 | 有効な値:
|
ZoneId | String | No | No | クラスターが配置されているリージョンのゾーン ID です。 | ACK Serverless クラスターを作成する際に、 |
ResourceGroupId | String | No | Yes | クラスターが属するリソースグループの ID です。 | なし |
VSwitchIds | List | No | No | クラスターノードが配置されている vSwitch ID のリストです。 | 最大 3 つの vSwitch を指定できます。 説明 このパラメーターは、ノードなしで ACK マネージドクラスターを作成する場合に必須です。 |
SecurityGroupId | String | No | No | クラスター内の ECS インスタンスが属するセキュリティグループの ID です。 | なし |
Addons | List | No | No | クラスターコンポーネントのリストです。 | なし |
DeletionProtection | Boolean | No | Yes | クラスターの削除保護を有効にするかどうかを指定します。これにより、コンソールまたは API 操作の呼び出しによってクラスターが誤って削除されるのを防ぎます。 | 有効な値:
|
DeleteOptions | List | No | Yes | クラスターに関連付けられているリソースの削除オプションです。 | 詳細については、「DeleteOptions のプロパティ」をご参照ください。 |
ClusterSpec | String | No | No | ACK マネージドクラスターのタイプです。 | 有効な値:
説明 このパラメーターを空のままにすると、標準 ACK クラスターが作成されます。 詳細については、「ACK Pro クラスターの概要」をご参照ください。 |
Name | String | Yes | No | クラスターの名前です。 | 名前は 1~63 文字の長さである必要があります。数字、漢字、文字、ハイフン (-) を使用できます。ハイフン (-) で始めることはできません。 |
TimeZone | String | No | No | クラスターのタイムゾーンです。 | なし |
EncryptionProviderKey | String | No | No | Key Management Service (KMS) によって管理されるキーの ID です。 | このキーはデータディスクを暗号化するために使用されます。KMS は ACK Pro マネージドクラスターでのみ使用できます。 |
ServiceDiscoveryTypes | List | No | No | クラスター内のサービスディスカバリータイプです。このパラメーターは、ACK Serverless クラスターでのサービスディスカバリーメソッドを指定します。 | 有効な値:
|
VpcId | String | No | No | クラスターが使用する VPC です。 | なし |
ServiceCidr | String | No | No | サービス用の CIDR ブロックです。 | CIDR ブロックは、 説明 デフォルトの CIDR ブロックは |
SnatEntry | Boolean | No | No | VPC の SNAT ルールを設定するかどうかを指定します。 | 有効な値:
説明 クラスターの作成時にこの機能を有効にしなかった場合、ビジネスでインターネットアクセスが必要になったときに後で手動で有効にすることができます。詳細については、「クラスターのインターネットアクセスを有効にする」をご参照ください。 |
Tags | List | No | Yes | ノードのラベルです。 | タグ定義のルール:
|
PrivateZone | Boolean | No | No | PrivateZone サービスを有効にするかどうかを指定します。 | 有効な値:
|
MaintenanceWindow | Map | No | Yes | クラスターのメンテナンスウィンドウです。 | 詳細については、「MaintenanceWindow のプロパティ」をご参照ください。 |
IpStack | String | No | No | クラスターの IP スタックです。 | 有効な値:
|
MaintenanceWindow の構文
"MaintenanceWindow": {
"Enable": Boolean,
"MaintenanceTime": String,
"Duration": String,
"WeeklyPeriod": String,
"Recurrence": String
}MaintenanceWindow のプロパティ
プロパティ | タイプ | 必須 | 更新可能 | 説明 | 制約 |
Enable | Boolean | No | Yes | メンテナンスウィンドウを有効にするかどうかを指定します。 | 有効な値:
デフォルト値: |
MaintenanceTime | String | No | Yes | メンテナンスの開始時刻です。 | RFC3339 フォーマットです。 |
Duration | String | No | Yes | メンテナンスの期間です。 | 有効値は [1, 24] です。単位: 時間。 値は [1, 24] の範囲である必要があります。単位: 時間。デフォルト値: 3h。 |
WeeklyPeriod | String | No | Yes | メンテナンス期間です。 | 複数の値はコンマ (,) で区切ります。有効な値: {Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday} デフォルト値: |
Recurrence | String | No | Yes | RFC5545 の繰り返しルールの構文を使用して定義された、メンテナンスウィンドウの繰り返しルールです。 | 現在、FREQ=WEEKLY のみがサポートされています。COUNT と UNTIL はサポートされていません。 |
Addons の構文
"Addons": [
{
"Config": String,
"Disabled": Boolean,
"Name": String,
"Version": String
}
]Addons のプロパティ
プロパティ | タイプ | 必須 | 更新の許可 | 説明 | 制約 |
Config | String | No | No | コンポーネントの設定です。 | なし |
Disabled | Boolean | No | No | デフォルトのインストールを無効にするかどうかを指定します。 | クラスターが作成されると、必須コンポーネントに加えて、ロギングコンポーネントなどの他のコンポーネントもインストールされます。このデフォルトの動作を無効にして、後でコンポーネントインストール API を呼び出すか、コンソールでこれらのコンポーネントをインストールできます。 有効な値:
|
Name | String | Yes | No | コンポーネントの名前です。 | なし |
Version | String | No | No | コンポーネントのバージョンです。 | このパラメーターを空のままにすると、デフォルトで最新バージョンが選択されます。 |
Tags の構文
"Tags": [
{
"Value": String,
"Key": String
}
]Tags のプロパティ
プロパティ | タイプ | 必須 | 更新可能 | 説明 | 制約 |
Value | String | No | No | タグの値です。 | なし |
Key | String | Yes | No | タグの値 | なし |
DeleteOptions の構文
"DeleteOptions": [
{
"DeleteMode": String,
"ResourceType": String
}
]DeleteOptions のプロパティ
プロパティ | タイプ | 必須 | 更新可能 | 説明 | 制約 |
DeleteMode | String | No | Yes | このタイプのリソースの削除ポリシーです。 | 有効な値:
|
ResourceType | String | No | Yes | リソースタイプです。 | 有効な値:
|
戻り値
Fn::GetAtt
TaskId: タスクの ID です。
ClusterId: クラスターの ID です。
APIServerSLBId: API サーバー SLB の ID です。
ScalingGroupId: スケーリンググループの ID です。
ScalingRuleId: スケーリングルールの ID です。
DefaultUserKubeConfig: クラスターの認証情報を設定するために使用されるデフォルトの Kubernetes 設定です。
WorkerRamRoleName: ワーカーノードの RAM ロールの名前です。
ScalingConfigurationId: スケーリング設定の ID です。
PrivateUserKubConfig: クラスターの認証情報を設定するために使用されるプライベート Kubernetes 設定です。
Nodes: クラスターノードのリストです。
IngressSLBId: Ingress SLB の ID です。
例
ROSTemplateFormatVersion: '2015-09-01'
Description: ASKCluster の作成のテスト
Parameters: {}
Resources:
VSwitch:
Type: ALIYUN::ECS::VSwitch
Properties:
VSwitchName: mytest
VpcId:
Ref: Vpc
CidrBlock: 192.168.1.0/24
ZoneId:
Fn::Select:
- '0'
- Fn::GetAZs:
Ref: ALIYUN::Region
Vpc:
Type: ALIYUN::ECS::VPC
Properties:
VpcName: mytest
CidrBlock: 192.168.0.0/16
ASKCluster:
Type: ALIYUN::CS::ASKCluster
Properties:
VpcId:
Ref: Vpc
ClusterSpec: ack.pro.small
Name: mytest
VSwitchIds:
- Ref: VSwitch
Outputs:
ClusterId:
Value:
Fn::GetAtt:
- ASKCluster
- ClusterId
TaskId:
Value:
Fn::GetAtt:
- ASKCluster
- TaskId{
"ROSTemplateFormatVersion": "2015-09-01",
"Description": "ASKCluster の作成のテスト",
"Parameters": {},
"Resources": {
"VSwitch": {
"Type": "ALIYUN::ECS::VSwitch",
"Properties": {
"VSwitchName": "mytest",
"VpcId": {
"Ref": "Vpc"
},
"CidrBlock": "192.168.1.0/24",
"ZoneId": {
"Fn::Select": [
"0",
{
"Fn::GetAZs": {
"Ref": "ALIYUN::Region"
}
}
]
}
}
},
"Vpc": {
"Type": "ALIYUN::ECS::VPC",
"Properties": {
"VpcName": "mytest",
"CidrBlock": "192.168.0.0/16"
}
},
"ASKCluster": {
"Type": "ALIYUN::CS::ASKCluster",
"Properties": {
"VpcId": {
"Ref": "Vpc"
},
"ClusterSpec": "ack.pro.small",
"Name": "mytest",
"VSwitchIds": [
{
"Ref": "VSwitch"
}
]
}
}
},
"Outputs": {
"ClusterId": {
"Value": {
"Fn::GetAtt": [
"ASKCluster",
"ClusterId"
]
}
},
"TaskId": {
"Value": {
"Fn::GetAtt": [
"ASKCluster",
"TaskId"
]
}
}
}
}