Saat menyebar aplikasi ke kluster Kubernetes melalui Enterprise Distributed Application Service (EDAS), kontainer menjalankan perintah startup yang didefinisikan dalam Dockerfile secara default. Untuk mengganti perilaku default ini—misalnya, guna memberikan argumen JVM kustom atau mengubah binari entrypoint—konfigurasikan perintah startup di Konsol EDAS.
Cara perintah startup dipetakan ke direktif Docker
Bidang-bidang di Konsol EDAS dipetakan langsung ke direktif Docker:
| Bidang Konsol EDAS | Setara Docker | Deskripsi |
|---|---|---|
| Startup Command | ENTRYPOINT | File yang dapat dieksekusi dan dijalankan saat kontainer dimulai |
| Startup Parameters | CMD | Argumen yang diberikan ke perintah startup |
Tabel berikut menjelaskan perilaku penggantian saat Anda mengatur bidang-bidang tersebut di Konsol EDAS:
| Konfigurasi | Perilaku |
|---|---|
| Startup Command saja | Mengganti ENTRYPOINT Dockerfile. CMD Dockerfile diabaikan (tidak diteruskan sebagai argumen). |
| Startup Parameters saja | ENTRYPOINT Dockerfile dijalankan dengan parameter yang Anda tentukan, menggantikan CMD Dockerfile. |
| Kedua bidang | Mengganti seluruh kombinasi ENTRYPOINT + CMD dari Dockerfile. |
| Tidak ada bidang yang diisi | Kontainer menggunakan ENTRYPOINT dan CMD Dockerfile apa adanya. |
Karena hanya satu ENTRYPOINT yang berlaku saat runtime, nilai-nilai yang dikonfigurasi di Konsol EDAS selalu mengambil prioritas dibandingkan dengan Dockerfile.
Jika Anda tidak familiar dengan direktif ENTRYPOINT atau CMD dalam Dockerfile, jangan mengkustomisasi perintah startup. Perintah yang tidak valid akan mencegah pembuatan aplikasi.
Contoh
Berikut contoh Dockerfile:
FROM ubuntu
ENTRYPOINT [nginx, '-g', 'daemon off;']Konfigurasi setara di Konsol EDAS adalah:
| Bidang | Nilai |
|---|---|
| Startup Command | nginx |
| Startup Parameters | -g (baris pertama), daemon off; (baris kedua) |
Untuk menjalankan perintah kompleks yang melibatkan pipe atau fitur shell lainnya, bungkus perintah tersebut dalam pemanggilan shell:
| Bidang | Nilai |
|---|---|
| Startup Command | /bin/sh |
| Startup Parameters | -c (baris pertama), your-script.sh && echo done (baris kedua) |
Konfigurasikan perintah startup saat pembuatan aplikasi
Masuk ke Konsol EDAS.
Di panel navigasi sebelah kiri, pilih Application Management > Applications.
Di bilah navigasi atas, pilih wilayah. Di bagian atas halaman, pilih namespace.
Di pojok kiri atas, klik Create Application.
Pada langkah Basic information, atur Cluster Type menjadi Kubernetes Clusters, pilih Application Runtime Environment, lalu klik Next.
Lingkungan Runtime Kapan digunakan Java > Custom Sebarkan dengan custom image Java > Java Sebarkan aplikasi Dubbo atau Spring Boot dari paket JAR. Atur parameter Java Environment setelah memilih. Java > Tomcat Sebarkan aplikasi Dubbo atau Spring dari paket WAR. Atur parameter Java Environment dan Container Version setelah memilih. Java > EDAS-Container (HSF) Sebarkan aplikasi High-speed Service Framework (HSF) dari paket WAR atau FatJar. Atur parameter Java Environment, Pandora Version, dan Ali-Tomcat Version setelah memilih. PHP Sebarkan aplikasi PHP pada Apache HTTP Server Node.js, C++, Go, and Other Languages Sebarkan dengan custom image. Proses konfigurasi untuk aplikasi multi-bahasa tidak dijelaskan dalam topik ini. Pada langkah Configurations, konfigurasikan lingkungan, informasi dasar, metode penyebaran, dan parameter resource, lalu klik Next.
Pada langkah Advanced Settings, buka Startup Command dan atur parameter berikut:
Parameter Deskripsi Startup Command Executable yang akan dijalankan, misalnya, nginx.Startup Parameters Satu argumen per baris. Klik Add untuk menambahkan baris lain. Misalnya, masukkan -gdi satu baris dandaemon off;di baris berikutnya.
Klik Create Application.
Pada halaman Creation Completed, tinjau pengaturan di bagian Basic Information, Configurations, dan Advanced Settings, lalu klik Create Application. Di bagian atas halaman Application Overview, klik View Details. Pada halaman Change List, pantau proses perubahan aplikasi. Tunggu beberapa menit hingga penerapan selesai. Setelah proses perubahan selesai, periksa status instans di bagian Basic Information pada halaman Application Overview. Jika sebuah pod sedang berjalan, berarti aplikasi telah berhasil diterapkan.
Konfigurasikan perintah startup untuk aplikasi yang telah diterapkan
Memperbarui perintah startup akan memicu restart aplikasi. Lakukan operasi ini selama jam sepi.
Masuk ke Konsol EDAS.
Di panel navigasi sebelah kiri, pilih Application Management > Applications.
Di bilah navigasi atas, pilih wilayah. Di bagian atas halaman, pilih namespace.
Dari daftar drop-down Cluster Type, pilih Container Service or Serverless Kubernetes Cluster.
Klik nama aplikasi untuk membuka halaman detailnya.
Di pojok kanan atas halaman Overview atau Basic information, pilih Deploy > Deploy.
Di halaman Select Deployment Mode, pilih mode penyebaran dan klik Start Deployment.
Tentukan paket penyebaran dan lingkungan, buka Startup Command, lalu konfigurasikan parameter seperti dijelaskan dalam tabel berikut. Setelah itu, klik OK.
Parameter Deskripsi Startup Command Eksekutabel yang akan dijalankan, misalnya nginx.Startup Parameters Satu argumen per baris. Klik Add untuk menambahkan baris lain. Misalnya, masukkan -gdi satu baris dandaemon off;di baris berikutnya.
Aplikasi akan restart setelah Anda mengklik OK. Lakukan operasi ini selama jam sepi.
Verifikasi hasil
Setelah penyebaran selesai, pastikan perintah startup telah diterapkan dengan salah satu metode berikut:
Change Records: Di panel navigasi sebelah kiri halaman detail aplikasi, klik Change Records. Jika kolom Change Status menampilkan Success, konfigurasi telah diterapkan.
Periksa status Pod: Di halaman Application Overview, klik Running Pods (Click View) di samping Running Status. Di bagian Pod pada panel App Configurations, periksa kolom Status. Titik hijau menunjukkan bahwa aplikasi sedang berjalan dengan konfigurasi baru.