全部產品
Search
文件中心

Resource Orchestration Service:ALIYUN::CS::ManagedEdgeKubernetesCluster

更新時間:Dec 26, 2025

ALIYUN::CS::ManagedEdgeKubernetesCluster類型用於建立Kubernetes邊緣託管版叢集執行個體。

文法

{ 
  "Type": "ALIYUN::CS::ManagedEdgeKubernetesCluster",
  "Properties": {
    "Profile": String,
    "VpcId": String,
    "ServiceCidr": String,
    "Name": String,
    "Tags": List,
    "ProxyMode": String,
    "SnatEntry": Boolean,
    "LoginPassword": String,
    "KeyPair": String,
    "Addons": List,
    "EndpointPublicAccess": Boolean,
    "TimeoutMins": Number,
    "ClusterSpec": String,
    "ContainerCidr": String,
    "CloudMonitorFlags": Boolean,
    "IsEnterpriseSecurityGroup": Boolean,
    "NodeCidrMask": String,
    "DeletionProtection": Boolean,
    "ResourceGroupId": String,
    "RrsaConfig": Map,
    "MaintenanceWindow": Map,
    "ZoneIds": List,
    "VSwitchIds": List,
    "NodePools": List,
    "EncryptionProviderKey": String,
    "KubernetesVersion": String,
    "IpStack": String
  }
}

屬性

屬性名稱

類型

必須

允許更新

描述

約束

Name

String

叢集名稱。

以英文字母或數字開頭,可包含英文字母、漢字、數字和短劃線(-)。

Addons

List

叢集安裝的組件列表。

取值:

  • 網路組件

    支援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組件(可選)

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

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

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

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

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

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

更多資訊,請參見Addons屬性

CloudMonitorFlags

Boolean

是否安裝CloudMonitor外掛程式。

取值:

  • true:安裝。

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

ClusterSpec

String

託管版叢集類型。

取值:

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

  • ack.standard(預設值):標準託管叢集,即ACK@Edge標準版叢集。

ContainerCidr

String

Pod網路位址區段。

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

  • 10.0.0.0/8

  • 172.16-31.0.0/12-16

  • 192.168.0.0/16

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

關於叢集網路規劃,請參見ACK託管叢集網路規劃

RrsaConfig

Map

RRSA 的配置。

更多資訊,請參考RrsaConfig屬性

DeletionProtection

Boolean

是否啟用刪除保護功能。

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

  • true:啟用。

  • false(預設值):禁用。

EndpointPublicAccess

Boolean

是否開啟公網API Server。

取值:

  • true(預設值):開啟公網API Server。

  • false:僅開啟私網API Server。

IsEnterpriseSecurityGroup

Boolean

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

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

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

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

KeyPair

String

金鑰組名稱。

LoginPassword和KeyPair二者只能指定一個參數。

LoginPassword

String

登入密碼。

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

LoginPassword和KeyPair二者只能指定一個參數。

NodeCidrMask

String

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

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

預設值:25。

Profile

String

邊緣叢集標識。

預設值:Edge。

ProxyMode

String

kube-proxy代理模式。

取值:

  • iptables(預設值)

  • ipvs

ResourceGroupId

String

叢集所屬的資源群組ID。

ServiceCidr

String

服務網段。

不能與專用網路網段以及容器網段衝突。當選擇系統自動建立專用網路時,預設使用172.19.0.0/20網段。

SnatEntry

Boolean

是否為網路設定SNAT。

取值:

  • true:配置。

  • false(預設值):不配置。

說明

如果使用自動建立的專用網路,則必須設定為true。如果使用已有非系統自動建立的專用網路,則需要根據是否具備出網能力來設定。

MaintenanceWindow

Map

叢集維護視窗配置。

更多資訊,請參見MaintenanceWindow屬性

Tags

List

標籤。

最多可以設定20個標籤。

更多資訊,請參見Tags屬性

TimeoutMins

Number

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

預設值:60。

單位:分鐘。

VSwitchIds

List

Worker node綁定的交換器。

VpcId

String

專用網路ID。

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

VpcId和VSwitchIds只能同時為空白或者同時都設定對應的值。

ZoneIds

List

可用性區域列表。

NodePools

List

節點池資訊。

更多資訊,請參見NodePools屬性

EncryptionProviderKey

String

由Key Management Service管理的密鑰ID。

該密鑰用於加密資料磁碟。您只能在專業託管的Kubernetes叢集中使用KMS。

IpStack

String

叢集的IP協議棧。

取值:

  • ipv4

  • ipv6

KubernetesVersion

String

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

目前您可以建立兩種最新版本的叢集。關於ACK支援的Kubernetes版本,請參見版本說明

MaintenanceWindow文法

"MaintenanceWindow": {
  "Enable": Boolean,
  "MaintenanceTime": String,
  "Duration": String,
  "WeeklyPeriod": String,
  "Recurrence": String
}

MaintenanceWindow屬性

屬性名稱

類型

必須

允許更新

描述

約束

Duration

String

維護時間長度。

取值範圍[1,24],單位為小時。

預設值:3h。

Enable

Boolean

是否開啟維護視窗。

取值:

  • true:開啟維護視窗。

  • false:不開啟維護視窗。

預設值:false

MaintenanceTime

String

維護起始時間。

RFC3339 標準格式。

WeeklyPeriod

String

維護周期。

多個值用英文半形逗號(,)分隔。取值:{Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday}

預設值:Thursday

Recurrence

String

使用 RFC5545 Recurrence Rule 文法定義的維護視窗迴圈規則。

目前僅支援 FREQ=WEEKLY,且不支援指定 COUNT 或 UNTIL。

NodePools文法

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

NodePools屬性

屬性名稱

類型

必須

允許更新

描述

約束

ScalingGroup

Map

節點池擴容組配置。

更多資訊,請參見ScalingGroup屬性

KubernetesConfig

Map

叢集相關配置。

更多資訊,請參見KubernetesConfig屬性

NodePoolInfo

Map

節點池配置。

更多資訊,請參見NodePoolInfo屬性

NodePoolInfo文法

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

NodePoolInfo屬性

屬性名稱

類型

必須

允許更新

描述

約束

ResourceGroupId

String

節點池所屬資源群組。

Name

String

節點池名稱。

Type

String

節點池類型

取值:

  • ess: ess節點池。

  • edge:edge節點池。

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。

例如,節點IP地址為:192.168.XX.XX,指定首碼為aliyun.com,IP位址區段長度為5,尾碼為test,則節點名稱為aliyun.com0****test

Taints

List

汙點配置。

更多資訊,請參見Taints屬性

Labels文法

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

Labels屬性

屬性名稱

類型

必須

允許更新

描述

約束

Key

String

標籤鍵。

Value

String

標籤值。

Taints文法

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

Taints屬性

屬性名稱

類型

必須

允許更新

描述

約束

Key

String

汙點名稱。

Value

String

汙點值。

Effect

String

調度策略。

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

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

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

ScalingGroup文法

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

ScalingGroup屬性

屬性名稱

類型

必須

允許更新

描述

約束

InstanceTypes

List

執行個體規格。

SystemDiskSize

Integer

節點系統硬碟大小。

單位:GiB。

取值範圍:40~500。

VSwitchIds

List

虛擬交換器ID列表。

SocEnabled

Boolean

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

取值:

  • true:啟用。

  • false(預設值):禁用。

ImageType

String

作業系統鏡像類型。

InstancePatterns

List

執行個體屬性配置。

更多資訊,請參考InstancePatterns屬性

SecurityHardeningOs

Boolean

阿里雲 OS 安全強化。

取值:

  • true:開啟阿里雲 OS 安全強化。

  • false:不開啟阿里雲 OS 安全強化。

預設值:false

DesiredSize

Integer

節點池期望節點數。

DataDisks

List

節點池節點資料盤配置。

更多資訊,請參見DataDisks屬性

ImageId

String

自訂鏡像ID。

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

InstanceChargeType

String

節點池節點付費類型。

取值:

  • PrePaid:預付費。

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

InternetChargeType

String

公網IP收費類型。

取值:

  • PayByBandwidth:按固定頻寬計費。

  • PayByTraffic:按使用流量計費。

InternetMaxBandwidthOut

Integer

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

單位:Mbps。

取值範圍:1~100。

IsEnterpriseSecurityGroup

Boolean

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

取值:

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

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

KeyPair

String

免密登入金鑰組名稱。

KeyPair和LoginPassword屬性二選一。

LoginPassword

String

SSH登入密碼。

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

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

Period

Integer

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

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

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

預設值:1。

PeriodUnit

String

節點池節點付費周期。

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

Month:以月為計時單位。

RdsInstances

List

RDS執行個體ID。

SystemDiskCategory

String

節點系統硬碟類型。

取值:

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

  • cloud_ssd:SSD雲端硬碟。

  • cloud_essd:ESSD雲端硬碟。

SystemDiskPerformanceLevel

String

節點系統硬碟磁碟效能。

只對ESSD磁碟生效。

Tags

List

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

更多資訊,請參見Tags屬性

ZoneIds

List

可用性區域列表。

RrsaConfig文法

"RrsaConfig": 
  {
    "Enabled": Boolean
  }

RrsaConfig屬性

屬性名稱

類型

必須

允許更新

描述

約束

Enabled

Boolean

是否啟用服務賬戶的 RAM 角色(RRSA)功能。

取值:

  • true:啟用

  • false:不啟用

Tags文法

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

Tags屬性

屬性名稱

類型

必須

允許更新

描述

約束

Key

String

標籤鍵。

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

Value

String

標籤值。

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

Addons文法

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

Addons屬性

屬性名稱

類型

必須

允許更新

描述

約束

Name

String

組件名稱。

Config

String

組件配置。

Disabled

Boolean

是否禁止預設安裝組件。

取值:

  • true:禁止預設安裝組件。

  • false(預設值):允許預設安裝組件。

Version

String

Addon外掛程式版本。

預設取最新版本。

InstancePatterns文法

"InstancePatterns": [
  {
    "CpuArchitectures": List,
    "MaxCpuCores": Integer,
    "MinMemorySize": Integer,
    "Memory": Integer,
    "InstanceFamilyLevel": String,
    "MinCpuCores": Integer,
    "Cores": Integer,
    "InstanceTypeFamilies": List,
    "InstanceCategories": List,
    "ExcludedInstanceTypes": List,
    "MaxMemorySize": Integer
  }
]

InstancePatterns屬性

屬性名稱

類型

必須

允許更新

描述

約束

CpuArchitectures

List

執行個體的 CPU 架構。

取值:

  • X86

  • ARM

MaxCpuCores

Integer

執行個體規格的最大 vCPU 核心數目

MinMemorySize

Integer

執行個體規格的最小記憶體。

單位:GiB。

Memory

Integer

執行個體規格的記憶體大小。

單位為 GiB。

InstanceFamilyLevel

String

執行個體規格類型系列層級。

MinCpuCores

Integer

執行個體規格的最小 vCPU 核心數目。

Cores

Integer

執行個體規格的 vCPU 核心數目。

InstanceTypeFamilies

List

指定執行個體規格類型系列。

InstanceCategories

List

執行個體分類。

ExcludedInstanceTypes

List

需要排除的執行個體規格。

MaxMemorySize

Integer

執行個體規格的最大記憶體。

單位:GiB。

DataDisks文法

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

DataDisks屬性

屬性名稱

類型

必須

允許更新

描述

約束

AutoSnapshotPolicyId

String

選擇自動快照策略ID,雲端硬碟會按照快照策略自動備份。

預設值為空白,表示不自動備份。

Category

String

資料盤類型。

取值:

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

  • cloud_ssd:SSD雲端硬碟。

  • cloud_essd:ESSD雲端硬碟。

Encrypted

Boolean

是否對資料盤加密。

取值:

  • true:對資料盤加密。

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

PerformanceLevel

String

設定雲端硬碟的效能等級。

取值:

  • PL1:單盤最高隨機讀寫IOPS 5萬。

  • PL2:單盤最高隨機讀寫IOPS 10萬。

  • PL3:單盤最高隨機讀寫IOPS 100萬。

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

Size

Integer

資料盤大小。

取值範圍:40~32768。

預設值:120。

單位:GiB。

Categories

List

資料磁碟類型的列表。

傳回值

Fn::GetAtt

  • ClusterId:叢集ID。

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

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

  • ScalingRuleId:伸縮規則ID。

  • ScalingGroupId:伸縮組ID。

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

  • ScalingConfigurationId:伸縮配置ID。

  • Nodes:叢集節點列表。

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

  • IngressSLBId:Ingress負載平衡ID。

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

樣本

ROSTemplateFormatVersion: '2015-09-01'
Description: Test ManagedEdgeKubernetesCluster
Parameters:
  VSwitchZoneId:
    Type: String
    AssociationProperty: ALIYUN::ECS::Instance::ZoneId
    Description: Availability ID for existing switches
    Label: VSwitch Zone ID
  VpcId:
    Type: String
    Default: Null
    AssociationProperty: ALIYUN::ECS::VPC::VPCId
    Description: Please search the ID starts with (vpc-xxx)from console-Virtual Private Cloud
    Label: Existing VPC ID
  VSwitchId:
    Type: String
    Default: Null
    AssociationProperty: ALIYUN::ECS::VSwitch::VSwitchId
    Description: Please search the business VSwitch ID starts with(vsw-xxx)from console-Virtual Private Cloud-VSwitches
    Label: VSwitch ID
    AssociationPropertyMetadata:
      ZoneId: ${VSwitchZoneId}
      VpcId: ${VpcId}
  ClusterName:
    Type: String
    Default: mytest
  Password:
    Type: String
    Description: Server login password, Length 8-30, must contain three(Capital letters, lowercase letters, numbers, ()`~!@#$%^*_-+=|{}[]:;,.? Special symbol in).
    MinLength: 8
    Label: Instance Password
    NoEcho: true
    MaxLength: 30
    ConstraintDescription: Length 8-30, must contain three(Capital letters, lowercase letters, numbers, ()`~!@#$%^*_-+=|{}[]:;',.?/ Special symbol in).
  NumOfNodes:
    Type: Number
    Default: 1
    MinValue: 0
    MaxValue: 300
Resources:
  Cluster:
    Type: ALIYUN::CS::ManagedEdgeKubernetesCluster
    Properties:
      NumOfNodes:
        Ref: NumOfNodes
      Name:
        Ref: ClusterName
      LoginPassword:
        Ref: Password
      VpcId:
        Ref: VpcId
      VSwitchIds:
        - Ref: VSwitchId
      ServiceCidr: 172.19.0.0/20
Outputs:
  ClusterId:
    Value:
      Fn::GetAtt:
        - Cluster
        - ClusterId
  TaskId:
    Value:
      Fn::GetAtt:
        - Cluster
        - TaskId
{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Description": "Test ManagedEdgeKubernetesCluster",
  "Parameters": {
    "VSwitchZoneId": {
      "Type": "String",
      "AssociationProperty": "ALIYUN::ECS::Instance::ZoneId",
      "Description": "Availability ID for existing switches",
      "Label": "VSwitch Zone ID"
    },
    "VpcId": {
      "Type": "String",
      "Default": null,
      "AssociationProperty": "ALIYUN::ECS::VPC::VPCId",
      "Description": "Please search the ID starts with (vpc-xxx)from console-Virtual Private Cloud",
      "Label": "Existing VPC ID"
    },
    "VSwitchId": {
      "Type": "String",
      "Default": null,
      "AssociationProperty": "ALIYUN::ECS::VSwitch::VSwitchId",
      "Description": "Please search the business VSwitch ID starts with(vsw-xxx)from console-Virtual Private Cloud-VSwitches",
      "Label": "VSwitch ID",
      "AssociationPropertyMetadata": {
        "ZoneId": "${VSwitchZoneId}",
        "VpcId": "${VpcId}"
      }
    },
    "ClusterName": {
      "Type": "String",
      "Default": "mytest"
    },
    "Password": {
      "Type": "String",
      "Description": "Server login password, Length 8-30, must contain three(Capital letters, lowercase letters, numbers, ()`~!@#$%^*_-+=|{}[]:;,.? Special symbol in).",
      "MinLength": 8,
      "Label": "Instance Password",
      "NoEcho": true,
      "MaxLength": 30,
      "ConstraintDescription": "Length 8-30, must contain three(Capital letters, lowercase letters, numbers, ()`~!@#$%^*_-+=|{}[]:;',.?/ Special symbol in)."
    },
    "NumOfNodes": {
      "Type": "Number",
      "Default": 1,
      "MinValue": 0,
      "MaxValue": 300
    }
  },
  "Resources": {
    "Cluster": {
      "Type": "ALIYUN::CS::ManagedEdgeKubernetesCluster",
      "Properties": {
        "NumOfNodes": {
          "Ref": "NumOfNodes"
        },
        "Name": {
          "Ref": "ClusterName"
        },
        "LoginPassword": {
          "Ref": "Password"
        },
        "VpcId": {
          "Ref": "VpcId"
        },
        "VSwitchIds": [
          {
            "Ref": "VSwitchId"
          }
        ]
        "ServiceCidr": "172.19.0.0/20"
      }
    }
  },
  "Outputs": {
    "ClusterId": {
      "Value": {
        "Fn::GetAtt": [
          "Cluster",
          "ClusterId"
        ]
      }
    },
    "TaskId": {
      "Value": {
        "Fn::GetAtt": [
          "Cluster",
          "TaskId"
        ]
      }
    }
  }
}