Membuat Container Service for Kubernetes (ACK) Serverless cluster.
Sintaksis permintaan
POST /clusters HTTP/1.1
Content-Type: application/json
{
"cluster_type": "String",
"profile": "String",
"cluster_spec": "String",
"name": "String",
"kubernetes_version": "String",
"private_zone": Boolean,
"region_id": "String",
"endpoint_public_access": Boolean,
"service_discovery_types": ["String"],
"zoneid": "String",
"logging_type": "String",
"tags": [
{
"key": "String",
"value": "String"
}
],
"deletion_protection": Boolean,
"service_cidr": "String",
"timezone": "String",
"addons": [
{
"name": "String",
"config": "String",
"disabled": Boolean
}
],
"snat_entry": Boolean,
"vpcid": "String",
"vswitch_ids": ["String"],
"security_group_id": "String"
}
Parameter permintaan
| Parameter | Tipe | Wajib | Contoh | Deskripsi |
|---|---|---|---|---|
cluster_type |
String | Ya | ManagedKubernetes |
Tipe kluster. Tetapkan ke ManagedKubernetes. Dikombinasikan dengan profile: Serverless, ini akan membuat kluster ACK Serverless. |
profile |
String | Ya | Serverless |
Pengenal kluster. Tetapkan ke Serverless. Dikombinasikan dengan cluster_type: ManagedKubernetes, ini akan membuat kluster ACK Serverless. |
cluster_spec |
String | Tidak | ack.pro.small |
Edisi kluster ACK Serverless. Nilai yang valid: ack.pro.small (kluster ACK Serverless profesional), ack.standard (kluster ACK Serverless standar). Default: ack.standard. Untuk informasi lebih lanjut, lihat Ikhtisar kluster. |
name |
String | Ya | cluster-demo |
Nama kluster. Harus terdiri dari 1–63 karakter dan dapat berisi angka, huruf, serta tanda hubung (-). Tidak boleh dimulai dengan tanda hubung. |
kubernetes_version |
String | Tidak | 1.32.1-aliyun.1 |
Versi Kubernetes. Jika tidak ditentukan, versi stabil terbaru akan digunakan. Untuk membuat kluster yang menjalankan versi sebelumnya, gunakan parameter ini. Untuk daftar versi yang didukung, lihat Ikhtisar versi Kubernetes yang didukung oleh ACK. |
private_zone |
Boolean | Tidak | false |
Menentukan apakah Alibaba Cloud DNS PrivateZone diaktifkan untuk penemuan layanan. Nilai yang valid: true (diaktifkan), false (dinonaktifkan). Untuk informasi lebih lanjut, lihat Aktifkan penemuan layanan berdasarkan Alibaba Cloud DNS PrivateZone. |
region_id |
String | Ya | cn-beijing |
Wilayah tempat kluster berada. |
endpoint_public_access |
Boolean | Tidak | true |
Menentukan apakah API server diekspos melalui Internet. Nilai yang valid: true (diekspos melalui Internet), false (hanya dapat diakses dalam virtual private cloud (VPC)). Default: true. |
service_discovery_types |
Array of String | Tidak | PrivateZone |
Metode penemuan layanan untuk kluster. Nilai yang valid: CoreDNS (DNS native Kubernetes, men-deploy dua elastic container instances (ECIs) dengan masing-masing 0,25 core CPU dan memori 512 MiB), PrivateZone (Alibaba Cloud DNS PrivateZone; harus diaktifkan sebelum digunakan). Default: tidak diatur. |
zoneid |
String | Tidak | cn-beiji**** |
ID zona. Penting
Wajib jika baik |
logging_type |
String | Tidak | SLS |
Menentukan apakah Simple Log Service (SLS) diaktifkan. Tetapkan ke SLS untuk mengaktifkan. Hanya berlaku untuk kluster ACK Serverless. |
tags |
Array of tag | Tidak | [{"key": "env", "value": "prod"}] |
Tag yang akan dilampirkan ke kluster. Setiap tag berisi key dan value. |
deletion_protection |
Boolean | Tidak | true |
Menentukan apakah perlindungan penghapusan diaktifkan. Saat diaktifkan, kluster tidak dapat dihapus dari Konsol ACK atau melalui API. Nilai yang valid: true (diaktifkan), false (dinonaktifkan). Default: false. |
service_cidr |
String | Tidak | 172.21.0.0/20 |
Blok CIDR Service. Rentang yang valid: 10.0.0.0/16–24, 172.16–31.0.0/16–24, 192.168.0.0/16–24. Tidak boleh tumpang tindih dengan blok CIDR VPC atau blok CIDR kluster yang sudah ada di VPC. Tidak dapat diubah setelah kluster dibuat. Default: 172.19.0.0/20. |
timezone |
String | Tidak | Asia/Shanghai |
Zona waktu kluster. Untuk daftar nilai yang didukung, lihat Zona waktu yang didukung. |
addons |
Array of addon | Tidak | [{"name":"logtail-ds","config":"{\"sls_project_name\":\"your_sls_project_name\"}"}] |
Addon yang akan diinstal. Setiap entri addon mendukung tiga bidang: name (wajib), config (opsional; biarkan kosong jika tidak diperlukan konfigurasi), disabled (opsional; tetapkan ke true untuk melewati instalasi otomatis). Lihat Konfigurasi addon untuk detail selengkapnya. |
snat_entry |
Boolean | Tidak | true |
Menentukan apakah gerbang NAT dibuat dan aturan Source Network Address Translation (SNAT) dikonfigurasi. Nilai yang valid: true (membuat gerbang NAT dan aturan SNAT, mengaktifkan akses Internet dari VPC), false (tidak membuat gerbang NAT atau aturan SNAT). Default: false. |
vpcid |
String | Tidak | vpc-2zeik9h3ahvv2zz95**** |
ID VPC tempat kluster dideploy. Jika ditentukan, vswitch_ids juga harus ditentukan. |
vswitch_ids |
Array of String | Tidak | ["vsw-2ze97jwri7cei0mpw****"] |
ID vSwitch. Tentukan 1–3 vSwitch. |
security_group_id |
String | Tidak | sg-bp1bdue0qc1g7k**** |
ID grup keamanan yang akan digunakan. Node secara otomatis ditambahkan ke grup ini. Anda harus menentukan parameter ini atau is_enterprise_security_group. |
resource_group_id |
String | Tidak | rg-acfm3mkrure**** |
ID kelompok sumber daya. Gunakan ini untuk mengisolasi kluster di antara kelompok sumber daya yang berbeda. |
Konfigurasi addon
Addon Layanan Log (logtail-ds): Opsional. Tanpa Simple Log Service diaktifkan, fitur auditing kluster tidak tersedia.
-
Untuk menggunakan proyek SLS yang sudah ada:
[{"name": "logtail-ds", "config": "{\"IngressDashboardEnabled\":\"true\",\"sls_project_name\":\"your_sls_project_name\"}"}] -
Untuk membuat proyek SLS baru:
[{"name": "logtail-ds", "config": "{\"IngressDashboardEnabled\":\"true\"}"}]
Kontroler Ingress (nginx-ingress-controller): Opsional. Diinstal secara default di kluster khusus ACK.
-
Untuk menginstal dengan akses Internet diaktifkan:
[{"name": "nginx-ingress-controller", "config": "{\"IngressSlbNetworkType\":\"internet\"}"}] -
Untuk melewati instalasi:
[{"name": "nginx-ingress-controller", "config": "", "disabled": true}]
Elemen respons
HTTP/1.1 200
Content-Type: application/json
{
"cluster_id": "String",
"request_id": "String",
"task_id": "String"
}
| Parameter | Tipe | Contoh | Deskripsi |
|---|---|---|---|
cluster_id |
String | cb95aa626a47740afbf6aa099b650**** |
ID kluster. |
request_id |
String | 687C5BAA-D103-4993-884B-C35E4314A1E1 |
ID permintaan. |
task_id |
String | T-5a54309c80282e39ea00002f |
ID tugas. |
Contoh
Contoh 1: Buat kluster dengan VPC yang dibuat otomatis
Contoh ini membuat kluster ACK Serverless standar di cn-hangzhou. VPC dan gerbang NAT dibuat secara otomatis. Simple Log Service diaktifkan.
Permintaan:
POST /clusters HTTP/1.1
<Common request headers>
{
"cluster_type": "ManagedKubernetes",
"profile": "Serverless",
"cluster_spec": "ack.standard",
"name": "test-ask",
"region_id": "cn-hangzhou",
"endpoint_public_access": false,
"logging_type": "SLS",
"private_zone": false,
"snat_entry": true,
"tags": [
{
"key": "k-aa",
"value": "v-aa"
}
],
"deletion_protection": false,
"addons": [
{
"name": "logtail-ds"
}
],
"zoneid": "cn-hangzhou-i"
}
Respons:
{
"cluster_id": "cb95aa626a47740afbf6aa099b650****",
"RequestId": "687C5BAA-D103-4993-884B-C35E4314A1E1",
"task_id": "T-5a54309c80282e39ea00002f"
}
Contoh 2: Buat kluster di VPC yang sudah ada
Contoh ini membuat kluster ACK Serverless profesional di VPC yang sudah ada di cn-shenzhen. API server dapat diakses melalui Internet, perlindungan penghapusan diaktifkan, dan Alibaba Cloud DNS PrivateZone digunakan untuk penemuan layanan.
Permintaan:
POST /clusters HTTP/1.1
<Common request headers>
{
"cluster_type": "ManagedKubernetes",
"profile": "Serverless",
"cluster_spec": "ack.pro.small",
"name": "ask-cluster",
"region_id": "cn-shenzhen",
"endpoint_public_access": true,
"logging_type": "SLS",
"private_zone": true,
"tags": [
{
"key": "tier",
"value": "frontend"
}
],
"deletion_protection": true,
"addons": [
{
"name": "logtail-ds"
}
],
"vpcid": "vpc-wz984yvbd6lck22z3****",
"vswitch_ids": [
"vsw-wz9uwxhawmtzg7u9h****"
],
"security_group_id": "sg-wz9b86l4s7nthi1k****"
}
Respons:
{
"cluster_id": "cb95aa626a47740afbf6aa099b650****",
"RequestId": "687C5BAA-D103-4993-884B-C35E4314A1E1",
"task_id": "T-5a54309c80282e39ea00002f"
}
Kode kesalahan
Untuk informasi lebih lanjut tentang kode kesalahan, lihat Error Center.