Tipe ALIYUN::SAE::Application digunakan untuk membuat aplikasi di Serverless App Engine (SAE).
Sintaks
{
"Type": "ALIYUN::SAE::Application",
"Properties": {
"Timezone": String,
"AppDescription": String,
"MountDesc": String,
"NasId": String,
"WarStartOptions": String,
"Liveness": String,
"Memory": Integer,
"WebContainer": String,
"SlsConfigs": String,
"Cpu": Integer,
"Deploy": Boolean,
"PackageVersion": String,
"AppName": String,
"Jdk": String,
"JarStartArgs": String,
"PreStop": String,
"Readiness": String,
"PackageType": String,
"CommandArgs": String,
"Envs": String,
"VSwitchId": String,
"ImageUrl": String,
"PostStart": String,
"JarStartOptions": String,
"MountHost": String,
"Replicas": Integer,
"CustomHostAlias": String,
"VpcId": String,
"Tags": List,
"SecurityGroupId": String,
"Command": String,
"EdasContainerVersion": String,
"PackageUrl": String,
"NamespaceId": String,
"AssociateEip": Boolean,
"AcrInstanceId": String,
"OssAkId": String,
"ProgrammingLanguage": String,
"OssAkSecret": String,
"Python": String,
"BaseAppId": String,
"EnableEbpf": String,
"PhpArmsConfigLocation": String,
"PhpConfig": String,
"MicroRegistrationConfig": String,
"TerminationGracePeriodSeconds": Integer,
"ConfigMapMountDesc": String,
"PvtzDiscoverySvc": String,
"AcrAssumeRoleArn": String,
"TomcatConfig": String,
"AppSource": String,
"PythonModules": String,
"NasConfigs": String,
"MicroRegistration": String,
"ServiceTags": String,
"ImagePullSecrets": String,
"AutoConfig": Boolean,
"KafkaConfigs": String,
"Php": String,
"OssMountDescs": List,
"PhpConfigLocation": String,
"SaeVersion": String,
"NewSaeVersion": String,
"EnableNewArms": Boolean,
"EnableSidecarResourceIsolated": Boolean,
"SidecarContainersConfig": List,
"InitContainersConfig": List
}
}Properti
Properti | Tipe | Diperlukan | Dapat Diedit | Deskripsi | Kendala |
AppName | String | Ya | Tidak | Nama aplikasi. | Nama dapat memiliki panjang hingga 36 karakter. Harus dimulai dengan huruf dan dapat berisi huruf, angka, dan tanda hubung (-). |
Cpu | Integer | Ya | Tidak | Jumlah core CPU yang diperlukan untuk setiap instans. Hanya instans dengan spesifikasi yang ditentukan yang didukung. | Nilai valid:
Satuan: millicores. |
Memory | Integer | Ya | Tidak | Ukuran memori yang diperlukan untuk setiap instans. Hanya instans dengan spesifikasi yang ditentukan yang didukung. | Ukuran memori dipasangkan dengan core CPU. Spesifikasi berikut didukung:
Satuan: MB. |
Replicas | Integer | Ya | Tidak | Jumlah awal instans. | Tidak ada |
PackageType | String | Ya | Tidak | Tipe paket aplikasi. | Nilai valid:
|
Timezone | String | Tidak | Ya | Zona waktu. | Nilai default: Asia/Shanghai. |
AppDescription | String | Tidak | Tidak | Deskripsi aplikasi. | Deskripsi dapat berisi hingga 1.024 karakter. |
MountDesc | String | Tidak | Ya | Deskripsi mount. | Tidak ada |
NasId | String | Tidak | Ya | ID sistem file NAS yang akan dimount. | Sistem file NAS harus memiliki kuota target mount yang tersedia, atau target mountnya harus berada pada vSwitch dalam VPC. Jika Anda tidak menentukan parameter ini tetapi menentukan parameter MountDesc, sistem file NAS akan dibeli dan dimount secara otomatis ke vSwitch dalam VPC. |
WarStartOptions | String | Tidak | Ya | Opsi startup untuk paket WAR. | Perintah startup default adalah: |
Liveness | String | Tidak | Ya | Pemeriksaan kesehatan kontainer. Kontainer yang gagal pemeriksaan kesehatan akan di-restart. | Saat ini, hanya perintah yang dapat dijalankan dalam kontainer untuk melakukan pemeriksaan kesehatan. Contoh: |
WebContainer | String | Tidak | Ya | Versi Kontainer Tomcat yang diperlukan untuk Paket penyebaran. | Parameter ini tidak didukung untuk gambar. |
SlsConfigs | String | Tidak | Ya | Konfigurasi pengumpulan log file. | Tidak ada |
Deploy | Boolean | Tidak | Tidak | Menentukan apakah akan segera menerapkan aplikasi. | Nilai valid:
|
Tags | List | Tidak | Ya | Tag. | Anda dapat menambahkan hingga 20 tag. Untuk informasi lebih lanjut, lihat Sintaks Tags dan Properti Tags. |
PackageVersion | String | Tidak | Ya | Nomor versi paket penyebaran. | Parameter ini diperlukan ketika PackageType disetel ke War atau FatJar. |
Jdk | String | Tidak | Ya | Versi JDK yang dibutuhkan oleh paket penyebaran. | Parameter ini tidak didukung untuk gambar. |
JarStartArgs | String | Tidak | Ya | Argumen startup untuk paket JAR. | Perintah startup default adalah: |
PreStop | String | Tidak | Ya | Skrip untuk dijalankan sebelum kontainer dihentikan. | Skrip untuk dijalankan sebelum kontainer dihentikan. Contoh: |
Readiness | String | Tidak | Ya | Skrip untuk pemeriksaan kesiapan. | Skrip untuk pemeriksaan kesiapan. Contoh: Kontainer yang gagal pemeriksaan kesehatan beberapa kali akan di-restart. Kontainer yang tidak lulus pemeriksaan kesehatan tidak akan menerima lalu lintas dari SLB. |
CommandArgs | String | Tidak | Ya | Argumen untuk perintah startup gambar. | Tidak ada |
Envs | String | Tidak | Ya | Variabel lingkungan untuk kontainer. | Format untuk variabel lingkungan adalah:
|
VSwitchId | String | Tidak | Tidak | vSwitch tempat ENI dari instans aplikasi berada. | vSwitch harus berada di VPC yang ditentukan. vSwitch terikat ke namespace EDAS. Jika Anda tidak menentukan parameter ini, VSwitchId yang terikat ke namespace digunakan. |
ImageUrl | String | Tidak | Ya | Alamat gambar. | Anda dapat mengonfigurasi alamat gambar hanya untuk aplikasi bertipe Image. |
PostStart | String | Tidak | Ya | Skrip untuk dijalankan setelah kontainer dimulai. | Skrip untuk dijalankan setelah kontainer dimulai. Contoh: |
JarStartOptions | String | Tidak | Ya | Opsi startup untuk paket JAR. | Perintah startup default adalah: |
MountHost | String | Tidak | Ya | Target pemasangan sistem file NAS di VPC. | Tidak ada |
CustomHostAlias | String | Tidak | Ya | Pemetaan host kustom dalam kontainer. | Format untuk pemetaan host kustom adalah:
|
VpcId | String | Tidak | Tidak | VPC yang sesuai dengan namespace SAE. | Di SAE, sebuah namespace hanya dapat sesuai dengan satu VPC dan tidak dapat diubah. Hubungan pengikatan terbentuk saat pertama kali Anda membuat aplikasi SAE di sebuah namespace. Beberapa namespace dapat sesuai dengan satu VPC. Jika Anda tidak mengisi parameter ini, VpcId yang terikat ke namespace digunakan secara default. |
SecurityGroupId | String | Tidak | Tidak | ID grup keamanan. | Tidak ada |
Command | String | Tidak | Ya | Perintah startup untuk gambar. | Perintah harus berupa objek yang dapat dieksekusi yang ada di dalam kontainer. Contoh: sleep. Mengatur perintah ini akan menimpa perintah startup asli dari gambar. |
EdasContainerVersion | String | Tidak | Ya | Lingkungan runtime yang digunakan oleh aplikasi EDAS Pandora. | Tidak ada |
PackageUrl | String | Tidak | Ya | Alamat paket penyebaran. | Parameter ini valid ketika PackageType disetel ke War atau FatJar. |
NamespaceId | String | Ya | Tidak | ID namespace EDAS. | Hanya namespace dengan nama yang terdiri dari huruf kecil dan tanda hubung (-) yang didukung. Nama harus dimulai dengan huruf kecil. |
AssociateEip | Boolean | Tidak | Tidak | Menentukan apakah akan mengikat EIP. | Nilai valid:
|
AcrInstanceId | String | Tidak | Ya | ID instans Enterprise ACR. | Tidak ada |
OssAkId | String | Tidak | Tidak | ID AccessKey untuk membaca dan menulis ke OSS. | Tidak ada |
ProgrammingLanguage | String | Tidak | Tidak | Bahasa tumpukan teknologi untuk membuat aplikasi. | Nilai valid:
|
OssAkSecret | String | Tidak | Tidak | Rahasia AccessKey untuk membaca dan menulis ke OSS. | Tidak ada |
Python | String | Tidak | Tidak | Lingkungan Python. | PYTHON 3.9.15 didukung. |
BaseAppId | String | Tidak | Tidak | ID aplikasi dasar. | Tidak ada |
EnableEbpf | String | Tidak | Tidak | Mengaktifkan pemantauan aplikasi untuk aplikasi non-Java berdasarkan teknologi eBPF. | Nilai valid:
|
PhpArmsConfigLocation | String | Tidak | Tidak | Jalur mount untuk pemantauan aplikasi PHP. Pastikan server PHP memuat file konfigurasi dari jalur ini. | Anda tidak perlu mengelola isi konfigurasi. SAE secara otomatis merender file konfigurasi yang benar. |
PhpConfig | String | Tidak | Tidak | Isi file konfigurasi PHP. | Tidak ada |
MicroRegistrationConfig | String | Tidak | Tidak | Informasi konfigurasi untuk registri. | Tidak ada |
TerminationGracePeriodSeconds | Integer | Tidak | Tidak | Periode timeout untuk shutdown yang mulus. | Nilai defaultnya adalah 30. Satuan: detik. Nilainya harus dalam rentang 1 hingga 300. |
ConfigMapMountDesc | String | Tidak | Tidak | Deskripsi mount ConfigMap. | Gunakan item konfigurasi yang dibuat pada halaman konfigurasi namespace untuk menyuntikkan informasi konfigurasi ke dalam kontainer. Parameter adalah sebagai berikut:
Catatan Anda dapat melewati parameter |
PvtzDiscoverySvc | String | Tidak | Tidak | Mengaktifkan pendaftaran dan penemuan Layanan K8s. | Parameter adalah sebagai berikut:
|
AcrAssumeRoleArn | String | Tidak | Tidak | ARN dari peran RAM yang diperlukan untuk menarik gambar lintas akun. | Untuk informasi lebih lanjut, lihat Memberikan izin kepada peran RAM. |
TomcatConfig | String | Tidak | Tidak | Konfigurasi file Tomcat. | Setel ke "" atau "{}" untuk menghapus konfigurasi:
|
AppSource | String | Tidak | Tidak | Aplikasi mikro layanan. | Nilai valid:
|
PythonModules | String | Tidak | Tidak | Dependensi modul instalasi kustom. | Secara default, dependensi yang didefinisikan dalam file requirements.txt di direktori root diinstal. Jika tidak ada paket yang dikonfigurasi atau dikustomisasi, Anda dapat menentukan dependensi untuk diinstal. |
NasConfigs | String | Tidak | Tidak | Konfigurasi untuk mounting NAS. | Parameter adalah sebagai berikut:
|
MicroRegistration | String | Tidak | Tidak | Pilih registri Nacos. | Nilai valid:
|
ServiceTags | String | Tidak | Tidak | Tag grayscale yang dikonfigurasi untuk aplikasi. | Tidak ada |
ImagePullSecrets | String | Tidak | Tidak | ID rahasia yang sesuai. | Tidak ada |
AutoConfig | Boolean | Tidak | Tidak | Menentukan apakah akan mengonfigurasi lingkungan jaringan secara otomatis. | Nilai valid:
Catatan Jika Anda memilih true, nilai NamespaceId lainnya yang dilewatkan diabaikan. |
KafkaConfigs | String | Tidak | Tidak | Ringkasan konfigurasi untuk mengumpulkan log ke Kafka. | Parameter adalah sebagai berikut:
|
Php | String | Tidak | Tidak | Versi PHP yang bergantung pada paket penyebaran PHP. | Tidak ada. |
OssMountDescs | List | Tidak | Tidak | Deskripsi mount OSS. | Parameter adalah sebagai berikut:
|
PhpConfigLocation | String | Tidak | Tidak | Jalur mount untuk konfigurasi startup aplikasi PHP. | Pastikan server PHP menggunakan file konfigurasi ini untuk memulai. |
SaeVersion | String | Tidak | Tidak | Versi SAE. | Versi yang didukung:
|
NewSaeVersion | String | Tidak | Tidak | Versi SAE baru. | Nilai valid:
|
EnableNewArms | Boolean | Tidak | Tidak | Menentukan apakah akan mengaktifkan fitur Arms baru. | Nilai valid:
|
EnableSidecarResourceIsolated | Boolean | Tidak | Ya | Menentukan apakah akan mengaktifkan isolasi sumber daya untuk kontainer sidecar. | Nilai valid:
|
SidecarContainersConfig | List | Tidak | Ya | Konfigurasi kontainer sidecar. | Untuk informasi lebih lanjut, lihat Properti SidecarContainersConfig. |
InitContainersConfig | List | Tidak | Ya | Konfigurasi kontainer init. | Untuk informasi lebih lanjut, lihat Properti InitContainersConfig. |
Sintaksis SidecarContainersConfig
"SidecarContainersConfig": [
{
"CommandArgs": String,
"AcrInstanceId": String,
"Memory": Integer,
"Name": String,
"EmptyDirDesc": String,
"Command": String,
"ImageUrl": String,
"Cpu": Integer,
"Envs": String,
"ConfigMapMountDesc": String
}
] Properti SidecarContainersConfig
Properti | Tipe | Diperlukan | Dapat Diedit | Deskripsi | Kendala |
CommandArgs | String | Tidak | Ya | Parameter untuk perintah yang dijalankan di kontainer init. | Tidak ada |
AcrInstanceId | String | Tidak | Ya | ID instans ACR. | Tidak ada |
Memory | Integer | Ya | Ya | Jumlah memori yang dialokasikan ke kontainer sidecar. | Tidak ada |
Name | String | Ya | Ya | Nama kontainer sidecar. | Tidak ada |
EmptyDirDesc | String | Tidak | Ya | Deskripsi mount volume emptyDir. | Tidak ada |
Command | String | Tidak | Ya | Perintah yang akan dijalankan di kontainer init. | Tidak ada |
ImageUrl | String | Tidak | Ya | Alamat gambar. | Anda dapat mengonfigurasi alamat gambar hanya untuk aplikasi bertipe Image. |
Cpu | Integer | Ya | Ya | Jumlah core CPU yang dialokasikan ke kontainer sidecar. | Tidak ada |
Envs | String | Tidak | Ya | Variabel lingkungan kontainer. | Contoh: |
ConfigMapMountDesc | String | Tidak | Ya | Deskripsi mount ConfigMap. | Tidak ada |
Sintaksis InitContainersConfig
"InitContainersConfig": [
{
"Command": String,
"ConfigMapMountDesc": String,
"ImageUrl": String,
"CommandArgs": String,
"Envs": String,
"Name": String
}
] Properti InitContainersConfig
Properti | Tipe | Diperlukan | Izinkan Pembaruan | Deskripsi | Kendala |
Command | String | Tidak | Ya | Perintah untuk dijalankan di kontainer init. | Tidak ada |
ConfigMapMountDesc | String | Tidak | Tidak | Deskripsi mount ConfigMap. | Tidak ada |
ImageUrl | String | Tidak | Ya | Alamat gambar. | Anda dapat mengonfigurasi alamat gambar hanya untuk aplikasi bertipe Image. |
CommandArgs | String | Tidak | Ya | Argumen perintah untuk dijalankan di kontainer init. | Tidak ada |
Envs | String | Tidak | Ya | Variabel lingkungan kontainer. | Contoh: |
Name | String | Ya | Ya | Nama kontainer init. | Tidak ada |
Sintaks Tags
"Tags": [
{
"Key": String,
"Value": String
}
] Properti Tags
Properti | Tipe | Diperlukan | Izinkan Pembaruan | Deskripsi | Kendala |
Key | String | Ya | Tidak | Kunci tag. | Kunci harus memiliki panjang 1 hingga 128 karakter. Tidak boleh dimulai dengan |
Value | String | Tidak | Tidak | Nilai tag. | Nilai harus memiliki panjang 0 hingga 128 karakter. Tidak boleh dimulai dengan |
Nilai Pengembalian
Fn::GetAtt
AppId: ID aplikasi.
ChangeOrderId: ID pesanan rilis. Anda dapat menggunakan ID ini untuk memeriksa status eksekusi tugas.
Contoh
ROSTemplateFormatVersion: '2015-09-01'
Parameters:
NamespaceId:
Type: String
Description: |-
ID namespace EDAS. Nama namespace hanya dapat berisi huruf kecil dan tanda hubung (-), serta harus dimulai dengan huruf.
Anda dapat memperoleh ID namespace dari respons operasi DescribeNamespaceList.
VpcId:
Type: String
AssociationProperty: ALIYUN::ECS::VPC::VPCId
VSwitchId:
Type: String
AssociationProperty: ALIYUN::ECS::VSwitch::VSwitchId
AssociationPropertyMetadata:
VpcId: ${VpcId}
SecurityGroupId:
Type: String
AssociationProperty: ALIYUN::ECS::SecurityGroup::SecurityGroupId
AssociationPropertyMetadata:
VpcId: ${VpcId}
Resources:
Application:
Type: ALIYUN::SAE::Application
Properties:
AppName: TestApp
NamespaceId:
Ref: NamespaceId
VpcId:
Ref: VpcId
VSwitchId:
Ref: VSwitchId
SecurityGroupId:
Ref: SecurityGroupId
Cpu: 500
Memory: 1024
Replicas: 2
PackageType: War
Deploy: true
Timezone: Asia/Shanghai
Outputs: {}{
"ROSTemplateFormatVersion": "2015-09-01",
"Parameters": {
"NamespaceId": {
"Type": "String",
"Description": "ID namespace EDAS. Nama namespace hanya dapat berisi huruf kecil dan tanda hubung (-), serta harus dimulai dengan huruf.\nAnda dapat memperoleh ID namespace dari respons operasi DescribeNamespaceList."
},
"VpcId": {
"Type": "String",
"AssociationProperty": "ALIYUN::ECS::VPC::VPCId"
},
"VSwitchId": {
"Type": "String",
"AssociationProperty": "ALIYUN::ECS::VSwitch::VSwitchId",
"AssociationPropertyMetadata": {
"VpcId": "${VpcId}"
}
},
"SecurityGroupId": {
"Type": "String",
"AssociationProperty": "ALIYUN::ECS::SecurityGroup::SecurityGroupId",
"AssociationPropertyMetadata": {
"VpcId": "${VpcId}"
}
}
},
"Resources": {
"Application": {
"Type": "ALIYUN::SAE::Application",
"Properties": {
"AppName": "TestApp",
"NamespaceId": {
"Ref": "NamespaceId"
},
"VpcId": {
"Ref": "VpcId"
},
"VSwitchId": {
"Ref": "VSwitchId"
},
"SecurityGroupId": {
"Ref": "SecurityGroupId"
},
"Cpu": 500,
"Memory": 1024,
"Replicas": 2,
"PackageType": "War",
"Deploy": true,
"Timezone": "Asia/Shanghai"
}
}
},
"Outputs": {
}
}Untuk contoh cara membuat namespace, membuat aplikasi SAE, dan mengikat instans SLB, lihat Contoh YAML.