全部產品
Search
文件中心

:ALIYUN::CS::KubernetesCluster

更新時間:Nov 01, 2024

ALIYUN::CS::KubernetesCluster類型用於建立Kubernetes專有版叢集。

文法

{
  "Type": "ALIYUN::CS::KubernetesCluster",
  "Properties": {
    "CloudMonitorFlags": Boolean,
    "ProxyMode": String,
    "MasterInstanceTypes": List,
    "SnatEntry": Boolean,
    "WorkerSystemDiskCategory": String,
    "WorkerVSwitchIds": List,
    "VpcId": String,
    "Tags": List,
    "CpuPolicy": String,
    "WorkerInstanceTypes": List,
    "WorkerDataDisks": List,
    "LoginPassword": String,
    "ContainerCidr": String,
    "NumOfNodes": Number,
    "Name": String,
    "WorkerSystemDiskSize": Number,
    "NodePortRange": String,
    "SshFlags": Boolean,
    "Taint": List,
    "MasterDataDisk": Boolean,
    "MasterSystemDiskCategory": String,
    "WorkerDataDisk": Boolean,
    "Addons": List,
    "DisableRollback": Boolean,
    "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,
    "AutoRenewPeriod": Number,
    "MasterSystemDiskSnapshotPolicyId": String,
    "FormatDisk": Boolean,
    "WorkerSystemDiskSnapshotPolicyId": String,
    "KeepInstanceName": Boolean,
    "DeletionProtection": Boolean,
    "OsType": String,
    "LoadBalancerSpec": String,
    "AutoRenew": Boolean,
    "ChargeType": String,
    "NodeCidrMask": String,
    "UserData": String,
    "UserCa": String,
    "IsEnterpriseSecurityGroup": Boolean,
    "Period": Number,
    "MasterSystemDiskPerformanceLevel": String,
    "SocEnabled": Boolean,
    "TimeZone": String,
    "Platform": String,
    "PeriodUnit": String,    
    "MasterZoneIds": List,
    "WorkerZoneIds": List,
    "NodePools": List,
    "NodeNameMode": String,
    "SecurityHardeningOs": Boolean,
    "DeleteOptions": List
  }
}

屬性

屬性名稱

類型

必須

允許更新

描述

約束

Runtime

Map

容器運行時。

Runtime包括以下2個資訊:

  • name:容器運行時名稱。

  • version:容器運行時版本。

樣本:

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

關於容器運行時的選擇,請參見如何選擇Docker運行時、containerd運行時、或者安全沙箱運行時?。更多資訊,請參見Runtime屬性

CloudMonitorFlags

Boolean

是否安裝CloudMonitor外掛程式。

取值:

  • true:安裝。

  • false(預設值):不安裝。

ProxyMode

String

kube-proxy代理模式。

取值:

  • iptables(預設值)

  • ipvs

MasterInstanceTypes

List

Master節點ECS執行個體規格。

必須填寫3個ECS執行個體規格,ECS執行個體規格可以重複。

更多資訊,請參見執行個體規格類型系列

SnatEntry

Boolean

是否為網路設定SNAT。

取值:

  • 當已有專用網路可以訪問公網環境時:false。

  • 當已有專用網路不能訪問公網環境時:

    • true:配置SNAT,此時可以訪問公網環境。

    • false:不配置SNAT,此時不能訪問公網環境。

WorkerSystemDiskCategory

String

Worker節點系統硬碟類型。

取值:

  • cloud_efficiency(預設值):高效雲端硬碟。

  • cloud_ssd:SSD雲端硬碟。

  • cloud_essd:ESSD雲端硬碟。

WorkerVSwitchIds

List

Worker節點的交換器ID。

最多支援設定5個交換器ID。

VpcId

String

專用網路ID。

如果不設定,系統會自動建立專用網路,系統建立的專用網路網段為192.168.0.0/16。

VpcId和MasterVSwitchIds只能同時為空白或者同時指定。

Tags

List

叢集標籤。

最多可以設定20組標籤。

更多資訊,請參見Tags屬性

PodVswitchIds

List

Pod交換器列表。

您需要為每一個節點交換器指定至少一個相同可用性區域的Pod交換器,該Pod交換器不能跟節點交換器重複。

建議您選擇網段掩碼不大於19的交換器。

說明

當叢集列表(Addons)取值為網路組件,且採用Terway網路類型時,必須為叢集指定PodVswitchIds。

CpuPolicy

String

CPU策略。

當叢集版本為1.12.6及以上版本時該參數有效。取值:

  • static

  • none(預設值)

WorkerInstanceTypes

List

Worker節點ECS執行個體規格。

更多資訊,請參見執行個體規格類型系列

WorkerDataDisks

List

Worker資料盤類型、大小等配置。

只有在掛載Worker節點資料盤時有效。

更多資訊,請參見WorkerDataDisks屬性

LoginPassword

String

SSH登入密碼。

長度為8~30個字元,必須同時包含英文字母、數字和特殊字元,支援的特殊字元為:( )'~!@#$%^&*-+=|{ }[ ]:;< >,.?/-

說明

LoginPassword和KeyPair只能指定其中一個參數。

ContainerCidr

String

Pod網路位址區段。

當建立Flannel網路類型的叢集時,ContainerCidr為必填。ContainerCidr必須是有效私人網段,即以下網段及其子網:

  • 10.0.X.X/8

  • 172.16-31.0.0/12-16

  • 192.168.XX.XX/16

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

關於叢集網路規劃,請參見Kubernetes叢集網路規劃

SecurityHardeningOs

Boolean

阿里雲作業系統安全強化。

取值:

  • true:啟用安全強化作業系統。

  • false:關閉安全強化作業系統。

預設值:false。

NumOfNodes

Number

Worker節點數。

取值範圍:0~300。

預設值:3。

Name

String

叢集名稱。

長度為1~63個字元。可包含寫英文字母、漢字、數字和短劃線(-)。

WorkerSystemDiskSize

Number

Worker節點系統硬碟大小。

預設值:120。

單位:GiB。

NodePortRange

String

節點服務連接埠。

取值範圍:30,000~65,535中的兩個值,以短劃線(-)分隔。

預設值:30,000-65,535。

SshFlags

Boolean

是否開放公網SSH登入。

取值:

  • true:開放。

  • false(預設值):不開放。

Taint

List

給節點做汙點標記,通常用於Pods的調度策略。

若Pods上有相對應的容忍(tolerance)標記,則可以將容忍節點上的汙點調度到該節點。

MasterDataDisk

Boolean

Master節點是否掛載資料盤。

取值:

  • true:掛載資料盤。

  • false(預設值):不掛載資料盤。

MasterSystemDiskCategory

String

Master節點系統硬碟類型。

取值:

  • cloud_efficiency:高效雲端硬碟。

  • cloud_ssd:SSD雲端硬碟。

  • cloud_essd:ESSD雲端硬碟。

WorkerDataDisk

Boolean

Worker節點是否掛載資料盤。

取值:

  • true:掛載資料盤。

  • false(預設值):不掛載資料盤。

Addons

List

Kubernetes叢集安裝的組件列表。

取值:

  • 網路組件

    支援Flannel和Terway兩種網路類型,建立叢集時需二選一:

    • Flannel網路:[{"Name":"flannel","Config":""}]

    • Terway網路:[{"Name": "terway-eniip","Config": ""}]

  • 儲存群組件

    支援csi和flexvolume兩種類型:

    • csi:[{"Name":"csi-plugin","Config": ""},{"Name": "csi-provisioner","Config": ""}]

    • flexvolume:[{"Name": "flexvolume","Config": ""}]

  • 日誌組件(可選)

    說明

    如果不開啟Log Service,將無法使用叢集審計功能。

    • 使用已有SLS Project:[{"Name": "logtail-ds","Config": "{\"IngressDashboardEnabled\":\"true\",\"sls_project_name\":\"your_sls_project_name\"}"}]

    • 建立新的SLS Project:[{"Name": "logtail-ds","Config": "{\"IngressDashboardEnabled\":\"true\"}"}]

  • Ingress組件(可選)

    ACK專有版叢集預設安裝Ingress組件nginx-ingress-controller。

    • 安裝Ingress並且開啟公網:[{"Name":"nginx-ingress-controller","Config":"{\"IngressSlbNetworkType\":\"internet\"}"}]

    • 不安裝Ingress:[{"Name": "nginx-ingress-controller","Config": "","Disabled": true}]

  • 事件中心(可選,預設開啟)

    事件中心提供對Kubernetes事件的儲存、查詢、警示等能力。Kubernetes事件中心關聯的Logstore在90天內免費。更多資訊,請參見建立並使用K8s事件中心

    開啟事件中心:[{"Name":"ack-node-problem-detector","Config":"{\"sls_project_name\":\"your_sls_project_name\"}"}]

更多資訊,請參見Addons屬性

DisableRollback

Boolean

失敗是否復原。

取值:

  • true(預設值):失敗不復原。

  • false:失敗復原。

    說明

    如果選擇失敗復原,則會釋放建立過程中所產生的資源,不推薦使用。

ServiceCidr

String

服務網段。

不能和專用網路網段以及容器網段衝突。

當選擇系統自動建立專用網路時,預設使用172.19.0.0/20網段。

KubernetesVersion

String

叢集版本,與Kubernetes社區基準版本保持一致。建議選擇最新版本。

目前您可以建立兩種最新版本的叢集。關於ACK支援的Kubernetes版本,請參見【已下線】Kubernetes版本發布概覽

SecurityGroupId

String

叢集ECS執行個體所屬於的安全性群組ID。

KeyPair

String

金鑰組名稱。

KeyPair和LoginPassword只能指定其中一個參數。

MasterVSwitchIds

List

Master節點交換器ID。

必須指定3個交換器ID,交換器ID可以重複。為確保叢集的高可用性,推薦您選擇3個交換器。

EndpointPublicAccess

Boolean

是否開啟公網APIServer。

取值:

  • true:開啟公網APIServer。

  • false(預設值):僅建立私網APIServer。

MasterSystemDiskSize

Number

Master節點系統硬碟大小。

預設值:120。

單位:GiB。

MasterDataDisks

List

Master資料盤類型、大小等配置。

只有在掛載Master節點資料盤時有效。

更多資訊,請參見MasterDataDisks屬性

MasterCount

Number

Master執行個體個數。

取值:

  • 3(預設值)

  • 5

TimeoutMins

Number

叢集資源棧建立逾時時間。

預設值:60。

單位:分鐘。

ResourceGroupId

String

資源群組ID。

AutoRenewPeriod

Number

自動續借周期。

當ChargeType取值為PrePaid,且AutoRenew取值為true時,該參數有效。取值:

  • 當PeriodUnit取值為Week時:1、2、3。

  • 當PeriodUnit取值為Month時:1、2、3、6、12。

預設值:1。

MasterSystemDiskSnapshotPolicyId

String

備份主節點資料盤的策略ID。

FormatDisk

Boolean

是否將資料磁碟掛載到已建立的節點上,在已有的ECS執行個體中建立。

取值:

  • true:容器和鏡像的資料存放在資料磁碟上。磁碟上的未經處理資料將被覆蓋。掛載磁碟前請先備份資料。

  • false(預設值):不將容器和鏡像的資料存放區在資料磁碟上。

WorkerSystemDiskSnapshotPolicyId

String

用於備份工作節點資料盤的策略ID。

KeepInstanceName

Boolean

是否保留叢集中使用的現有ECS執行個體的名稱。

取值:

  • true(預設值):保留。

  • false:不保留。新名稱由系統分配。

DeletionProtection

Boolean

是否啟用刪除保護功能。

啟用刪除保護後,叢集不能被直接刪除。

取值:

  • true:啟用。

  • false(預設值):禁用。

OsType

String

作業系統的類型。

取值:

  • Windows

  • Linux(預設值)

LoadBalancerSpec

String

Server Load Balancer執行個體規格。

取值:

  • slb.s1.small

  • slb.s2.small

  • slb.s2.medium

  • slb.s3.small

  • slb.s3.medium

  • slb.s3.large

AutoRenew

Boolean

是否自動續約。

當ChargeType取值為PrePaid時該參數有效。

取值:

  • true(預設值):自動續期。

  • false:不自動續期。

ChargeType

String

付費類型。

取值:

  • PrePaid:預付費。

  • PostPaid(預設值):隨用隨付。

NodeCidrMask

String

可分配給節點的最大IP地址數量。

數量由指定的pod CIDR決定。該參數僅在叢集使用Flannel外掛程式時生效。

預設值:25。

UserData

String

建立ECS執行個體時傳遞的使用者資料。

內容需要限制在16 KB以內。無需使用Base64轉碼,特殊字元需要使用轉義符。

UserCa

String

叢集的CA。

如果選中自訂叢集CA,可以將CA認證添加到Kubernetes叢集中,加強服務端和用戶端之間資訊互動的安全性。

IsEnterpriseSecurityGroup

Boolean

是否建立進階安全性群組。

當SecurityGroupId為空白時,該參數生效。取值:

  • true:建立。安裝了Terway的叢集,必須建立進階安全性群組。

  • false(預設值):不建立。

Period

Number

購買資源的時間長度。

當ChargeType為PrePaid時,該參數生效且為必選參數。取值:

  • 當PeriodUnit為Week時:1~4。

  • 當PeriodUnit為Month時:1~9、12、24、36、48、60。

預設值:1。

MasterSystemDiskPerformanceLevel

String

主節點使用的增強型SSD硬碟的效能層級。

取值:

  • PL0

  • PL1

  • PL2

  • PL3

SocEnabled

Boolean

是否啟用基於分級保護的加固。

取值:

  • true:啟用。

  • false(預設值):禁用。

MasterZoneIds

List

Master節點的交換器可用性區域資訊。

WorkerZoneIds

List

Worker節點的交換器可用性區域資訊。

TimeZone

String

叢集的時區。

Platform

String

作業系統的發布版本。

取值:

  • CentOS(預設值)

  • AliyunLinux

  • QbootAliyunLinux

  • Qboot

  • Windows

  • WindowsCore

PeriodUnit

String

購買資源的時間長度。

當ChargeType為PrePaid時該參數有效。取值:

  • Week:周。

  • Month(預設值):月。

NodePools

List

節點池資訊。

更多資訊,請參見NodePools屬性

NodeNameMode

String

自訂節點名。

節點名稱由三部分組成:首碼+節點IP地址子串+尾碼。

  • 首碼和尾碼均可由半形句號(.)分隔的一個或多個部分組成,每個部分可以使用小寫英文字母、數字和短劃線(-),節點名稱首尾必須為小寫英文字母或數字。

  • IP位址區段長度指截取節點IP地址末尾的位元,取值範圍為5~12。

DeleteOptions

List

叢集關聯資源的刪除選項。

更多資訊,請參見DeleteOptions屬性

NodePools文法

"NodePools": [
  {
    "ScalingGroup": Map,
    "KubernetesConfig": Map,
    "NodePoolInfo": Map,
    "Count": Integer
  }
]

NodePools屬性

屬性名稱

類型

必須

允許更新

描述

約束

ScalingGroup

Map

節點池擴容組配置。

更多資訊,請參見ScalingGroup屬性

KubernetesConfig

Map

叢集相關配置。

更多資訊,請參見KubernetesConfig屬性

NodePoolInfo

Map

節點池配置。

更多資訊,請參見NodePoolInfo屬性

Count

Integer

節點池節點數量。

ScalingGroup文法

"ScalingGroup": {
  "RdsInstances": List,
  "IsEnterpriseSecurityGroup": Boolean,
  "VSwitchIds": List,
  "InternetMaxBandwidthOut": Integer,
  "DataDisks": List,
  "Period": Integer,
  "InternetChargeType": String,
  "KeyPair": String,
  "SystemDiskPerformanceLevel": String,
  "ImageId": String,
  "Platform": String,
  "InstanceTypes": List,
  "SystemDiskCategory": String,
  "PeriodUnit": String,
  "LoginPassword": String,
  "InstanceChargeType": String,
  "SystemDiskSize": Integer,
  "Tags": List,
  "ZoneIds": List
}

ScalingGroup屬性

屬性名稱

類型

必須

允許更新

描述

約束

RdsInstances

List

RDS執行個體ID。

IsEnterpriseSecurityGroup

Boolean

自動建立企業級安全性群組。

取值:

  • true:建立並使用企業級安全性群組。

  • false:不使用企業級安全性群組。

VSwitchIds

List

虛擬交換器ID列表。

InternetMaxBandwidthOut

Integer

節點公網IP出頻寬最大值。

單位:Mbps。

取值範圍:1~100。

DataDisks

List

節點池節點資料盤配置。

更多資訊,請參見DataDisks屬性

Period

Integer

節點池節點訂用帳戶時間長度。

  • 當InstanceChargeType取值為PrePaid時,本屬性才生效且為必選值。

  • 當period_unit取值為Month時,period取值範圍:{ 1, 2, 3, 6, 12},預設值:1。

InternetChargeType

String

公網IP收費類型。

取值:

  • PayByBandwidth:按固定頻寬計費。

  • PayByTraffic:按使用流量計費。

KeyPair

String

免密登入金鑰組名稱。

KeyPair和LoginPassword只能選擇其中之一。

SystemDiskPerformanceLevel

String

節點系統硬碟磁碟效能。

只對ESSD磁碟生效。

ImageId

String

自訂鏡像ID。

預設使用系統提供的鏡像。

Platform

String

作業系統發行版。

取值:

  • CentOS

  • AliyunLinux(預設值)

  • Windows

  • WindowsCore

InstanceTypes

List

執行個體規格。

SystemDiskCategory

String

節點系統硬碟類型。

取值:

  • cloud_efficiency(預設值):高效雲端硬碟。

  • cloud_ssd:SSD雲端硬碟。

  • cloud_essd:ESSD雲端硬碟。

PeriodUnit

String

節點池節點付費周期。

  • 當InstanceChargeType指定為PrePaid時,需要指定周期。

  • Month:以月為計時單位。

LoginPassword

String

SSH登入密碼。

KeyPair和LoginPassword只能選擇其中之一。

密碼規則為8~30個字元,且至少同時包含大小寫字母、數字和特殊符號。

InstanceChargeType

String

節點池節點付費類型。

取值:

  • PrePaid:預付費。

  • PostPaid(預設值):隨用隨付。

SystemDiskSize

Integer

節點系統硬碟大小。

單位:GiB。

取值範圍:40~500。

Tags

List

僅為ECS執行個體添加標籤。

更多資訊,請參見Tags屬性

ZoneIds

List

可用性區域列表。

DataDisks文法

"DataDisks": [
  {
    "AutoSnapshotPolicyId": String,
    "Encrypted": Boolean,
    "Size": Integer,
    "Category": String,
    "PerformanceLevel": String
  }
]

DataDisks屬性

屬性名稱

類型

必須

允許更新

描述

約束

AutoSnapshotPolicyId

String

選擇自動快照策略ID。

雲端硬碟會按照快照策略自動備份。

Encrypted

Boolean

是否對資料盤加密。

取值:

  • true:對資料盤加密。

  • false(預設值):不對資料盤加密。

Size

Integer

資料盤大小。

單位:GiB。

取值範圍:40~32768。

預設值:120。

Category

String

資料盤類型。

取值:

  • cloud:普通雲端硬碟。

  • cloud_efficiency(預設值):高效雲端硬碟。

  • cloud_ssd:SSD雲端硬碟。

  • cloud_essd:ESSD雲端硬碟。

PerformanceLevel

String

節點資料盤磁碟效能等級。

僅對ESSD磁碟生效,磁碟效能等級和磁碟大小有關。

更多資訊,請參見ESSD雲端硬碟

KubernetesConfig文法

"KubernetesConfig": {
  "Runtime": String,
  "RuntimeVersion": String,
  "CpuPolicy": String,
  "Labels": List,
  "NodeNameMode": String,
  "Taints": List
}

KubernetesConfig屬性

屬性名稱

類型

必須

允許更新

描述

約束

Runtime

String

容器運行時。

RuntimeVersion

String

容器運行時版本。

CpuPolicy

String

節點CPU管理原則。

當叢集版本在1.12.6及以上時支援以下兩種策略:

  • static:允許為節點上具有某些資源特徵Pod增強其CPU親和性和獨佔性。

  • none(預設值):表示啟用現有的預設CPU親和性方案。

Labels

List

節點標籤。

為Kubernetes叢集節點添加標籤。

更多資訊,請參見Labels屬性

NodeNameMode

String

自訂節點名。

節點名稱由三部分組成:首碼+節點IP地址子串+尾碼。

  • 首碼和尾碼均可由半形句號(.)分隔的一個或多個部分組成,每個部分可以使用小寫英文字母、數字和短劃線(-),節點名稱首尾必須為小寫英文字母和數字。

  • IP位址區段長度指截取節點IP地址末尾的位元,取值範圍為5~12。

Taints

List

汙點配置。

更多資訊,請參見Taints屬性

Labels文法

"Labels": {
 "Value": String,
 "Key": String
}

Labels屬性

屬性名稱

類型

必須

允許更新

描述

約束

Value

String

標籤值。

Key

String

標籤鍵。

Taints文法

"Taints": [{
 "Value": String,
 "Effect": String,
 "Key": String
}]

Taints屬性

屬性名稱

類型

必須

允許更新

描述

約束

Value

String

汙點值。

Effect

String

調度策略。

取值:

  • NoSchedule(預設值):不能容忍,但僅影響調度過程,已被調度的Pod不受影響,僅對新增加的Pod生效。

  • NoExecute:不能容忍,當汙點變動時,Pod對象會被驅逐。

  • PreferNoSchedule:柔性約束,節點現存Pod不受影響。

Key

String

汙點名稱。

NodePoolInfo文法

"NodePoolInfo": {
  "Name": String,
  "Type": String,
  "ResourceGroupId": String
}

NodePoolInfo屬性

屬性名稱

類型

必須

允許更新

描述

約束

Name

String

節點池名稱。

Type

String

節點池類型。

取值:

  • edge:edge節點池。

  • ess: ess節點池。

ResourceGroupId

String

節點池所屬資源群組。

Tags文法

"Tags": [
  {
    "Key": String,
    "Value": String
  }
]

Tags屬性

屬性名稱

類型

必須

允許更新

描述

約束

Key

String

標籤鍵。

長度為1~64個字元,不能以aliyunacs:https://http://開頭。

Value

String

標籤值。

長度為0~128個字元,不能以aliyunacs:https://http://開頭。

MasterDataDisks文法

"MasterDataDisks": [
  {
    "Category": String,
    "Size": Number
  }
]

MasterDataDisks屬性

屬性名稱

類型

必須

允許更新

描述

約束

Category

String

Master節點資料盤類型。

取值:

  • cloud:普通雲端硬碟。

  • cloud_ssd:SSD雲端硬碟。

  • cloud_efficiency(預設值):高效雲端硬碟。

  • cloud_essd:ESSD雲端硬碟。

Size

Number

Master節點資料盤大小。

取值範圍:40~32,768。

單位:GiB。

WorkerDataDisks文法

"WorkerDataDisks": [
  {
    "Category": String,
    "Size": Number
  }
]

WorkerDataDisks屬性

屬性名稱

類型

必須

允許更新

描述

約束

Category

String

Worker節點資料盤類型。

取值:

  • cloud:普通雲端硬碟。

  • cloud_ssd:SSD雲端硬碟。

  • cloud_efficiency(預設值):高效雲端硬碟。

  • cloud_essd:ESSD雲端硬碟。

Size

Number

資料盤大小。

取值範圍:40~32,768。

單位:GiB。

Addons文法

"Addons": [
  {
    "Disabled": Boolean,
    "Config": String,
    "Name": String
  }
]

Addons屬性

屬性名稱

類型

必須

允許更新

描述

約束

Disabled

Boolean

是否禁止預設安裝。

取值:

  • true:禁止。

  • false:允許。

Config

String

外掛程式的配置。

Name

String

外掛程式的名稱。

Runtime文法

"Runtime": {
    "Name": String,
    "Version": String
  }

Runtime屬性

屬性名稱

類型

必須

允許更新

描述

約束

Name

String

容器運行時名稱。

取值:

  • containerd

  • docker(預設值)

  • Sandboxed-Container.runv

Version

String

容器運行時版本。

取值:

  • 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:通過 service 建立的 SLB 資源,預設刪除,可選擇保留

  • ALB:ALB Ingress Controller 建立的 ALB 資源,預設保留,可選擇刪除

  • SLS_Data:叢集日誌功能所使用的Log Service Project,預設保留,可選擇刪除

  • SLS_ControlPlane:託管版叢集控制平面日誌所使用的Log Service Project,預設保留,可選擇刪除

  • PrivateZone:ACK Serverless 叢集建立的 PrivateZone 資源,預設保留,可選擇刪除

傳回值

Fn::GetAtt

  • ClusterId:叢集ID。

  • TaskId:任務ID。系統自動分配,使用者查詢任務狀態。

  • WorkerRamRoleName:Worker節點RAM角色名稱。

  • ScalingGroupId:伸縮組ID。

  • DefaultUserKubeConfig:使用者預設的Kubernetes配置,用於配置叢集憑據。

  • Nodes:叢集節點列表。

  • ScalingRuleId:伸縮規則ID。

  • PrivateUserKubConfig:使用者專有的Kubernetes配置,用於配置叢集憑據。

  • ScalingConfigurationId:伸縮配置ID。

  • APIServerSLBId:API伺服器負載平衡ID。

  • IngressSLBId:Ingress負載平衡ID。

樣本

YAML

ROSTemplateFormatVersion: '2015-09-01'
Description: Test Create KubernetesCluster
Parameters:
  SystemDiskCategory:
    Type: String
    Description: Category of system disk. Default is cloud_efficiency. support cloud|cloud_efficiency|cloud_ssd|cloud_essd|ephemeral_ssd.Old instances will not be changed.
    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
      WorkerSystemDiskCategory:
        Ref: SystemDiskCategory
      WorkerVSwitchIds:
        - Ref: VSwitch1
      VpcId:
        Ref: Vpc
      WorkerInstanceTypes:
        - ecs.g6e.large
      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": "Test Create KubernetesCluster",
  "Parameters": {
    "SystemDiskCategory": {
      "Type": "String",
      "Description": "Category of system disk. Default is cloud_efficiency. support cloud|cloud_efficiency|cloud_ssd|cloud_essd|ephemeral_ssd.Old instances will not be changed.",
      "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"
        },
        "WorkerSystemDiskCategory": {
          "Ref": "SystemDiskCategory"
        },
        "WorkerVSwitchIds": [
          {
            "Ref": "VSwitch1"
          }
        ],
        "VpcId": {
          "Ref": "Vpc"
        },
        "WorkerInstanceTypes": [
          "ecs.g6e.large"
        ],
        "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"
        ]
      }
    }
  }
}