全部产品
Search
文档中心

Resource Orchestration Service:ALIYUN::CS::ASKCluster

更新时间:Nov 11, 2025

Tipe sumber daya ALIYUN::CS::ASKCluster digunakan untuk membuat ACK Serverless cluster.

Sintaksis

{
  "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
  }
}

Properti

Properti

Tipe

Diperlukan

Dapat Diperbarui

Deskripsi

Batasan

KubernetesVersion

String

Tidak

Ya

Versi kluster.

Tidak ada

EndpointPublicAccess

Boolean

Tidak

Tidak

Menentukan apakah akan mengaktifkan akses publik ke server API.

Nilai yang valid:

  • true (default): Mengaktifkan akses publik ke server API.

  • false: Menonaktifkan akses publik. Jika Anda menyetel parameter ini ke false, Anda tidak dapat mengakses server API kluster dari Internet.

ZoneId

String

Tidak

Tidak

ID zona wilayah tempat kluster berada.

Saat membuat ACK Serverless cluster, jika Anda tidak menentukan VpcId dan VSwitchIds, Anda harus menentukan ZoneId untuk kluster. Hal ini memungkinkan sistem membuat sumber daya virtual private cloud (VPC) secara otomatis di zona yang ditentukan.

ResourceGroupId

String

Tidak

Ya

ID grup sumber daya tempat kluster termasuk.

Tidak ada

VSwitchIds

List

Tidak

Tidak

Daftar ID vSwitch tempat node kluster berada.

Anda dapat menentukan hingga tiga vSwitch.

Catatan

Parameter ini wajib saat membuat kluster ACK yang dikelola tanpa node.

SecurityGroupId

String

Tidak

Tidak

ID grup keamanan tempat instance ECS dalam kluster berada.

Tidak ada

Addons

List

Tidak

Tidak

Daftar komponen kluster.

Tidak ada

DeletionProtection

Boolean

Tidak

Ya

Menentukan apakah akan mengaktifkan perlindungan penghapusan untuk kluster. Ini mencegah kluster dihapus secara tidak sengaja melalui konsol atau dengan memanggil operasi API.

Nilai yang valid:

  • true: Mengaktifkan perlindungan penghapusan. Anda tidak dapat menghapus kluster melalui konsol atau dengan memanggil operasi API.

  • false (default): Menonaktifkan perlindungan penghapusan. Anda dapat menghapus kluster melalui konsol atau dengan memanggil operasi API.

DeleteOptions

List

Tidak

Ya

Opsi penghapusan untuk sumber daya yang terkait dengan kluster.

Untuk informasi selengkapnya, lihat properti DeleteOptions.

ClusterSpec

String

Tidak

Tidak

Tipe kluster ACK managed.

Nilai yang valid:

  • ack.pro.small: Kluster ACK Pro.

  • ack.standard (default): Kluster ACK standar.

Catatan

Jika Anda membiarkan parameter ini kosong, kluster ACK standar akan dibuat.

Untuk informasi lebih lanjut, lihat Ikhtisar kluster ACK Pro.

Name

String

Ya

Tidak

Nama kluster.

Nama harus terdiri dari 1 hingga 63 karakter. Nama dapat berisi angka, karakter Tionghoa, huruf, dan tanda hubung (-). Nama tidak boleh dimulai dengan tanda hubung (-).

TimeZone

String

Tidak

Tidak

Zona waktu kluster.

Tidak ada

EncryptionProviderKey

String

Tidak

Tidak

ID kunci yang dikelola oleh Key Management Service (KMS).

Kunci ini digunakan untuk mengenkripsi disk data. Anda hanya dapat menggunakan KMS pada kluster ACK Pro.

ServiceDiscoveryTypes

List

Tidak

Tidak

Jenis penemuan layanan dalam kluster. Parameter ini menentukan metode penemuan layanan dalam ACK Serverless cluster.

Nilai yang valid:

  • CoreDNS: Menggunakan CoreDNS, komponen penemuan layanan standar Kubernetes. Anda perlu men-deploy satu set kontainer untuk penguraian DNS. Secara default, dua instance ECI dengan 0,25 vCPU dan memori 512 MiB digunakan.

  • PrivateZone: Menggunakan Alibaba Cloud PrivateZone untuk menyediakan penemuan layanan. Anda perlu mengaktifkan PrivateZone. Fitur ini dinonaktifkan secara default.

VpcId

String

Tidak

Tidak

VPC yang digunakan oleh kluster.

Tidak ada

ServiceCidr

String

Tidak

Tidak

Blok CIDR untuk layanan.

Blok CIDR dapat berupa 10.0.0.0/16-24, 172.16-31.0.0/16-24, atau 192.168.0.0/16-24. Blok CIDR tidak boleh tumpang tindih dengan blok CIDR VPC 10.1.0.0/21 atau blok CIDR kluster Kubernetes yang sudah ada di VPC. Anda tidak dapat mengubah blok CIDR setelah kluster dibuat.

Catatan

Blok CIDR default adalah 172.19.0.0/20.

SnatEntry

Boolean

Tidak

Tidak

Menentukan apakah akan mengonfigurasi aturan SNAT untuk VPC.

Nilai yang valid:

  • true (default): Gateway NAT dibuat dan aturan SNAT dikonfigurasi secara otomatis. Tetapkan parameter ini ke true jika node atau aplikasi dalam kluster Anda perlu mengakses Internet.

  • false: Gateway NAT dan aturan SNAT tidak dibuat. Dalam mode ini, node dan aplikasi dalam kluster tidak dapat mengakses Internet.

Catatan

Jika Anda tidak mengaktifkan fitur ini saat membuat kluster, Anda dapat mengaktifkannya secara manual nanti jika bisnis Anda memerlukan akses Internet. Untuk informasi selengkapnya, lihat Mengaktifkan akses Internet untuk kluster.

Tags

List

Tidak

Ya

Label node.

Aturan definisi tag:

  • Tag adalah pasangan kunci-nilai yang peka huruf besar/kecil. Anda dapat menentukan hingga 20 tag.

  • Kunci tag tidak boleh duplikat. Panjangnya dapat mencapai 64 karakter. Nilai tag dapat kosong dan panjangnya dapat mencapai 128 karakter. Kunci tag dan nilai tag tidak boleh dimulai dengan aliyun, acs:, https://, atau http://. Untuk informasi selengkapnya, lihat Labels and Selectors.

PrivateZone

Boolean

Tidak

Tidak

Menentukan apakah akan mengaktifkan layanan PrivateZone.

Nilai yang valid:

  • true: Mengaktifkan layanan PrivateZone.

  • false: Menonaktifkan layanan PrivateZone.

MaintenanceWindow

Map

Tidak

Ya

Jendela pemeliharaan kluster.

Untuk informasi selengkapnya, lihat properti MaintenanceWindow.

IpStack

String

Tidak

Tidak

Stack IP kluster.

Nilai yang valid:

  • ipv4

  • ipv6

Sintaksis MaintenanceWindow

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

Properti MaintenanceWindow

Properti

Tipe

Wajib

Dapat Diperbarui

Deskripsi

Batasan

Enable

Boolean

Tidak

Ya

Menentukan apakah akan mengaktifkan jendela pemeliharaan.

Nilai yang valid:

  • true: Mengaktifkan jendela pemeliharaan.

  • false: Menonaktifkan jendela pemeliharaan.

Nilai default: false.

MaintenanceTime

String

Tidak

Ya

Waktu mulai pemeliharaan.

Format RFC3339.

Duration

String

Tidak

Ya

Durasi pemeliharaan.

Nilai harus berada dalam rentang [1, 24]. Satuan: jam.

Nilai default: 3h.

WeeklyPeriod

String

Tidak

Ya

Periode pemeliharaan.

Pisahkan beberapa nilai dengan koma (,). Nilai yang valid: {Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday}

Nilai default: Thursday.

Recurrence

String

Tidak

Ya

Aturan pengulangan untuk jendela pemeliharaan, didefinisikan menggunakan sintaks Aturan Pengulangan RFC5545.

Saat ini, hanya FREQ=WEEKLY yang didukung. COUNT dan UNTIL tidak didukung.

Sintaksis Addons

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

Properti Addons

Properti

Tipe

Diperlukan

Memperbolehkan Pembaruan

Deskripsi

Batasan

Config

String

Tidak

Tidak

Konfigurasi komponen.

Tidak ada

Disabled

Boolean

Tidak

Tidak

Menentukan apakah akan menonaktifkan instalasi default.

Saat kluster dibuat, selain komponen yang diperlukan, beberapa komponen lain seperti komponen logging juga diinstal. Anda dapat menonaktifkan perilaku default ini dan menginstal komponen tersebut nanti dengan memanggil API instalasi komponen atau melalui konsol.

Nilai yang valid:

  • true: Menonaktifkan instalasi default.

  • false: Mengizinkan instalasi default.

Name

String

Ya

Tidak

Nama komponen.

Tidak ada

Version

String

Tidak

Tidak

Versi komponen.

Jika Anda membiarkan parameter ini kosong, versi terbaru dipilih secara default.

Sintaksis Tags

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

Properti Tags

Properti

Tipe

Diperlukan

Dapat Diperbarui

Deskripsi

Batasan

Value

String

Tidak

Tidak

Nilai tag.

Tidak ada

Key

String

Ya

Tidak

Nilai Tag

Tidak ada

Sintaksis DeleteOptions

"DeleteOptions": [
  {
    "DeleteMode": String,
    "ResourceType": String
  }
]

Properti DeleteOptions

Properti

Tipe

Diperlukan

Dapat Diperbarui

Deskripsi

Batasan

DeleteMode

String

Tidak

Ya

Kebijakan penghapusan untuk jenis sumber daya ini.

Nilai yang valid:

  • delete: Menghapus jenis sumber daya ini.

  • retain: Mempertahankan jenis sumber daya ini.

ResourceType

String

Tidak

Ya

Jenis sumber daya.

Nilai yang valid:

  • SLB: Sumber daya SLB yang dibuat oleh layanan. Secara default, sumber daya ini dihapus. Anda dapat memilih untuk mempertahankannya.

  • ALB: Sumber daya ALB yang dibuat oleh pengontrol Ingress ALB. Secara default, sumber daya ini dipertahankan. Anda dapat memilih untuk menghapusnya.

  • SLS_Data: Proyek Simple Log Service (SLS) yang digunakan oleh fitur logging kluster. Secara default, sumber daya ini dipertahankan. Anda dapat memilih untuk menghapusnya.

  • SLS_ControlPlane: Proyek SLS yang digunakan oleh log lapisan kontrol kluster ACK yang dikelola. Secara default, sumber daya ini dipertahankan. Anda dapat memilih untuk menghapusnya.

  • PrivateZone: Sumber daya PrivateZone yang dibuat oleh kluster ACK Serverless. Secara default, sumber daya ini dipertahankan. Anda dapat memilih untuk menghapusnya.

Nilai Kembali

Fn::GetAtt

  • TaskId: ID tugas.

  • ClusterId: ID kluster.

  • APIServerSLBId: ID SLB server API.

  • ScalingGroupId: ID grup penskalaan.

  • ScalingRuleId: ID aturan penskalaan.

  • DefaultUserKubeConfig: Konfigurasi Kubernetes default yang digunakan untuk mengonfigurasi kredensial kluster.

  • WorkerRamRoleName: Nama peran RAM node pekerja.

  • ScalingConfigurationId: ID konfigurasi penskalaan.

  • PrivateUserKubConfig: Konfigurasi Kubernetes privat yang digunakan untuk mengonfigurasi kredensial kluster.

  • Nodes: Daftar node kluster.

  • IngressSLBId: ID SLB Ingress.

Contoh

ROSTemplateFormatVersion: '2015-09-01'
Description: Test creating an 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": "Test creating an 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"
        ]
      }
    }
  }
}