全部产品
Search
文档中心

Resource Orchestration Service:ALIYUN::EDAS::K8sApplication

更新时间:Jul 06, 2025

ALIYUN::EDAS::K8sApplication digunakan untuk membuat aplikasi dalam kluster Kubernetes.

Sintaksis

{
  "Type": "ALIYUN::EDAS::K8sApplication",
  "Properties": {
    "LogicalRegionId": String,
    "NasId": String,
    "Liveness": Map,
    "IntranetSlbId": String,
    "WebContainer": String,
    "LimitCpu": Integer,
    "SlsConfigs": List,
    "IntranetSlbProtocol": String,
    "PackageVersion": String,
    "WebContainerConfig": Map,
    "AppName": String,
    "JDK": String,
    "InternetSlbId": String,
    "PreStop": Map,
    "Readiness": Map,
    "InternetSlbPort": Integer,
    "DeployAcrossNodes": Boolean,
    "RequestsMem": Integer,
    "PackageType": String,
    "UseBodyEncoding": Boolean,
    "JavaStartUpConfig": Map,
    "IsMultilingualApp": Boolean,
    "RequestsCpu": Integer,
    "CommandArgs": List,
    "StorageType": String,
    "ClusterId": String,
    "Timeout": Integer,
    "Envs": List,
    "ImageUrl": String,
    "DeployAcrossZones": Boolean,
    "PostStart": Map,
    "InternetTargetPort": Integer,
    "Replicas": Integer,
    "Namespace": String,
    "ApplicationDescription": String,
    "UriEncoding": String,
    "IntranetTargetPort": Integer,
    "MountDescs": List,
    "LocalVolume": List,
    "RuntimeClassName": String,
    "Command": String,
    "InternetSlbProtocol": String,
    "EdasContainerVersion": String,
    "PackageUrl": String,
    "IntranetSlbPort": Integer,
    "RepoId": String,
    "EnableAhas": Boolean,
    "LimitMem": Integer
  }
}

Properti

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

LogicalRegionId

String

Tidak

Tidak

ID dari namespace Enterprise Distributed Application Service (EDAS).

Properti ini harus ditentukan ketika namespace default tidak digunakan.

NasId

String

Tidak

Tidak

ID dari sistem file File Storage NAS (NAS) yang ingin Anda mount ke aplikasi. Sistem file tersebut harus berada di wilayah yang sama dengan kluster.

Sistem file NAS harus memiliki kuota pembuatan titik mount yang tersedia, atau memiliki target mount pada vSwitch di virtual private cloud (VPC) tempat aplikasi berada.

Jika Anda tidak menentukan properti ini tetapi menentukan MountDescs, sistem akan membeli dan memasang sistem file NAS ke vSwitch di VPC.

Liveness

Map

Tidak

Tidak

Konfigurasi pemeriksaan liveness kontainer.

Contoh: {"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"tcpSocket":{"host":"", "port":8080}}.

Jika properti ini disetel ke "" atau {}, konfigurasi dibatalkan. Jika properti ini dibiarkan kosong, konfigurasi diabaikan.

Untuk informasi lebih lanjut, lihat Properti Liveness.

IntranetSlbId

String

Tidak

Tidak

ID dari instance Server Load Balancer (SLB) akses internal.

Jika Anda tidak menentukan properti ini, EDAS akan membeli instance SLB baru.

WebContainer

String

Tidak

Tidak

Versi kontainer Tomcat tempat paket penyebaran aplikasi bergantung.

Properti ini didukung untuk aplikasi Spring Cloud atau Dubbo yang diterapkan menggunakan paket WAR. Properti ini tidak didukung untuk aplikasi yang diterapkan menggunakan gambar.

LimitCpu

Integer

Tidak

Tidak

Jumlah maksimum vCPU yang diizinkan untuk setiap instance aplikasi saat aplikasi berjalan.

SlsConfigs

Daftar

Tidak

Tidak

Konfigurasi Logstore.

Jika properti ini diatur ke "" atau "{}", konfigurasi akan dibatalkan.

Untuk informasi lebih lanjut, lihat Properti SlsConfigs.

IntranetSlbProtocol

String

Tidak

Tidak

Protokol dari instance SLB akses internal.

Nilai yang valid:

  • TCP

  • HTTP

  • HTTPS

PackageVersion

String

Tidak

Tidak

Versi paket penyebaran aplikasi.

Properti ini harus ditentukan ketika PackageType diatur ke WAR atau FatJar.

Versi EDAS POP API SDK untuk Java atau Python harus 2.44.0 atau lebih baru.

WebContainerConfig

Peta

Tidak

Tidak

Konfigurasi kontainer Tomcat.

Jika properti ini diatur ke "" atau "{}", konfigurasi akan dibatalkan.

Untuk informasi lebih lanjut, lihat Properti WebContainerConfig.

AppName

String

Ya

Tidak

Nama aplikasi.

Nama dapat mencapai hingga 36 karakter, dan dapat berisi digit, huruf, dan tanda hubung (-). Harus dimulai dengan huruf.

JDK

String

Tidak

Tidak

Versi Java Development Kit (JDK) yang digunakan oleh paket deployment aplikasi.

Nilai valid:

  • Open JDK 7

  • Open JDK 8

Properti ini tidak didukung ketika sebuah gambar digunakan untuk menerapkan aplikasi.

InternetSlbId

String

Tidak

Tidak

ID dari instance Internet-facing SLB.

Jika Anda tidak menentukan properti ini, EDAS membeli instance SLB baru.

PreStop

Map

Tidak

Tidak

Konfigurasi skrip pre-stop.

Contoh: {"tcpSocket":{"host":"", "port":8080}}.

Jika properti ini disetel ke "" atau {}, konfigurasi dibatalkan. Jika properti ini dibiarkan kosong, konfigurasi diabaikan.

Untuk informasi lebih lanjut, lihat Properti PreStop.

Readiness

Map

Tidak

Tidak

Konfigurasi pemeriksaan readiness kontainer.

Untuk informasi lebih lanjut, lihat Properti Readiness.

InternetSlbPort

Integer

Tidak

Tidak

Nomor port depan instance Internet-facing SLB.

Nilai valid: 1 hingga 65535.

DeployAcrossNodes

Boolean

Tidak

Tidak

Menentukan apakah instance aplikasi akan didistribusikan di seluruh node.

Nilai valid:

  • true

  • false

RequestsMem

Integer

Tidak

Tidak

Ukuran memori maksimum yang diizinkan untuk setiap instance aplikasi saat aplikasi dibuat.

Satuan: MB.

Nilai 0 menunjukkan bahwa tidak ada batasan pada ukuran memori maksimum.

PackageType

String

Tidak

Tidak

Jenis paket deployment aplikasi.

Nilai valid:

  • FatJar

  • WAR

  • Image

UseBodyEncoding

Boolean

Tidak

Tidak

Menentukan apakah akan menggunakan skema encoding yang ditentukan dalam badan permintaan untuk parameter query Uniform Resource Identifier (URI).

Nilai valid:

  • true

  • false (default)

JavaStartUpConfig

Map

Tidak

Tidak

Konfigurasi parameter startup aplikasi Java.

Jika properti ini disetel ke "" atau "{}", konfigurasi dibatalkan.

Untuk informasi lebih lanjut, lihat Properti JavaStartUpConfig.

IsMultilingualApp

Boolean

Tidak

Tidak

Menentukan apakah aplikasi adalah aplikasi multi-bahasa.

Nilai valid:

  • true

  • false (default)

RequestsCpu

Integer

Tidak

Tidak

Jumlah maksimum vCPU yang diizinkan untuk setiap instance aplikasi saat aplikasi dibuat.

Nilai 0 menunjukkan bahwa tidak ada batasan pada jumlah maksimum vCPU.

CommandArgs

List

Tidak

Tidak

Argumen perintah.

Contoh: [{" argument":"-c"},{" argument":" test"}]]. -c dan test adalah argumen yang bisa Anda tentukan.

Untuk informasi lebih lanjut, lihat Properti CommandArgs.

StorageType

String

Tidak

Tidak

Kategori penyimpanan.

Set nilai menjadi SSD.

ClusterId

String

Ya

Tidak

ID dari kluster Kubernetes.

Anda dapat memanggil operasi ListCluster untuk menanyakan ID kluster.

Timeout

Integer

Tidak

Tidak

Periode timeout proses perubahan.

Satuan: detik.

Envs

List

Tidak

Tidak

Variabel lingkungan yang digunakan untuk menerapkan aplikasi.

Format nilai: [{"Name":"x","Value":"y"},{"Name":"x2","Value":"y2"}].

Untuk informasi lebih lanjut, lihat Properti Envs.

ImageUrl

String

Tidak

Tidak

Alamat gambar.

Properti ini harus ditentukan ketika PackageType disetel ke Image.

DeployAcrossZones

Boolean

Tidak

Tidak

Menentukan apakah instance aplikasi akan didistribusikan di seluruh zona.

Nilai valid:

  • true

  • false

PostStart

Map

Tidak

Tidak

Konfigurasi skrip post-start.

Contoh: {"Exec": {"Command": ["ls", "/"]}}.

Jika properti ini disetel ke "" atau {}, konfigurasi dibatalkan. Jika properti ini dibiarkan kosong, konfigurasi diabaikan.

Untuk informasi lebih lanjut, lihat Properti PostStart.

InternetTargetPort

Integer

Tidak

Tidak

Nomor port belakang instance Internet-facing SLB, yang juga merupakan nomor port layanan aplikasi.

Nilai valid: 1 hingga 65535.

Replicas

Integer

Tidak

Tidak

Jumlah instance aplikasi.

Nilai default: 1.

Namespace

String

Tidak

Tidak

Namespace dari kluster Kubernetes tempat Anda ingin menerapkan aplikasi.

Nilai default: default.

ApplicationDescription

String

Tidak

Ya

Deskripsi aplikasi.

Tidak ada.

UriEncoding

String

Tidak

Tidak

Skema encoding URI.

Nilai valid:

  • ISO-8859-1

  • GBK

  • GB2312

  • UTF-8

Catatan

Jika properti ini tidak ditentukan dalam konfigurasi aplikasi, skema encoding URI default dalam kontainer Tomcat digunakan.

IntranetTargetPort

Integer

Tidak

Tidak

Nomor port belakang instance internal-facing SLB, yang juga merupakan nomor port layanan aplikasi.

Nilai valid: 1 hingga 65535.

MountDescs

List

Tidak

Tidak

Konfigurasi mounting.

Contoh: [{"NasPath": "/k8s","MountPath": "/mnt"}, {"NasPath": "/files", "MountPath": "/app/files"}]. NasPath menentukan jalur penyimpanan sistem file. MountPath menentukan jalur tempat Anda ingin memasang sistem file di dalam kontainer.

Untuk informasi lebih lanjut, lihat Properti MountDescs.

LocalVolume

List

Tidak

Tidak

Konfigurasi untuk memasang file host ke kontainer.

Contoh: [{"type":"", "nodePath":"/localfiles", "mountPath":"/app/files"}, {"type":"Directory", "nodePath":"/mnt", "mountPath":"/app/storage"}]. nodePath menentukan jalur host. mountPath menentukan jalur di dalam kontainer. type menentukan tipe mounting.

Untuk informasi lebih lanjut, lihat Properti LocalVolume.

RuntimeClassName

String

Tidak

Tidak

Jenis runtime kontainer.

Properti ini hanya berlaku untuk kluster yang menjalankan kontainer sandbox.

Command

String

Tidak

Tidak

Perintah.

Jika Anda menentukan nilai untuk properti ini, nilai tersebut menggantikan perintah startup dalam gambar saat gambar dimulai.

InternetSlbProtocol

String

Tidak

Tidak

Protokol instance Internet-facing SLB.

Nilai valid:

  • TCP

  • HTTP

  • HTTPS

EdasContainerVersion

String

Tidak

Tidak

Versi EDAS Container yang digunakan oleh paket deployment aplikasi.

Properti ini tidak didukung ketika sebuah gambar digunakan untuk menerapkan aplikasi.

PackageUrl

String

Tidak

Tidak

Alamat paket deployment.

Properti ini harus ditentukan ketika FatJar atau WAR package digunakan untuk menerapkan aplikasi.

Catatan

Versi EDAS SDK untuk Java atau Python harus 2.44.0 atau lebih baru.

IntranetSlbPort

Integer

Tidak

Tidak

Nomor port depan instance internal-facing SLB.

Nilai valid: 1 hingga 65535.

RepoId

String

Tidak

Tidak

ID repositori gambar.

Tidak ada.

EnableAhas

Boolean

Tidak

Tidak

Menentukan apakah akan mengaktifkan akses ke Application High Availability Service.

Nilai valid:

  • true

  • false (default)

LimitMem

Integer

Tidak

Tidak

Ukuran memori maksimum yang diizinkan untuk setiap instance aplikasi saat aplikasi sedang berjalan.

Satuan: MB.

Sintaksis Liveness

"Liveness": {
  "TimeoutSeconds": Integer,
  "Exec": Map,
  "InitialDelaySeconds": Integer,
  "HttpGet": Map,
  "PeriodSeconds": Integer,
  "TcpSocket": Map,
  "FailureThreshold": Integer,
  "SuccessThreshold": Integer
}

Properti Liveness

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

TimeoutSeconds

Integer

Tidak

Tidak

Periode timeout pemeriksaan.

Nilai minimum: 1.

Satuan: detik.

Exec

Map

Tidak

Tidak

Perintah yang akan dijalankan.

Untuk informasi lebih lanjut, lihat Properti Exec.

InitialDelaySeconds

Integer

Tidak

Tidak

Waktu tunggu setelah kontainer dimulai dan sebelum sistem melakukan pemeriksaan pertama.

Nilai minimum: 1.

Satuan: detik.

HttpGet

Map

Tidak

Tidak

Metode HTTP GET.

Untuk informasi lebih lanjut, lihat Properti HttpGet.

PeriodSeconds

Integer

Tidak

Tidak

Interval waktu antara dua pemeriksaan berturut-turut.

Nilai minimum: 1.

Satuan: detik.

TcpSocket

Map

Tidak

Tidak

Nomor port ke mana sistem mengirim permintaan TCP socket.

Untuk informasi lebih lanjut, lihat Properti TcpSocket.

FailureThreshold

Integer

Tidak

Tidak

Jumlah kali kontainer sehat harus gagal secara berturut-turut sebelum dinyatakan tidak sehat.

Nilai minimum: 1.

SuccessThreshold

Integer

Tidak

Tidak

Jumlah kali kontainer tidak sehat harus lulus pemeriksaan secara berturut-turut sebelum dinyatakan sehat.

Nilai minimum: 1.

Sintaksis Exec

"Exec": {
  "Command": List
}

Properti Exec

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Command

List

Tidak

Tidak

Perintah yang akan dijalankan.

Tidak ada.

Sintaksis HttpGet

"HttpGet": {
  "Path": String,
  "HttpHeaders": List,
  "Scheme": String,
  "Port": String,
  "Host": String
}

Properti HttpGet

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Path

String

Tidak

Tidak

Path.

Tidak ada.

HttpHeaders

List

Tidak

Tidak

Header permintaan HTTP.

Contoh: [{"name": "test","value": "testvalue"}].

Untuk informasi lebih lanjut, lihat Properti HttpHeaders.

Scheme

String

Tidak

Tidak

Skema.

Contoh: {'AllowedValues': ['HTTP', 'HTTPS']}.

Port

String

Tidak

Tidak

Nomor port.

Tidak ada.

Host

String

Tidak

Tidak

Host.

Tidak ada.

Sintaksis HttpHeaders

"HttpHeaders": [
  {
    "Value": String,
    "Name": String
  }
]

Properti HttpHeaders

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Value

String

Tidak

Tidak

Nilai.

Tidak ada.

Name

String

Tidak

Tidak

Nama.

Tidak ada.

Sintaksis TcpSocket

"TcpSocket": {
  "Port": String,
  "Host": String
}

Properti TcpSocket

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Port

String

Tidak

Tidak

Nomor port.

Tidak ada.

Host

String

Tidak

Tidak

Host.

Tidak ada.

Sintaksis SlsConfigs

"SlsConfigs": [
  {
    "Type": String,
    "LogDir": String,
    "Logstore": String
  }
]

Properti SlsConfigs

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Type

String

Tidak

Tidak

Jenis koleksi.

Nilai valid:

  • file: file.

  • stdout: keluaran standar.

LogDir

String

Tidak

Tidak

Jalur koleksi.

Jalur koleksi harus sesuai dengan ekspresi reguler berikut: ^/(.+)/(.*)^/$. Jika Type disetel ke stdout, jalur koleksi adalah stdout.log. Jika Type disetel ke file, jalur koleksi adalah jalur file yang dikumpulkan.

Logstore

String

Tidak

Tidak

Nama Logstore.

Pastikan nama Logstore unik di dalam kluster.

Nama harus terdiri dari 3 hingga 63 karakter. Harus dimulai dan diakhiri dengan huruf kecil atau digit. Dapat berisi huruf kecil, digit, tanda hubung (-), dan garis bawah (_).

Catatan

Jika Anda tidak menentukan properti ini, sistem akan menghasilkan nama Logstore.

Sintaksis WebContainerConfig

"WebContainerConfig": {
  "HttpPort": Integer,
  "UriEncoding": String,
  "ContextPath": String,
  "ContextInputType": String,
  "UseBodyEncoding": Boolean,
  "ServerXml": String,
  "MaxThreads": Integer,
  "UseAdvancedServerXml": Boolean,
  "UseDefaultConfig": Boolean
}

Properti WebContainerConfig

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

HttpPort

Integer

Tidak

Tidak

Nomor port HTTP.

Nilai valid: 1024 hingga 65535.

Nilai default: 8080.

Catatan

Izin root diperlukan untuk melakukan operasi pada nomor port yang kurang dari 1024.

UriEncoding

String

Tidak

Tidak

Format encoding untuk kontainer Tomcat.

Nilai valid:

  • UTF-8

  • ISO-8859-1 (default)

  • GBK

  • GB2312

ContextPath

String

Tidak

Tidak

Path kustom.

Properti ini harus ditentukan ketika ContextInputType disetel ke custom.

ContextInputType

String

Tidak

Tidak

Path akses aplikasi.

Nilai valid:

  • war: Path akses aplikasi adalah nama paket WAR. Anda tidak perlu menentukan path kustom.

  • root: Path akses aplikasi adalah /. Anda tidak perlu menentukan path kustom.

  • custom: Path akses aplikasi adalah path kustom yang Anda tentukan menggunakan ContextPath.

UseBodyEncoding

Boolean

Tidak

Tidak

Menentukan apakah akan menggunakan skema encoding yang ditentukan dalam badan permintaan untuk parameter query URI.

Nilai valid:

  • true

  • false (default)

ServerXml

String

Tidak

Tidak

Konten file server.xml kustom dalam konfigurasi lanjutan.

Properti ini berlaku ketika UseAdvancedServerXml disetel ke true.

MaxThreads

Integer

Tidak

Tidak

Jumlah koneksi dalam pool koneksi.

Nilai default: 400.

Catatan

Properti ini sangat memengaruhi performa aplikasi. Kami sarankan Anda berkonsultasi dengan dukungan teknis sebelum menentukan properti ini.

UseAdvancedServerXml

Boolean

Tidak

Tidak

Menentukan apakah akan menggunakan konfigurasi lanjutan untuk mendefinisikan file server.xml kustom.

Nilai valid:

  • true

  • false (default)

Ketika UseAdvancedServerXml disetel ke true, Anda dapat memodifikasi file server.xml kontainer Tomcat.

UseDefaultConfig

Boolean

Tidak

Tidak

Menentukan apakah akan menggunakan konfigurasi kustom.

Nilai valid:

  • true (default): menggunakan konfigurasi default alih-alih konfigurasi kustom.

  • false: menggunakan konfigurasi kustom.

Sintaksis PreStop

"PreStop": {
  "Exec": Map,
  "HttpGet": Map
}

Properti PreStop

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Exec

Map

Tidak

Tidak

Perintah yang akan dijalankan.

Tidak ada.

HttpGet

Map

Tidak

Tidak

Metode HTTP GET.

Tidak ada.

Sintaksis Readiness

"Readiness": {
  "TimeoutSeconds": Integer,
  "Exec": Map,
  "InitialDelaySeconds": Integer,
  "HttpGet": Map,
  "PeriodSeconds": Integer,
  "TcpSocket": Map,
  "FailureThreshold": Integer,
  "SuccessThreshold": Integer
}

Properti Readiness

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

TimeoutSeconds

Integer

Tidak

Tidak

Periode timeout.

Satuan: detik.

Nilai minimum: 1.

Exec

Peta

Tidak

Tidak

Perintah yang akan dijalankan.

Tidak ada.

InitialDelaySeconds

Integer

Tidak

Tidak

Waktu tunggu setelah kontainer dimulai dan sebelum sistem melakukan pemeriksaan pertama.

Satuan: detik.

Nilai minimum: 1.

HttpGet

Map

Tidak

Tidak

Permintaan HTTP GET.

Tidak ada.

PeriodSeconds

Integer

Tidak

Tidak

Interval waktu antara dua pemeriksaan berturut-turut.

Satuan: detik.

Nilai minimum: 1.

TcpSocket

Map

Tidak

Tidak

Nomor port ke mana sistem mengirim permintaan TCP socket.

Tidak ada.

FailureThreshold

Integer

Tidak

Tidak

Jumlah kali kontainer sehat harus gagal secara berturut-turut sebelum dinyatakan tidak sehat.

Nilai minimum: 1.

SuccessThreshold

Integer

Tidak

Tidak

Jumlah kali kontainer tidak sehat harus lulus pemeriksaan secara berturut-turut sebelum dinyatakan sehat.

Nilai minimum: 1.

Sintaksis JavaStartUpConfig

"JavaStartUpConfig": {
  "MaxHeapSize": Map,
  "UseGCLogFileRotation": Map,
  "CustomParams": Map,
  "ParallelGCThreads": Map,
  "InitialHeapSize": Map,
  "NacosUseEndpointParsingRule": Map,
  "ThreadStackSize": Map,
  "SurvivorRatio": Map,
  "PermSize": Map,
  "NewSize": Map,
  "ConcGCThreads": Map,
  "NewRatio": Map,
  "GCLogFileSize": Map,
  "MaxNewSize": Map,
  "G1HeapRegionSize": Map,
  "PrintGC": Map,
  "MaxDirectMemorySize": Map,
  "MaxPermSize": Map,
  "HeapDumpOnOutOfMemoryError": Map,
  "NacosUseCloudNamespaceParsing": Map,
  "HeapDumpPath": Map,
  "GCLogFilePath": Map,
  "PrintGCDateStamps": Map,
  "YoungGarbageCollector": Map,
  "OldGarbageCollector": Map
}

Properti JavaStartUpConfig

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

MaxHeapSize

Map

Tidak

Tidak

Ukuran maksimum memori heap.

Satuan: MB.

Nilai valid: 0 hingga X. X dihitung menggunakan rumus berikut: X = 0,85 × Memori tersedia dari instance Elastic Compute Service (ECS) untuk aplikasi.

Untuk informasi lebih lanjut, lihat Properti MaxHeapSize.

UseGCLogFileRotation

Map

Tidak

Tidak

Menentukan apakah akan merotasi file log pengumpulan sampah (GC).

Untuk informasi lebih lanjut, lihat Properti UseGCLogFileRotation.

CustomParams

Map

Tidak

Tidak

Parameter kustom.

Pisahkan beberapa parameter dengan spasi.

Untuk informasi lebih lanjut, lihat Properti CustomParams.

ParallelGCThreads

Map

Tidak

Tidak

Jumlah thread yang digunakan untuk GC paralel.

Untuk informasi lebih lanjut, lihat Properti ParallelGCThreads.

InitialHeapSize

Map

Tidak

Tidak

Ukuran awal memori heap.

Satuan: MB.

Nilai 0 menunjukkan bahwa tidak ada batasan pada ukuran awal.

Untuk informasi lebih lanjut, lihat Properti InitialHeapSize.

NacosUseEndpointParsingRule

Map

Tidak

Tidak

Menentukan apakah akan mengaktifkan aturan parsing endpoint.

Untuk informasi lebih lanjut, lihat Properti NacosUseEndpointParsingRule.

ThreadStackSize

Map

Tidak

Tidak

Ukuran memori stack thread.

Satuan: KB.

Untuk informasi lebih lanjut, lihat Properti ThreadStackSize.

SurvivorRatio

Map

Tidak

Tidak

Rasio memori Eden/Survivor.

Untuk informasi lebih lanjut, lihat Properti SurvivorRatio.

PermSize

Map

Tidak

Tidak

Ukuran awal memori generasi permanen.

Satuan: MB.

Untuk informasi lebih lanjut, lihat Properti PermSize.

NewSize

Map

Tidak

Tidak

Ukuran awal memori heap generasi baru.

Satuan: MB.

Untuk informasi lebih lanjut, lihat Properti NewSize.

ConcGCThreads

Map

Tidak

Tidak

Jumlah thread yang digunakan untuk GC bersamaan.

Untuk informasi lebih lanjut, lihat Properti ConcGCThreads.

NewRatio

Map

Tidak

Tidak

Rasio antara generasi tua dan muda.

Untuk informasi lebih lanjut, lihat Properti NewRatio.

GCLogFileSize

Map

Tidak

Tidak

Ukuran file log GC.

Untuk informasi lebih lanjut, lihat Properti GCLogFileSize.

MaxNewSize

Map

Tidak

Tidak

Ukuran maksimum memori heap generasi baru.

Satuan: MB.

Nilai max_uintx menunjukkan bahwa tidak ada batasan pada ukuran maksimum.

Untuk informasi lebih lanjut, lihat Properti MaxNewSize.

G1HeapRegionSize

Map

Tidak

Tidak

Ukuran region G1.

Untuk informasi lebih lanjut, lihat Properti G1HeapRegionSize.

PrintGC

Map

Tidak

Tidak

Menentukan apakah akan mencetak informasi ringkasan GC setelah setiap koleksi.

Untuk informasi lebih lanjut, lihat Properti PrintGC.

MaxDirectMemorySize

Map

Tidak

Tidak

Ukuran maksimum memori langsung I/O (NIO).

Satuan: MB.

Untuk informasi lebih lanjut, lihat Properti MaxDirectMemorySize.

MaxPermSize

Map

Tidak

Tidak

Ukuran maksimum memori generasi permanen.

Satuan: MB.

Untuk informasi lebih lanjut, lihat Properti MaxPermSize.

HeapDumpOnOutOfMemoryError

Map

Tidak

Tidak

Menentukan apakah akan membuat dump heap memori saat terjadi kesalahan kehabisan memori.

Untuk informasi lebih lanjut, lihat Properti HeapDumpOnOutOfMemoryError.

NacosUseCloudNamespaceParsing

Map

Tidak

Tidak

Menentukan apakah akan mengaktifkan parsing namespace otomatis.

Untuk informasi lebih lanjut, lihat Properti NacosUseCloudNamespaceParsing.

HeapDumpPath

Map

Tidak

Tidak

Path file dump heap.

Untuk informasi lebih lanjut, lihat Properti HeapDumpPath.

GCLogFilePath

Map

Tidak

Tidak

Path file log GC.

Untuk informasi lebih lanjut, lihat Properti GCLogFilePath.

PrintGCDateStamps

Map

Tidak

Tidak

Menentukan apakah akan mencetak timestamp dalam setiap entri log GC.

Untuk informasi lebih lanjut, lihat Properti PrintGCDateStamps.

YoungGarbageCollector

Map

Tidak

Tidak

Pengumpul sampah muda.

Untuk informasi lebih lanjut, lihat Properti YoungGarbageCollector.

OldGarbageCollector

Map

Tidak

Tidak

Pengumpul sampah tua.

Anda harus mengonfigurasi pengumpul sampah muda sebelum menentukan properti ini.

Untuk informasi lebih lanjut, lihat Properti OldGarbageCollector.

Sintaksis MaxHeapSize

"MaxHeapSize": {
  "Original": Integer,
  "Startup": String
}

Properti MaxHeapSize

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Original

Integer

Tidak

Tidak

Nilai konfigurasi.

Tidak ada.

Startup

String

Tidak

Tidak

Parameter startup.

Tidak ada.

Sintaksis UseGCLogFileRotation

"UseGCLogFileRotation": {
  "Original": Boolean,
  "Startup": String
}

Properti UseGCLogFileRotation

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Original

Boolean

Tidak

Tidak

Nilai konfigurasi.

Tidak ada.

Startup

String

Tidak

Tidak

Parameter startup.

Tidak ada.

Sintaksis CustomParams

"CustomParams": {
  "Original": String,
  "Startup": String
}

Properti CustomParams

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Original

String

Tidak

Tidak

Nilai konfigurasi.

Tidak ada.

Startup

String

Tidak

Tidak

Parameter startup.

Tidak ada.

Sintaksis ParallelGCThreads

"ParallelGCThreads": {
  "Original": Integer,
  "Startup": String
}

Properti ParallelGCThreads

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Original

Integer

Tidak

Tidak

Nilai konfigurasi.

Tidak ada.

Startup

String

Tidak

Tidak

Parameter startup.

Tidak ada.

Sintaksis InitialHeapSize

"InitialHeapSize": {
  "Original": Integer,
  "Startup": String
}

Properti InitialHeapSize

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Original

Integer

Tidak

Tidak

Nilai konfigurasi.

Tidak ada.

Startup

String

Tidak

Tidak

Parameter startup.

Tidak ada.

Sintaksis NacosUseEndpointParsingRule

"NacosUseEndpointParsingRule": {
  "Original": Boolean,
  "Startup": String
}

Properti NacosUseEndpointParsingRule

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Original

Boolean

Tidak

Tidak

Nilai konfigurasi.

Tidak ada.

Startup

String

Tidak

Tidak

Parameter startup.

Tidak ada.

Sintaksis ThreadStackSize

"ThreadStackSize": {
  "Original": Integer,
  "Startup": String
}

Properti ThreadStackSize

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Original

Integer

Tidak

Tidak

Nilai konfigurasi.

Tidak ada.

Startup

String

Tidak

Tidak

Parameter startup.

Tidak ada.

Sintaksis SurvivorRatio

"SurvivorRatio": {
  "Original": Integer,
  "Startup": String
}

Properti SurvivorRatio

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Original

Integer

Tidak

Tidak

Nilai konfigurasi.

Tidak ada.

Startup

String

Tidak

Tidak

Parameter startup.

Tidak ada.

Sintaksis PermSize

"PermSize": {
  "Original": Integer,
  "Startup": String
}

Properti PermSize

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Original

Integer

Tidak

Tidak

Nilai konfigurasi.

Tidak ada.

Startup

String

Tidak

Tidak

Parameter startup.

Tidak ada.

Sintaksis NewSize

"NewSize": {
  "Original": Integer,
  "Startup": String
}

Properti NewSize

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Original

Integer

Tidak

Tidak

Nilai konfigurasi.

Tidak ada.

Startup

String

Tidak

Tidak

Parameter startup.

Tidak ada.

Sintaksis ConcGCThreads

"ConcGCThreads": {
  "Original": Integer,
  "Startup": String
}

Properti ConcGCThreads

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Original

Integer

Tidak

Tidak

Nilai konfigurasi.

Tidak ada.

Startup

String

Tidak

Tidak

Parameter startup.

Tidak ada.

Sintaksis NewRatio

"NewRatio": {
  "Original": Integer,
  "Startup": String
}

Properti NewRatio

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Original

Integer

Tidak

Tidak

Nilai konfigurasi.

Tidak ada.

Startup

String

Tidak

Tidak

Parameter startup.

Tidak ada.

Sintaksis GCLogFileSize

"GCLogFileSize": {
  "Original": Integer,
  "Startup": String
}

Properti GCLogFileSize

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Original

Integer

Tidak

Tidak

Nilai konfigurasi.

Tidak ada.

Startup

String

Tidak

Tidak

Parameter startup.

Tidak ada.

Sintaksis MaxNewSize

"MaxNewSize": {
  "Original": Integer,
  "Startup": String
}

Properti MaxNewSize

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Original

Integer

Tidak

Tidak

Nilai konfigurasi.

Tidak ada.

Startup

String

Tidak

Tidak

Parameter startup.

Tidak ada.

Sintaksis G1HeapRegionSize

"G1HeapRegionSize": {
  "Original": Integer,
  "Startup": String
}

Properti G1HeapRegionSize

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Original

Integer

Tidak

Tidak

Nilai konfigurasi.

Tidak ada.

Startup

String

Tidak

Tidak

Parameter startup.

Tidak ada.

Sintaksis PrintGC

"PrintGC": {
  "Original": Boolean,
  "Startup": String
}

Properti PrintGC

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Original

Boolean

Tidak

Tidak

Nilai konfigurasi.

Tidak ada.

Startup

String

Tidak

Tidak

Parameter startup.

Tidak ada.

Sintaksis MaxDirectMemorySize

"MaxDirectMemorySize": {
  "Original": Integer,
  "Startup": String
}

Properti MaxDirectMemorySize

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Original

Integer

Tidak

Tidak

Nilai konfigurasi.

Tidak ada.

Startup

String

Tidak

Tidak

Parameter startup.

Tidak ada.

Sintaksis MaxPermSize

"MaxPermSize": {
  "Original": Integer,
  "Startup": String
}

Properti MaxPermSize

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Original

Integer

Tidak

Tidak

Nilai konfigurasi.

Tidak ada.

Startup

String

Tidak

Tidak

Parameter startup.

Tidak ada.

Sintaksis HeapDumpOnOutOfMemoryError

"HeapDumpOnOutOfMemoryError": {
  "Original": Boolean,
  "Startup": String
}

Properti HeapDumpOnOutOfMemoryError

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Original

Boolean

Tidak

Tidak

Nilai konfigurasi.

Tidak ada.

Startup

String

Tidak

Tidak

Parameter startup.

Tidak ada.

Sintaksis NacosUseCloudNamespaceParsing

"NacosUseCloudNamespaceParsing": {
  "Original": Boolean,
  "Startup": String
}

Properti NacosUseCloudNamespaceParsing

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Original

Boolean

Tidak

Tidak

Nilai konfigurasi.

Tidak ada.

Startup

String

Tidak

Tidak

Parameter startup.

Tidak ada.

Sintaksis HeapDumpPath

"HeapDumpPath": {
  "Original": String,
  "Startup": String
}

Properti HeapDumpPath

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Original

String

Tidak

Tidak

Nilai konfigurasi.

Tidak ada.

Startup

String

Tidak

Tidak

Parameter startup.

Tidak ada.

Sintaksis GCLogFilePath

"GCLogFilePath": {
  "Original": String,
  "Startup": String
}

Properti GCLogFilePath

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Original

String

Tidak

Tidak

Nilai konfigurasi.

Tidak ada.

Startup

String

Tidak

Tidak

Parameter startup.

Tidak ada.

Sintaksis PrintGCDateStamps

"PrintGCDateStamps": {
  "Original": Boolean,
  "Startup": String
}

Properti PrintGCDateStamps

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Original

Boolean

Tidak

Tidak

Nilai konfigurasi.

Tidak ada.

Startup

String

Tidak

Tidak

Parameter startup.

Tidak ada.

Sintaksis YoungGarbageCollector

"YoungGarbageCollector": {
  "Original": String,
  "Startup": String
}

Properti YoungGarbageCollector

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Original

String

Tidak

Tidak

Nilai konfigurasi.

Tidak ada.

Startup

String

Tidak

Tidak

Parameter startup.

Tidak ada.

Sintaksis OldGarbageCollector

"OldGarbageCollector": {
  "Original": String,
  "Startup": String
}

Properti OldGarbageCollector

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Original

String

Tidak

Tidak

Nilai konfigurasi.

Tidak ada.

Startup

String

Tidak

Tidak

Parameter startup.

Tidak ada.

Sintaksis CommandArgs

"CommandArgs": [
  {
    "Argument": String
  }
]

Properti CommandArgs

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Argument

String

Tidak

Tidak

Argumen perintah.

Anda harus menggunakan properti ini bersama dengan perintah. Argumen perintah adalah array JSON. Contoh argumen: [{"argument":"-c"},{"argument":"test"}]. -c dan test adalah argumen yang bisa Anda tentukan.

Sintaksis Envs

"Envs": [
  {
    "Value": String,
    "Name": String
  }
]

Properti Envs

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Value

String

Tidak

Tidak

Nilai.

Tidak ada.

Name

String

Tidak

Tidak

Nama.

Tidak ada.

Sintaksis PostStart

"PostStart": {
  "Exec": Map,
  "HttpGet": Map
}

Properti PostStart

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Exec

Map

Tidak

Tidak

Perintah yang akan dijalankan.

Tidak ada.

HttpGet

Map

Tidak

Tidak

Permintaan HTTP GET.

Tidak ada.

Sintaksis MountDescs

"MountDescs": [
  {
    "MountPath": String,
    "NasPath": String
  }
]

Properti MountDescs

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

MountPath

String

Tidak

Tidak

Jalur tempat Anda ingin memasang sistem file di dalam kontainer.

Tidak ada.

NasPath

String

Tidak

Tidak

Jalur penyimpanan sistem file.

Tidak ada.

Sintaksis LocalVolume

"LocalVolume": [
  {
    "MountPath": String,
    "Type": String,
    "NodePath": String
  }
]

Properti LocalVolume

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

MountPath

String

Tidak

Tidak

Jalur di dalam kontainer.

Tidak ada.

Type

String

Tidak

Tidak

Tipe mounting.

Tidak ada.

NodePath

String

Tidak

Tidak

Jalur host.

Tidak ada.

Nilai Pengembalian

Fn::GetAtt

  • AppId: ID aplikasi.

  • ClusterId: ID kluster Kubernetes tempat aplikasi dibuat.

  • ChangeOrderId: ID proses perubahan.

  • CsClusterId: ID kluster K8s dari aplikasi.

  • AppName: nama aplikasi.

Contoh

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "LogicalRegionId": {
      "Type": "String",
      "Description": "ID namespace EDAS. Parameter ini diperlukan untuk namespace non-default."
    },
    "NasId": {
      "Type": "String",
      "Description": "ID sistem file Network Attached Storage (NAS) yang dipasang ke kontainer tempat aplikasi berjalan. Sistem file NAS harus berada di wilayah yang sama dengan kluster. Sistem file NAS harus memiliki target mount yang tersedia, atau memiliki target mount pada vSwitch di virtual private cloud (VPC) tempat aplikasi berada. Jika parameter ini tidak ditentukan dan field mountDescs ada, sistem file NAS secara otomatis dibeli dan dipasang ke vSwitch di VPC secara default."
    },
    "Liveness": {
      "Type": "Json",
      "Description": "Pemeriksaan liveness pada kontainer."
    },
    "IntranetSlbId": {
      "Type": "String",
      "Description": "ID instance Server Load Balancer (SLB) akses internal. Jika parameter ini tidak ditentukan, Enterprise Distributed Application Service (EDAS) secara otomatis membeli instance SLB baru untuk Anda."
    },
    "WebContainer": {
      "Type": "String",
      "Description": "Versi kontainer Tomcat yang digunakan oleh paket deployment aplikasi. Parameter ini berlaku untuk aplikasi Spring Cloud dan Apache Dubbo yang diterapkan menggunakan paket WAR. Parameter ini tidak didukung ketika Anda menerapkan aplikasi menggunakan gambar."
    },
    "LimitCpu": {
      "Type": "Number",
      "Description": "Jumlah maksimum CPU yang diizinkan untuk setiap instance aplikasi saat aplikasi sedang berjalan. Satuan: core."
    },
    "SlsConfigs": {
      "Type": "Json",
      "Description": "Konfigurasi Logstore."
    },
    "IntranetSlbProtocol": {
      "Type": "String",
      "Description": "Protokol instance SLB akses internal. Nilai valid: TCP, HTTP, dan HTTPS.",
      "AllowedValues": [
        "TCP",
        "HTTP",
        "HTTPS"
      ]
    },
    "PackageVersion": {
      "Type": "String",
      "Description": "Versi paket deployment. Parameter ini diperlukan ketika parameter PackageType disetel ke WAR atau FatJar. Anda harus menentukan versi.
Catatan: Versi SDK untuk Java atau Python harus 2.44.0 atau lebih baru."
    },
    "WebContainerConfig": {
      "Type": "Json",
      "Description": "Konfigurasi kontainer Tomcat."
    },
    "AppName": {
      "Type": "String",
      "Description": "Nama aplikasi. Nama tersebut harus dimulai dengan huruf dan dapat berisi digit, huruf, serta tanda hubung (-). Panjangnya bisa mencapai hingga 36 karakter."
    },
    "JDK": {
      "Type": "String",
      "Description": "Versi Java Development Kit (JDK) yang digunakan oleh paket deployment aplikasi.
Nilai valid: Open JDK 7 dan Open JDK 8. Parameter ini tidak didukung ketika Anda menerapkan aplikasi menggunakan gambar."
    },
    "InternetSlbId": {
      "Type": "String",
      "Description": "ID instance Internet-facing SLB. Jika parameter ini tidak ditentukan, EDAS secara otomatis membeli instance SLB baru untuk Anda."
    },
    "PreStop": {
      "Type": "Json",
      "Description": "Skrip pre-stop. Contohnya: {\"Exec\": {\"Command\": [\"ls\", \"/\"]}}."
    },
    "InternetSlbPort": {
      "Type": "Number",
      "Description": "Nomor port depan instance Internet-facing SLB. Nilai valid: 1 hingga 65535.",
      "MinValue": 1,
      "MaxValue": 65535
    },
    "Readiness": {
      "Type": "Json",
      "Description": "Pemeriksaan readiness pada kontainer."
    },
    "DeployAcrossNodes": {
      "AllowedValues": [
        "True",
        "true",
        "False",
        "false"
      ],
      "Description": "Menentukan apakah akan mendistribusikan instance aplikasi ke beberapa node. Nilai true menunjukkan ya, sedangkan nilai lainnya menunjukkan tidak.",
      "Type": "Boolean"
    },
    "RequestsMem": {
      "Type": "Number",
      "Description": "Jumlah maksimum memori yang diizinkan untuk setiap instance aplikasi saat aplikasi dibuat. Satuan: MB. Nilai 0 menunjukkan tidak ada batasan.",
      "MinValue": 0
    },
    "PackageType": {
      "Type": "String",
      "Description": "Tipe paket deployment. Nilai valid: FatJar, WAR, dan Image."
    },
    "UseBodyEncoding": {
      "AllowedValues": [
        "True",
        "true",
        "False",
        "false"
      ],
      "Description": "Menentukan apakah useBodyEncodingForURI diaktifkan.
Catatan: Jika parameter ini tidak ditentukan dalam konfigurasi aplikasi, nilai default false diterapkan.",
      "Type": "Boolean"
    },
    "JavaStartUpConfig": {
      "Type": "Json",
      "Description": "Konfigurasi parameter startup Java untuk aplikasi Java. Parameter startup ini melibatkan memori, aplikasi, kebijakan pengumpulan sampah (GC), alat, pendaftaran layanan dan penemuan, serta konfigurasi kustom. Penyetelan parameter yang tepat membantu mengurangi overhead GC, memperpendek waktu respons server, dan meningkatkan throughput.
Sistem secara otomatis menggabungkan semua nilai startup sebagai konfigurasi parameter startup Java untuk aplikasi."
    },
    "IsMultilingualApp": {
      "AllowedValues": [
        "True",
        "true",
        "False",
        "false"
      ],
      "Description": "Menentukan apakah aplikasi adalah aplikasi multi-bahasa.",
      "Type": "Boolean"
    },
    "RequestsCpu": {
      "Type": "Number",
      "Description": "Jumlah maksimum CPU yang diizinkan untuk setiap instance aplikasi saat aplikasi dibuat. Satuan: core. Nilai 0 menunjukkan tidak ada batasan.",
      "MinValue": 0
    },
    "CommandArgs": {
      "Type": "Json",
      "Description": "Koleksi perintah. Contohnya: [{\"argument\":\"-c\"},{\"argument\":\"test\"}], di mana -c dan test adalah dua parameter yang dapat ditentukan."
    },
    "StorageType": {
      "Type": "String",
      "Description": "Hanya SSD yang didukung."
    },
    "ClusterId": {
      "Type": "String",
      "Description": "ID kluster. Anda dapat menanyakan ID kluster dengan memanggil operasi ListCluster.
Untuk informasi lebih lanjut, lihat ListCluster."
    },
    "Timeout": {
      "Type": "Number",
      "Description": "Interval timeout proses perubahan. Satuan: detik.",
      "MinValue": 1
    },
    "Envs": {
      "Type": "Json",
      "Description": "Koleksi variabel lingkungan deployment. Contohnya: [{\"Name\":\"x\",\"Value\":\"y\"},{\"Name\":\"x2\",\"Value\":\"y2\"}]."
    },
    "ImageUrl": {
      "Type": "String",
      "Description": "URL gambar. Ketika PackageType disetel ke Image, parameter ini diperlukan."
    },
    "DeployAcrossZones": {
      "AllowedValues": [
        "True",
        "true",
        "False",
        "false"
      ],
      "Description": "Menentukan apakah akan mendistribusikan instance aplikasi ke beberapa zona. Nilai true menunjukkan ya, sedangkan nilai lainnya menunjukkan tidak.",
      "Type": "Boolean"
    },
    "PostStart": {
      "Type": "Json",
      "Description": "Skrip post-start. Contohnya: {\"Exec\": {\"Command\": [\"ls\", \"/\"]}}."
    },
    "InternetTargetPort": {
      "Type": "Number",
      "Description": "Nomor port belakang instance Internet-facing SLB, yang juga merupakan nomor port layanan aplikasi.
Nilai valid: 1 hingga 65535.",
      "MinValue": 1,
      "MaxValue": 65535
    },
    "Replicas": {
      "Default": 1,
      "Description": "Jumlah instance untuk aplikasi yang ingin Anda buat. Default: 1",
      "MinValue": 1,
      "Type": "Number"
    },
    "Namespace": {
      "Type": "String",
      "Description": "Namespace dari kluster Kubernetes. Parameter ini menentukan namespace Kubernetes tempat aplikasi Anda diterapkan. Secara default, parameter ini disetel ke default."
    },
    "ApplicationDescription": {
      "Type": "String",
      "Description": "Deskripsi aplikasi."
    },
    "UriEncoding": {
      "Type": "String",
      "Description": "Skema encoding Uniform Resource Identifier (URI). Nilai valid: ISO-8859-1, GBK, GB2312, dan UTF-8.
Catatan: Jika parameter ini tidak ditentukan dalam konfigurasi aplikasi, skema encoding URI default dalam kontainer Tomcat diterapkan."
    },
    "IntranetTargetPort": {
      "Type": "Number",
      "Description": "Nomor port belakang instance Server Load Balancer (SLB) akses internal, yang juga merupakan nomor port layanan aplikasi. Nilai valid: 1 hingga 65535."
    },
    "MountDescs": {
      "Type": "Json",
      "Description": "Deskripsi konfigurasi mounting NAS. Contohnya: nilai dapat berupa [{\"NasPath\": \"/k8s\",\"MountPath\": \"/mnt\"}, {\"NasPath\": \"/files\", \"MountPath\": \"/app/files\"}]."
    },
    "LocalVolume": {
      "Type": "Json",
      "Description": "Konfigurasi untuk memasang file host ke kontainer tempat aplikasi berjalan. Contohnya: nilai dapat berupa [{\"type\":\"\", \"nodePath\":\"/localfiles\", \"mountPath\":\"/app/files\"}, {\"type\":\"Directory\", \"nodePath\":\"/mnt\", \"mountPath\":\"/app/storage\"}]."
    },
    "RuntimeClassName": {
      "Type": "String",
      "Description": "Tipe runtime kontainer. Parameter ini hanya berlaku untuk kluster yang menggunakan kontainer sandbox."
    },
    "Command": {
      "Type": "String",
      "Description": "Perintah yang ditentukan. Jika ditentukan, itu menggantikan perintah startup dalam gambar saat gambar dimulai."
    },
    "InternetSlbProtocol": {
      "AllowedValues": [
        "TCP",
        "HTTP",
        "HTTPS"
      ],
      "Description": "Protokol instance Internet-facing SLB. Nilai valid: TCP, HTTP, dan HTTPS.",
      "Type": "String"
    },
    "EdasContainerVersion": {
      "Type": "String",
      "Description": "Versi EDAS Container yang digunakan oleh paket deployment aplikasi.
Catatan: Parameter ini tidak didukung ketika Anda menerapkan aplikasi menggunakan gambar."
    },
    "PackageUrl": {
      "Type": "String",
      "Description": "URL paket deployment. Parameter ini harus disetel untuk aplikasi yang diterapkan menggunakan FatJar atau paket WAR.
Catatan: Versi SDK untuk Java atau Python harus 2.44.0 atau lebih baru."
    },
    "IntranetSlbPort": {
      "Type": "Number",
      "Description": "Nomor port depan instance SLB akses internal. Nilai valid: 1 hingga 65535.",
      "MinValue": 1,
      "MaxValue": 65535
    },
    "RepoId": {
      "Type": "String",
      "Description": "ID repositori gambar."
    },
    "EnableAhas": {
      "AllowedValues": [
        "True",
        "true",
        "False",
        "false"
      ],
      "Description": "Menentukan apakah akan mengaktifkan akses ke Application High Availability Service (AHAS).",
      "Type": "Boolean"
    },
    "LimitMem": {
      "Type": "Number",
      "Description": "Jumlah maksimum memori yang diizinkan untuk setiap instance aplikasi saat aplikasi sedang berjalan. Satuan: MB.",
      "MinValue": 1
    }
  },
  "Resources": {
    "K8sApplication": {
      "Type": "ALIYUN::EDAS::K8sApplication",
      "Properties": {
        "LogicalRegionId": {
          "Ref": "LogicalRegionId"
        },
        "NasId": {
          "Ref": "NasId"
        },
        "Liveness": {
          "Ref": "Liveness"
        },
        "IntranetSlbId": {
          "Ref": "IntranetSlbId"
        },
        "WebContainer": {
          "Ref": "WebContainer"
        },
        "LimitCpu": {
          "Ref": "LimitCpu"
        },
        "SlsConfigs": {
          "Ref": "SlsConfigs"
        },
        "IntranetSlbProtocol": {
          "Ref": "IntranetSlbProtocol"
        },
        "PackageVersion": {
          "Ref": "PackageVersion"
        },
        "WebContainerConfig": {
          "Ref": "WebContainerConfig"
        },
        "AppName": {
          "Ref": "AppName"
        },
        "JDK": {
          "Ref": "JDK"
        },
        "InternetSlbId": {
          "Ref": "InternetSlbId"
        },
        "InternetSlbPort": {
          "Ref": "InternetSlbPort"
        },
        "Readiness": {
          "Ref": "Readiness"
        },
        "DeployAcrossNodes": {
          "Ref": "DeployAcrossNodes"
        },
        "RequestsMem": {
          "Ref": "RequestsMem"
        },
        "PackageType": {
          "Ref": "PackageType"
        },
        "UseBodyEncoding": {
          "Ref": "UseBodyEncoding"
        },
        "JavaStartUpConfig": {
          "Ref": "JavaStartUpConfig"
        },
        "IsMultilingualApp": {
          "Ref": "IsMultilingualApp"
        },
        "RequestsCpu": {
          "Ref": "RequestsCpu"
        },
        "CommandArgs": {
          "Ref": "CommandArgs"
        },
        "StorageType": {
          "Ref": "StorageType"
        },
        "ClusterId": {
          "Ref": "ClusterId"
        },
        "Timeout": {
          "Ref": "Timeout"
        },
        "Envs": {
          "Ref": "Envs"
        },
        "ImageUrl": {
          "Ref": "ImageUrl"
        },
        "DeployAcrossZones": {
          "Ref": "DeployAcrossZones"
        },
        "PostStart": {
          "Ref": "PostStart"
        },
        "InternetTargetPort": {
          "Ref": "InternetTargetPort"
        },
        "Replicas": {
          "Ref": "Replicas"
        },
        "Namespace": {
          "Ref": "Namespace"
        },
        "ApplicationDescription": {
          "Ref": "ApplicationDescription"
        },
        "UriEncoding": {
          "Ref": "UriEncoding"
        },
        "IntranetTargetPort": {
          "Ref": "IntranetTargetPort"
        },
        "MountDescs": {
          "Ref": "MountDescs"
        },
        "LocalVolume": {
          "Ref": "LocalVolume"
        },
        "RuntimeClassName": {
          "Ref": "RuntimeClassName"
        },
        "Command": {
          "Ref": "Command"
        },
        "InternetSlbProtocol": {
          "Ref": "InternetSlbProtocol"
        },
        "EdasContainerVersion": {
          "Ref": "EdasContainerVersion"
        },
        "PackageUrl": {
          "Ref": "PackageUrl"
        },
        "IntranetSlbPort": {
          "Ref": "IntranetSlbPort"
        },
        "RepoId": {
          "Ref": "RepoId"
        },
        "EnableAhas": {
          "Ref": "EnableAhas"
        },
        "LimitMem": {
          "Ref": "LimitMem"
        }
      }
    }
  },
  "Outputs": {
    "AppId": {
      "Description": "ID aplikasi.",
      "Value": {
        "Fn::GetAtt": [
          "K8sApplication",
          "AppId"
        ]
      }
    },
    "AppName": {
      "Description": "Nama aplikasi.",
      "Value": {
        "Fn::GetAtt": [
          "K8sApplication",
          "AppName"
        ]
      }
    },
    "ChangeOrderId": {
      "Description": "ID proses perubahan.",
      "Value": {
        "Fn::GetAtt": [
          "K8sApplication",
          "ChangeOrderId"
        ]
      }
    },
    "ClusterId": {
      "Description": "ID kluster aplikasi.",
      "Value": {
        "Fn::GetAtt": [
          "K8sApplication",
          "ClusterId"
        ]
      }
    },
    "CsClusterId": {
      "Description": "ID kluster K8s aplikasi.",
      "Value": {
        "Fn::GetAtt": [
          "K8sApplication",
          "CsClusterId"
        ]
      }
    }
  }
}
ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  AppName:
    Description: 'Nama aplikasi. Nama tersebut harus dimulai dengan huruf dan dapat berisi digit,

      huruf, serta tanda hubung (-). Panjangnya bisa mencapai hingga 36 karakter.'
    Type: String
  ApplicationDescription:
    Description: Deskripsi aplikasi.
    Type: String
  ClusterId:
    Description: 'ID kluster. Anda dapat menanyakan ID kluster dengan memanggil operasi ListCluster.

      Untuk informasi lebih lanjut, lihat ListCluster.'
    Type: String
  Command:
    Description: Perintah yang ditentukan. Jika ditentukan, itu menggantikan perintah startup dalam gambar saat gambar dimulai.
    Type: String
  CommandArgs:
    Description: Koleksi perintah. Contohnya: [{\"argument\":\"-c\"},{\"argument\":\"test\"}], di mana -c dan test adalah dua parameter yang dapat ditentukan.
    Type: Json
  DeployAcrossNodes:
    AllowedValues:
    - 'True'
    - 'true'
    - 'False'
    - 'false'
    Description: Menentukan apakah akan mendistribusikan instance aplikasi ke beberapa node. Nilai true menunjukkan ya, sedangkan nilai lainnya menunjukkan tidak.
    Type: Boolean
  DeployAcrossZones:
    AllowedValues:
    - 'True'
    - 'true'
    - 'False'
    - 'false'
    Description: Menentukan apakah akan mendistribusikan instance aplikasi ke beberapa zona. Nilai true menunjukkan ya, sedangkan nilai lainnya menunjukkan tidak.
    Type: Boolean
  EdasContainerVersion:
    Description: 'Versi EDAS Container yang digunakan oleh paket deployment aplikasi.

      Catatan: Parameter ini tidak didukung ketika Anda menerapkan aplikasi menggunakan gambar.'
    Type: String
  EnableAhas:
    AllowedValues:
    - 'True'
    - 'true'
    - 'False'
    - 'false'
    Description: Menentukan apakah akan mengaktifkan akses ke Application High Availability Service (AHAS).
    Type: Boolean
  Envs:
    Description: Koleksi variabel lingkungan deployment. Contohnya: [{\"Name\":\"x\",\"Value\":\"y\"},{\"Name\":\"x2\",\"Value\":\"y2\"}].
    Type: Json
  ImageUrl:
    Description: URL gambar. Ketika PackageType disetel ke Image, parameter ini diperlukan.
    Type: String
  InternetSlbId:
    Description: ID instance Internet-facing SLB. Jika parameter ini tidak ditentukan, EDAS secara otomatis membeli instance SLB baru untuk Anda.
    Type: String
  InternetSlbPort:
    Description: 'Nomor port depan instance Internet-facing SLB. Nilai valid: 1 hingga 65535.'
    MaxValue: 65535
    MinValue: 1
    Type: Number
  InternetSlbProtocol:
    AllowedValues:
    - TCP
    - HTTP
    - HTTPS
    Description: 'Protokol instance Internet-facing SLB. Nilai valid: TCP, HTTP, dan HTTPS.'
    Type: String
  InternetTargetPort:
    Description: 'Nomor port belakang instance SLB akses internal, yang juga merupakan nomor port layanan aplikasi.

      Nilai valid: 1 hingga 65535.'
    MaxValue: 65535
    MinValue: 1
    Type: Number
  IntranetSlbId:
    Description: ID instance SLB akses internal. Jika parameter ini tidak ditentukan, Enterprise Distributed Application Service (EDAS) secara otomatis membeli instance SLB baru untuk Anda.
    Type: String
  IntranetSlbPort:
    Description: 'Nomor port depan instance SLB akses internal. Nilai valid: 1 hingga 65535.'
    MaxValue: 65535
    MinValue: 1
    Type: Number
  IntranetSlbProtocol:
    AllowedValues:
    - TCP
    - HTTP
    - HTTPS
    Description: 'Protokol instance SLB akses internal. Nilai valid: TCP, HTTP, dan HTTPS.'
    Type: String
  IntranetTargetPort:
    Description: 'Nomor port belakang instance Server Load Balancer (SLB) akses internal, yang juga merupakan nomor port layanan aplikasi. Nilai valid: 1 hingga 65535.'
    Type: Number
  IsMultilingualApp:
    AllowedValues:
    - 'True'
    - 'true'
    - 'False'
    - 'false'
    Description: Menentukan apakah aplikasi adalah aplikasi multi-bahasa.
    Type: Boolean
  JDK:
    Description: "Versi Java Development Kit (JDK) yang digunakan oleh paket deployment aplikasi.
Nilai valid: Open JDK 7 dan Open JDK 8. Parameter ini tidak didukung ketika Anda menerapkan aplikasi menggunakan gambar."
    Type: String
  JavaStartUpConfig:
    Description: 'Konfigurasi parameter startup Java untuk aplikasi Java. Parameter startup ini melibatkan memori, aplikasi, kebijakan pengumpulan sampah (GC), alat, pendaftaran layanan dan penemuan, serta konfigurasi kustom. Penyetelan parameter yang tepat membantu mengurangi overhead GC, memperpendek waktu respons server, dan meningkatkan throughput.

      Sistem secara otomatis menggabungkan semua nilai startup sebagai konfigurasi parameter startup Java untuk aplikasi.'
    Type: Json
  LimitCpu:
    Description: 'Jumlah maksimum CPU yang diizinkan untuk setiap instance aplikasi saat aplikasi

      sedang berjalan. Satuan: core.'
    Type: Number
  LimitMem:
    Description: 'Jumlah maksimum memori yang diizinkan untuk setiap instance aplikasi saat aplikasi sedang berjalan. Satuan: MB.'
    MinValue: 1
    Type: Number
  Liveness:
    Description: Pemeriksaan liveness pada kontainer.
    Type: Json
  LocalVolume:
    Description: Konfigurasi untuk memasang file host ke kontainer tempat aplikasi berjalan. Contohnya: nilai dapat berupa [{\"type\":\"\", \"nodePath\":\"/localfiles\", \"mountPath\":\"/app/files\"}, {\"type\":\"Directory\", \"nodePath\":\"/mnt\", \"mountPath\":\"/app/storage\"}].
    Type: Json
  LogicalRegionId:
    Description: ID namespace EDAS. Parameter ini diperlukan untuk namespace non-default.
    Type: String
  MountDescs:
    Description: 'Deskripsi konfigurasi mounting NAS. Contohnya: nilai dapat berupa [{\"NasPath\": \"/k8s\",\"MountPath\": \"/mnt\"}, {\"NasPath\": \"/files\", \"MountPath\": \"/app/files\"}].'
    Type: Json
  Namespace:
    Description: Namespace dari kluster Kubernetes. Parameter ini menentukan namespace Kubernetes tempat aplikasi Anda diterapkan. Secara default, parameter ini disetel ke default.
    Type: String
  NasId:
    Description: 'ID sistem file Network Attached Storage (NAS) yang dipasang ke kontainer tempat aplikasi berjalan. Sistem file NAS harus berada di wilayah yang sama dengan kluster. Sistem file NAS harus memiliki kuota pembuatan titik mount yang tersedia, atau memiliki target mount pada vSwitch di virtual private cloud (VPC) tempat aplikasi berada. Jika parameter ini tidak ditentukan dan field mountDescs ada, sistem file NAS secara otomatis dibeli dan dipas