Men-deploy aplikasi ke dalam kluster Container Service for Kubernetes (ACK) atau kluster Serverless Kubernetes (ASK).
Coba sekarang
Test
RAM authorization
|
Action |
Access level |
Resource type |
Condition key |
Dependent action |
|
edas:ManageApplication |
update |
*Application
|
None | None |
Sintaks permintaan
POST /pop/v5/k8s/acs/k8s_apps HTTP/1.1
Parameter permintaan
|
Parameter |
Type |
Required |
Description |
Example |
| PreStop |
string |
No |
Skrip yang dieksekusi sebelum menghentikan kontainer. Contoh: |
{ "exec":{ "command":[ "ls", "/" ] } } |
| Envs |
string |
No |
Variabel lingkungan untuk penyebaran. Nilainya harus berupa array JSON objek. Tiga jenis variabel lingkungan didukung: biasa, Kubernetes ConfigMap, dan Kubernetes Secret. Format untuk variabel lingkungan biasa adalah sebagai berikut:
Variabel lingkungan ConfigMap menyuntikkan nilai kunci tertentu dari ConfigMap ke variabel lingkungan kontainer. Formatnya adalah sebagai berikut:
Variabel lingkungan Secret menyuntikkan nilai kunci tertentu dari Secret ke variabel lingkungan kontainer. Formatnya adalah sebagai berikut:
Catatan
Untuk menghapus konfigurasi ini, atur parameter ke array JSON kosong `[]`. |
[{"name":"x1","value":"y1"},{"name":"x2","valueFrom":{"configMapKeyRef":{"name":"my-config","key":"y2"}}},{"name":"x3","valueFrom":{"secretKeyRef":{"name":"my-secret","key":"y3"}}}] |
| ImageTag |
string |
No |
Tag citra. |
latest |
| BatchWaitTime |
integer |
No |
Interval minimum untuk rilis bertahap pod. Untuk informasi selengkapnya, lihat minReadySeconds. |
0 |
| Command |
string |
No |
Perintah startup kontainer. Catatan
Untuk menghapus konfigurasi ini, atur parameter ke string kosong |
ls |
| AppId |
string |
Yes |
ID aplikasi. Dapatkan ID tersebut dengan memanggil operasi ListApplication. Untuk informasi selengkapnya, lihat ListApplication. |
e83acea6-****-47e1-96ae-c0e953772cdc |
| PostStart |
string |
No |
Skrip yang dieksekusi setelah kontainer dimulai. Contoh: |
{ "exec":{ "command":[ "ls", "/" ] } } |
| Readiness |
string |
No |
Pemeriksaan kesiapan untuk kontainer. Jika pemeriksaan gagal, trafik dari layanan Kubernetes tidak akan diarahkan ke kontainer tersebut. Contoh: |
{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"httpGet": {"path": "/consumer","port": 8080,"scheme": "HTTP","httpHeaders": [{"name": "test","value": "testvalue"}]}} |
| Liveness |
string |
No |
Pemeriksaan kelangsungan hidup untuk kontainer. Contoh: |
{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"tcpSocket":{"host":"", "port":8080}} |
| Args |
string |
No |
Argumen untuk perintah startup kontainer. Nilainya harus berupa array JSON string, seperti |
["args1","args2"] |
| Replicas |
integer |
No |
Jumlah instans aplikasi. Nilai minimum adalah 0. |
1 |
| Image |
string |
No |
URL lengkap citra. Parameter ini menimpa parameter ImageTag. |
registry-vpc.cn-beijing.aliyuncs.com/t****/app:v1 |
| CpuLimit |
integer |
No |
Batas CPU untuk instans aplikasi selama waktu proses. Satuan: core. Nilai 0 berarti tanpa batas. |
1 |
| MemoryLimit |
integer |
No |
Batas memori untuk instans aplikasi selama waktu proses. Satuan: MB. Nilai 0 berarti tanpa batas. |
0 |
| CpuRequest |
integer |
No |
Kuota CPU yang diminta untuk instans aplikasi selama waktu proses. Disarankan untuk mengatur parameter ini. Satuan: core. Nilai 0 berarti tanpa batas. Catatan
Jika Anda mengatur parameter ini, atur juga parameter CpuLimit. Nilai CpuRequest harus kurang dari atau sama dengan nilai CpuLimit. |
0 |
| MemoryRequest |
integer |
No |
Kuota memori yang diminta untuk instans aplikasi selama waktu proses. Disarankan untuk mengatur parameter ini. Satuan: MB. Nilai 0 berarti tidak ada permintaan. Catatan
Jika Anda mengatur parameter ini, atur juga parameter MemoryLimit. Nilai MemoryRequest harus kurang dari atau sama dengan nilai MemoryLimit. |
0 |
| NasId |
string |
No |
ID sistem file Apsara File Storage NAS (NAS) yang akan dipasang. Sistem file NAS harus berada di wilayah yang sama dengan kluster. Sistem tersebut harus memiliki kuota titik pemasangan yang tersedia, atau titik pemasangannya harus berada pada vSwitch di VPC. Jika Anda tidak mengatur parameter ini tetapi bidang `mountDescs` ada, sistem file NAS akan secara otomatis dibeli dan dipasang ke vSwitch di VPC secara default. |
dfs23**** |
| MountDescs |
string |
No |
Konfigurasi pemasangan, yang merupakan string JSON ter-serialisasi. Contoh: |
[{"nasPath": "/k8s","mountPath": "/mnt"},{"nasPath": "/files","mountPath": "/app/files"}] |
| StorageType |
string |
No |
Jenis penyimpanan sistem file NAS. Nilai yang valid:
Saat ini, hanya tipe `Performance` yang didukung. |
Performance |
| LocalVolume |
string |
No |
Konfigurasi untuk memasang file host ke kontainer. Contoh: |
[{"type":"","nodePath":"/localfiles","mountPath":"/app/files"},{"type":"Directory","nodePath":"/mnt","mountPath":"/app/storage"}] |
| PackageUrl |
string |
No |
URL paket penyebaran. Konfigurasikan parameter ini untuk aplikasi yang diterapkan menggunakan paket FatJar atau WAR. Catatan
SDK Java atau Python untuk EDAS POP API harus versi 2.44.0 atau lebih baru. |
https://e***.oss-cn-beijing.aliyuncs.com/s***-1.0-SNAPSHOT-spring-boot.jar |
| PackageVersion |
string |
No |
Nomor versi paket penyebaran. Parameter ini wajib untuk paket WAR dan FatJar. Anda dapat menentukan makna nomor versi tersebut. Catatan
SDK Java atau Python untuk EDAS POP API harus versi 2.44.0 atau lebih baru. |
20200720 |
| JDK |
string |
No |
Versi JDK yang menjadi dependensi paket penyebaran. Nilai yang valid: Open JDK 7, Open JDK 8, atau Custom OpenJDK. Parameter ini tidak didukung untuk penyebaran berbasis citra. Jika Anda menggunakan Custom OpenJDK, Anda juga harus mengonfigurasi bidang `UserBaseImageUrl`. |
Open JDK 8 |
| WebContainer |
string |
No |
Versi Tomcat yang menjadi dependensi paket penyebaran. Parameter ini berlaku untuk aplikasi Spring Cloud dan Dubbo yang diterapkan menggunakan paket WAR. Tidak didukung untuk penyebaran berbasis citra. |
apache-tomcat-7.0.91 |
| EdasContainerVersion |
string |
No |
Versi EDAS Container yang menjadi dependensi paket penyebaran. Parameter ini berlaku untuk aplikasi HSF yang diterapkan menggunakan paket WAR. Tidak didukung untuk penyebaran berbasis citra. |
3.5.9 |
| UriEncoding |
string |
No |
Format encoding URI. Format yang didukung: ISO-8859-1, GBK, GB2312, dan UTF-8. Catatan
Jika Anda tidak mengatur parameter ini dalam konfigurasi aplikasi, nilai default Tomcat akan digunakan. |
GBK |
| UseBodyEncoding |
boolean |
No |
Menentukan apakah akan mengaktifkan `useBodyEncodingForURI`. Catatan
Jika Anda tidak mengatur parameter ini dalam konfigurasi aplikasi, nilai default `false` akan digunakan. |
false |
| UpdateStrategy |
string |
No |
Kebijakan rilis bertahap.
|
{"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":1},"grayUpdate":{"gray":1}} |
| McpuRequest |
integer |
No |
Kebutuhan sumber daya CPU minimum. Satuan: core. Nilai 0 berarti tanpa batas. Catatan
Jika Anda mengatur parameter ini, Anda juga harus mengatur parameter `CpuLimit`. Nilainya harus kurang dari atau sama dengan nilai `CpuLimit`. |
4 |
| McpuLimit |
integer |
No |
CPU maksimum yang dapat digunakan. Satuan: core. Nilai 0 berarti tanpa batas. |
0 |
| VolumesStr |
string |
No |
Volume data. |
test |
| PackageVersionId |
string |
No |
ID versi paket penyebaran. |
2bcc******** |
| ChangeOrderDesc |
string |
No |
Deskripsi catatan perubahan. |
Upgrade |
| RuntimeClassName |
string |
No |
Jenis runtime kontainer:
Parameter ini hanya berlaku untuk kluster yang menggunakan kontainer sandbox. |
runc |
| DeployAcrossZones |
string |
No |
Menentukan apakah instans aplikasi didistribusikan di beberapa zona. `true` berarti ya, dan nilai lain berarti tidak. |
true |
| BatchTimeout |
integer |
No |
Periode timeout untuk rilis batch tunggal. Satuan: detik. |
60 |
| EnableAhas |
boolean |
No |
Menentukan apakah akan menghubungkan ke Application High Availability Service (AHAS). |
true |
| WebContainerConfig |
string |
No |
Konfigurasi kontainer Tomcat. Atur ke
|
{"useDefaultConfig":false,"contextInputType":"custom","contextPath":"hello","httpPort":8088,"maxThreads":400,"uriEncoding":"UTF-8","useBodyEncoding":true,"useAdvancedServerXml":false} |
| JavaStartUpConfig |
string |
No |
Parameter startup Java. Anda dapat mengonfigurasi memori, aplikasi, kebijakan garbage collection (GC), alat, registrasi dan penemuan layanan, serta pengaturan kustom. Mengonfigurasi parameter ini dengan benar membantu mengurangi overhead GC, memperpendek waktu respons server, dan meningkatkan throughput. Parameter ini berupa string JSON. `original` adalah nilai konfigurasi, dan `startup` adalah parameter startup. Sistem secara otomatis menggabungkan semua nilai `startup` sebagai parameter startup Java untuk aplikasi. Atur ke |
{"InitialHeapSize":{"original":512,"startup":"-Xms512m"},"MaxHeapSize":{"original":1024,"startup":"-Xmx1024m"}} |
| SlsConfigs |
string |
No |
Konfigurasi Logstore. Atur ke
|
[{"logstore":"thisisanotherfilelog","type":"file","logDir":"/var/log/*"},{"logstore":"","type":"stdout","logDir":"stdout.log"},{"logstore":"thisisafilelog","type":"file","logDir":"/tmp/log/*"}] |
| DeployAcrossNodes |
string |
No |
Menentukan apakah instans aplikasi didistribusikan di beberapa node. `true` berarti ya, dan nilai lain berarti tidak. |
true |
| TrafficControlStrategy |
string |
No |
Kebijakan pengendalian trafik untuk rilis bertahap. |
{"http":{"rules":[{"conditionType":"percent","percent":10}]}} |
| PvcMountDescs |
string |
No |
Mengonfigurasi pemasangan PersistentVolumeClaim (PVC) Kubernetes. Ini memungkinkan Anda memasang volume PVC Kubernetes ke direktori kontainer tertentu. Parameter untuk `PvcMountDescs` adalah sebagai berikut:
|
[{"pvcName":"nas-pvc-1","mountPaths":[{"mountPath":"/usr/share/nginx/data"},{"mountPath":"/usr/share/nginx/html","readOnly":true}]}] |
| ConfigMountDescs |
string |
No |
Mengonfigurasi pemasangan ConfigMap dan Secret Kubernetes. Ini memungkinkan Anda memasang ConfigMap atau Secret ke direktori kontainer tertentu. Parameter untuk `ConfigMountDescs` adalah sebagai berikut:
|
[ { "name": "nginx-config", "type": "ConfigMap", "mountPath": "/etc/nginx" }, { "name": "tls-secret", "type": "Secret", "mountPath": "/etc/ssh" } ] |
| EnvFroms |
string |
No |
Mengonfigurasi variabel lingkungan tipe `EnvFrom` Kubernetes. Ini memasang ConfigMap atau Secret tertentu ke direktori. Setiap kunci berkorespondensi dengan file di direktori tersebut, dan konten file adalah nilai kunci tersebut. Parameter untuk `EnvFroms` adalah sebagai berikut.
|
[{"name":"appname","valueFrom":{"configMapKeyRef":{"name":"appconf","key":"name"}}}] |
| EmptyDirs |
string |
No |
Mengonfigurasi pemasangan `emptyDir` Kubernetes. Ini memungkinkan Anda memasang volume `emptyDir` ke direktori kontainer tertentu. Parameter untuk `EmptyDirs` adalah sebagai berikut:
|
[{"mountPath":"/app-log","subPathExpr":"$(POD_IP)"},{"readOnly":true,"mountPath":"/etc/nginx"}] |
| CustomAffinity |
string |
No |
Konfigurasi afinitas pod. Ini hanya berlaku ketika `DeployAcrossNodes` dan `DeployAcrossZones` keduanya bernilai `false`. |
{"nodeAffinity":{"requiredDuringSchedulingIgnoredDuringExecution":{"nodeSelectorTerms":[{"matchExpressions":[{"key":"beta.kubernetes.io/arch","operator":"NotIn","values":["arm64","arm32"]}]}]},"preferredDuringSchedulingIgnoredDuringExecution":[{"weight":5,"preference":{"matchExpressions":[{"key":"kubernetes.io/os","operator":"In","values":["linux"]}]}}]},"podAffinity":{"requiredDuringSchedulingIgnoredDuringExecution":[{"namespaces":["default"],"topologyKey":"kubernetes.io/hostname","labelSelector":{"matchExpressions":[{"key":"edas.oam.acname","operator":"NotIn","values":["edas-test-app"]}]}}]},"podAntiAffinity":{"preferredDuringSchedulingIgnoredDuringExecution":[{"podAffinityTerm":{"namespaces":["default"],"topologyKey":"failure-domain.beta.kubernetes.io/zone","labelSelector":{"matchExpressions":[{"key":"edas.oam.acname","operator":"In","values":["edas-test-app-2"]}]}},"weight":15}]}} |
| CustomTolerations |
string |
No |
Konfigurasi toleransi penjadwalan pod. Ini hanya berlaku ketika `DeployAcrossNodes` dan `DeployAcrossZones` keduanya bernilai `false`. |
[{"key":"edas-taint-key2","operator":"Exists","effect":"NoExecute","tolerationSeconds":50},{"key":"edas-taint-key","operator":"Equal","value":"edas-taint-value","effect":"PreferNoSchedule"}] |
| BuildPackId |
string |
No |
Nomor paket build untuk EDAS Container:
Anda dapat memperoleh nomor tersebut dengan dua cara:
|
59 |
| Annotations |
string |
No |
Anotasi untuk pod aplikasi. |
{"annotation-name-1":"annotation-value-1","annotation-name-2":"annotation-value-2"} |
| Labels |
string |
No |
Label untuk pod aplikasi. |
{"label-name-1":"label-value-1","label-name-2":"label-value-2"} |
| EnableEmptyPushReject |
boolean |
No |
Menentukan apakah akan mengaktifkan perlindungan push kosong:
|
false |
| EnableLosslessRule |
boolean |
No |
Menentukan apakah akan mengaktifkan aturan mulai mulus:
|
true |
| LosslessRuleWarmupTime |
integer |
No |
Durasi pra-ambil layanan. Satuan: detik. Nilainya berkisar antara 0 hingga 86400. |
120 |
| LosslessRuleDelayTime |
integer |
No |
Latensi registrasi layanan. Satuan: detik. Nilainya berkisar antara 0 hingga 86400. |
0 |
| LosslessRuleFuncType |
integer |
No |
Kurva pra-ambil layanan. Nilainya berkisar antara 0 hingga 20. Default adalah 2, yang cocok untuk skenario pra-ambil umum. Ini menunjukkan bahwa kurva penerimaan trafik penyedia layanan mengikuti kurva kuadrat selama periode pra-ambil. |
2 |
| LosslessRuleAligned |
boolean |
No |
Menentukan apakah akan mengaktifkan mode penyebaran bergulir tanpa gangguan untuk menyelesaikan registrasi layanan sebelum pemeriksaan kesiapan berhasil:
Catatan
Jika `LosslessRuleRelated` juga diatur ke `true`, antarmuka ini memeriksa apakah pra-ambil layanan telah selesai.
|
false |
| LosslessRuleRelated |
boolean |
No |
Menentukan apakah akan mengaktifkan mode penyebaran bergulir tanpa gangguan untuk menyelesaikan pra-ambil layanan sebelum pemeriksaan kesiapan berhasil:
|
false |
| LimitEphemeralStorage |
integer |
No |
Batas atas kebutuhan sumber daya penyimpanan sementara. Satuan: GB. Nilai 0 berarti tanpa batas. |
4 |
| RequestsEphemeralStorage |
integer |
No |
Kebutuhan sumber daya penyimpanan sementara minimum. Satuan: GB. Nilai 0 berarti tanpa batas. |
2 |
| Sidecars |
string |
No |
Menyetel kontainer sidecar untuk pod aplikasi. Konfigurasi kontainer dalam format YAML. Nilainya adalah konfigurasi YAML kontainer sidecar yang di-encode base64. |
[ { "yamlEncoded": "Y29tbWFuZDoKICAtIHRhaWwKICAtICctZicKICAtIC9kZXYvbnVsbAppbWFnZTogJ2J1c3lib3g6bGF0ZXN0JwpuYW1lOiBidXN5Ym94Cg==" } ] |
| InitContainers |
string |
No |
Menyetel kontainer init untuk pod aplikasi. Konfigurasi kontainer dalam format YAML. Nilainya adalah konfigurasi YAML kontainer init yang di-encode base64. |
[ { "yamlEncoded": "Y29tbWFuZDoKICAtIHNsZWVwCiAgLSAnNjAnCmltYWdlOiAnYnVzeWJveDpsYXRlc3QnCm5hbWU6IGluaXQtYnVzeWJveAo=" } ] |
| UserBaseImageUrl |
string |
No |
Saat menggunakan runtime JDK kustom, Anda harus mengonfigurasi alamat citra dasar. Alamat ini harus dapat diakses publik. Server EDAS menarik citra ini untuk membangun citra aplikasi. |
openjdk:8u302 |
| CanaryRuleId |
string |
No |
ID kebijakan aturan rilis canary. |
a8daf22e-****-968c7ff2ea34 |
| TerminateGracePeriod |
integer |
No |
Periode timeout berhenti mulus untuk aplikasi. Satuan: detik. |
120 |
| ImagePlatforms |
string |
No |
Arsitektur platform target untuk citra. Ini berlaku saat menerapkan dengan file WAR atau JAR. Contoh:
|
linux/arm64,linux/amd64 |
| Startup |
string |
No |
Pemeriksaan startup dapat digunakan untuk melakukan pemeriksaan kelangsungan hidup pada kontainer yang memulai lambat agar tidak dihentikan sebelum benar-benar berjalan. Contoh: {"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"httpGet": {"path": "/consumer","port": 8080,"scheme": "HTTP","httpHeaders": [{"name": "test","value": "testvalue"}]}}. Untuk menghapus konfigurasi ini, atur parameter ke "" atau {}. Jika Anda tidak mengatur parameter ini, konfigurasi akan diabaikan. |
{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"tcpSocket":{"host":"", "port":8080}} |
| CustomAgentVersion |
string |
No |
Menyetel versi agen Application Real-Time Monitoring Service (ARMS) kustom yang akan dipasang ke aplikasi. Catatan
Fitur ini hanya tersedia untuk pengguna dalam daftar putih. Untuk menggunakan fitur ini, kirim tiket untuk ditambahkan ke daftar putih. |
3.1.4 |
| SecurityContext |
string |
No |
Menyetel properti `SecurityContext` untuk kontainer pod aplikasi. Nilainya adalah konfigurasi YAML `SecurityContext` yang di-encode base64. |
{"yamlEncoded":"cnVuQXNVc2VyOiAwCnJ1bkFzR3JvdXA6IDA="} |
Elemen respons
|
Element |
Type |
Description |
Example |
|
object |
Objek respons. |
||
| ChangeOrderId |
string |
ID proses perubahan. Anda dapat memanggil operasi GetChangeOrderInfo untuk memperolehnya. Untuk informasi selengkapnya, lihat GetChangeOrderInfo. |
cd65b247-****-475b-ad4b-7039040d625c |
| Code |
integer |
Status antarmuka atau kode kesalahan POP. |
200 |
| Message |
string |
Informasi tambahan. |
success |
| RequestId |
string |
ID permintaan. |
a5281053-08e4-47a5-b2ab-5c0323de***** |
Contoh
Respons sukses
JSONformat
{
"ChangeOrderId": "cd65b247-****-475b-ad4b-7039040d625c",
"Code": 200,
"Message": "success",
"RequestId": "a5281053-08e4-47a5-b2ab-5c0323de*****"
}
Kode kesalahan
Lihat Error Codes untuk daftar lengkap.
Catatan rilis
Lihat Release Notes untuk daftar lengkap.