Container Compute Service (ACS) memungkinkan Anda membuat aplikasi tanpa status menggunakan gambar, template YAML, atau kubectl. Topik ini menjelaskan cara membuat aplikasi NGINX tanpa status di klaster ACS.
Menggunakan konsol
Membuat Deployment dari gambar
Langkah 1: Mengonfigurasi pengaturan dasar
Masuk ke Konsol ACS. Di panel navigasi sisi kiri, klik Clusters.
Di halaman Clusters, temukan klaster yang ingin dikelola dan klik ID-nya. Di panel navigasi sisi kiri halaman detail klaster, pilih .
Di tab Deployments, klik Create from Image.
Di halaman panduan Basic Information, konfigurasikan pengaturan dasar aplikasi.
Parameter
Deskripsi
Name
Masukkan nama untuk aplikasi.
Replicas
Jumlah pod yang disediakan untuk aplikasi. Nilai default: 2.
Type
Dalam contoh ini, Deployment dipilih.
Labels
Tambahkan label ke aplikasi. Label digunakan untuk mengidentifikasi aplikasi.
Annotations
Tambahkan anotasi ke aplikasi.
Instance Type
Tipe instans yang ingin Anda gunakan. Untuk informasi lebih lanjut, lihat Ikhtisar pod ACS.
QoS Type
Pilih kelas QoS. Untuk informasi lebih lanjut, lihat Computing power QoS.
Pod tujuan umum mendukung kelas QoS Default dan BestEffort.
Pod peningkatan performa hanya mendukung kelas QoS Default.
Klik Next untuk melanjutkan ke halaman panduan Container.
Langkah 2: Mengonfigurasi kontainer
Di halaman panduan Container, konfigurasikan gambar kontainer, konfigurasi sumber daya, port, variabel lingkungan, pemeriksaan kesehatan, siklus hidup, volume, dan log.
Klik Add Container di sebelah kanan tab Container1 untuk menambah lebih banyak kontainer.
Di bagian General, konfigurasikan pengaturan dasar kontainer.
Parameter
Deskripsi
Image Name
Pilih Gambar
Klik Select images dan pilih gambar kontainer.
Container Registry Enterprise Edition: Pilih gambar yang disimpan pada instance Container Registry Enterprise Edition. Anda harus memilih wilayah dan instance Container Registry tempat gambar tersebut berada. Untuk informasi lebih lanjut tentang Container Registry, lihat Apa itu Container Registry?
Container Registry Personal Edition: Pilih gambar yang disimpan pada instance Container Registry Personal Edition. Pastikan bahwa Container Registry Personal Edition telah diaktifkan. Anda harus memilih wilayah dan instance Container Registry tempat gambar tersebut berada.
Artifact Center: Pusat artefak berisi gambar sistem operasi dasar, gambar bahasa dasar, dan gambar terkait AI dan big data untuk kontainerisasi aplikasi. Dalam contoh ini, gambar NGINX dipilih. Untuk informasi lebih lanjut, lihat Ikhtisar pusat artefak.
(Opsional) Atur kebijakan penarikan gambar
Pilih kebijakan penarikan gambar dari daftar drop-down Image Pull Policy. Secara default, kebijakan Kubernetes IfNotPresent digunakan.
ifNotPresent: Jika gambar yang ingin Anda tarik ditemukan di mesin lokal Anda, gambar di mesin lokal Anda akan digunakan. Jika tidak, sistem akan menarik gambar dari registri gambar.
Always: Sistem menarik gambar dari registri setiap kali aplikasi diterapkan atau diperluas.
Never: Sistem hanya menggunakan gambar di mesin lokal Anda.
(Opsional) Atur rahasia penarikan gambar
Klik Set Image Pull Secret untuk menetapkan Secret yang digunakan untuk menarik gambar privat.
Anda dapat menggunakan Secret untuk menarik gambar dari instance Container Registry Personal Edition. Untuk informasi lebih lanjut tentang cara menetapkan Secret, lihat Kelola Secret.
Anda dapat menarik gambar tanpa menggunakan Secret dari instance Container Registry Enterprise Edition. Untuk informasi lebih lanjut, lihat Tarik gambar dari instance Container Registry tanpa menggunakan Secret.
Required Resources
Tentukan permintaan sumber daya kontainer.
CPU: Anda dapat mengonfigurasi permintaan CPU dan batas CPU kontainer. Secara default, permintaan CPU sama dengan batas CPU. Sumber daya CPU dibayar sesuai pemakaian. Jika Anda menggunakan template YAML untuk menetapkan batas sumber daya yang berbeda dari permintaan sumber daya, permintaan sumber daya secara otomatis ditimpa dengan nilai batas sumber daya. Untuk informasi lebih lanjut, lihat Spesifikasi sumber daya.
Memory: Anda dapat mengonfigurasi permintaan memori dan batas memori kontainer. Secara default, permintaan memori sama dengan batas memori. Sumber daya memori dibayar sesuai pemakaian. Jika Anda menggunakan template YAML untuk menetapkan batas sumber daya yang berbeda dari permintaan sumber daya, permintaan sumber daya secara otomatis ditimpa dengan nilai batas sumber daya. Untuk informasi lebih lanjut, lihat Spesifikasi sumber daya.
Container Start Parameter
Tentukan opsi startup kontainer. Parameter ini opsional.
stdin: meneruskan input di konsol ACK ke kontainer.
tty: meneruskan parameter awal yang didefinisikan dalam terminal virtual ke konsol ACK.
Catatanstdin dan tty digunakan bersama-sama. Dalam kasus ini, terminal virtual (tty) dikaitkan dengan stdin kontainer. Sebagai contoh, program interaktif menerima stdin dari pengguna dan menampilkan isi di terminal.
Init Containers
Jika Anda memilih kotak centang ini, init kontainer dibuat. Parameter ini opsional.
Init kontainer dapat digunakan untuk memblokir atau menunda startup kontainer aplikasi. Kontainer aplikasi dalam pod mulai secara bersamaan hanya setelah init kontainer mulai. Sebagai contoh, Anda dapat menggunakan init kontainer untuk memverifikasi ketersediaan layanan yang bergantung pada aplikasi. Anda dapat menjalankan alat atau skrip yang tidak disediakan oleh gambar aplikasi di init kontainer untuk menginisialisasi lingkungan runtime untuk kontainer aplikasi. Sebagai contoh, Anda dapat menjalankan alat atau skrip untuk mengonfigurasi parameter kernel atau menghasilkan file konfigurasi. Untuk informasi lebih lanjut, lihat Init Kontainer.
Opsional: Di bagian Ports, klik Add untuk menambahkan port kontainer.
Parameter
Deskripsi
Name
Masukkan nama untuk port kontainer.
Container Port
Tentukan port kontainer yang ingin Anda paparkan. Nomor port harus dalam rentang 1 hingga 65535.
Protocol
Nilai valid: TCP dan UDP.
Opsional: Di bagian Environments, klik Add untuk menambahkan variabel lingkungan.
Tambahkan variabel lingkungan dalam pasangan kunci-nilai ke pod untuk menambahkan label lingkungan atau meneruskan konfigurasi. Untuk informasi lebih lanjut, lihat Tampilkan Informasi Pod ke Kontainer Melalui Variabel Lingkungan.
Parameter
Deskripsi
Type
Pilih tipe variabel lingkungan. Nilai valid:
Custom
Parameter
Secrets
Value/ValueFrom
ResourceFieldRef
Jika Anda memilih ConfigMaps atau Secrets, Anda dapat meneruskan semua data dalam ConfigMap atau Secret yang dipilih ke variabel lingkungan kontainer.
Dalam contoh ini, Secrets dipilih. Pilih Secrets dari daftar drop-down Tipe dan pilih Secret dari daftar drop-down Value/ValueFrom. Secara default, semua data dalam Secret yang dipilih diteruskan ke variabel lingkungan.

Dalam kasus ini, file YAML yang digunakan untuk menerapkan aplikasi berisi pengaturan yang merujuk semua data dalam Secret yang dipilih.

Variable Key
Nama variabel lingkungan.
Value/ValueFrom
Nilai variabel lingkungan.
Opsional: Di bagian Health Check, aktifkan probe liveness, readiness, dan startup sesuai kebutuhan bisnis.
Liveness: Periksa apakah kontainer berjalan seperti yang diharapkan. Setelah beberapa kegagalan berturut-turut, kubelet akan memulai ulang kontainer. Probe liveness membantu mengidentifikasi masalah di mana kontainer tetap berjalan tetapi menjadi tidak responsif, seperti deadlock.
Readiness: Probe readiness digunakan untuk menentukan apakah kontainer siap menerima trafik. Pod hanya dilampirkan ke backend Service setelah melewati pemeriksaan readiness.
Startup: Probe startup dieksekusi selama inisialisasi kontainer untuk memverifikasi startup yang berhasil. Probe liveness dan readiness dimulai setelah probe startup berhasil.
Untuk informasi lebih lanjut, lihat Konfigurasi Liveness, Readiness, dan Startup Probes.
Parameter
Deskripsi
HTTP
Mengirimkan permintaan HTTP GET ke kontainer. Anda dapat menetapkan parameter berikut:
Protocol: protokol yang digunakan untuk mengirim permintaan. Nilai valid: HTTP dan HTTPS.
Path: jalur HTTP yang diminta di server.
Port: nomor atau nama port yang diekspos oleh kontainer. Nomor port harus dari 1 hingga 65535.
HTTP Header: header kustom dalam permintaan HTTP. Header duplikat diperbolehkan. Anda dapat menentukan header HTTP dalam pasangan kunci-nilai.
Initial Delay (s): bidang initialDelaySeconds dalam file YAML. Bidang ini menentukan waktu tunggu (dalam detik) sebelum probe pertama dilakukan setelah kontainer dimulai. Nilai default: 3.
Period (s): bidang periodSeconds dalam file YAML. Bidang ini menentukan interval waktu (dalam detik) saat probe dilakukan. Nilai default: 10. Nilai minimum: 1.
Timeout (s): bidang timeoutSeconds dalam file YAML. Bidang ini menentukan waktu (dalam detik) setelah probe habis waktu. Nilai default: 1. Nilai minimum: 1.
Healthy Threshold: jumlah keberhasilan berturut-turut minimum yang harus terjadi sebelum kontainer dianggap sehat setelah probe gagal. Nilai default: 1. Nilai minimum: 1. Untuk probe liveness, parameter ini harus diatur ke 1.
Unhealthy Threshold: jumlah kegagalan berturut-turut minimum yang harus terjadi sebelum kontainer dianggap tidak sehat setelah sukses. Nilai default: 3. Nilai minimum: 1.
TCP
Mengirim soket TCP ke kontainer. kubelet mencoba membuka soket di port yang ditentukan. Jika koneksi dapat dibuat, kontainer dianggap sehat. Jika tidak, kontainer dianggap tidak sehat. Anda dapat mengonfigurasi parameter berikut:
Port: nomor atau nama port yang diekspos oleh kontainer. Nomor port harus dari 1 hingga 65535.
Initial Delay (s): bidang initialDelaySeconds dalam file YAML. Bidang ini menentukan waktu tunggu (dalam detik) sebelum probe pertama dilakukan setelah kontainer dimulai. Nilai default: 15.
Period (s): bidang periodSeconds dalam file YAML. Bidang ini menentukan interval waktu (dalam detik) saat probe dilakukan. Nilai default: 10. Nilai minimum: 1.
Timeout (s): bidang timeoutSeconds dalam file YAML. Bidang ini menentukan waktu (dalam detik) setelah probe habis waktu. Nilai default: 1. Nilai minimum: 1.
Healthy Threshold: jumlah keberhasilan berturut-turut minimum yang harus terjadi sebelum kontainer dianggap sehat setelah probe gagal. Nilai default: 1. Nilai minimum: 1. Untuk probe liveness, parameter ini harus diatur ke 1.
Unhealthy Threshold: jumlah kegagalan berturut-turut minimum yang harus terjadi sebelum kontainer dianggap tidak sehat setelah sukses. Nilai default: 3. Nilai minimum: 1.
Command
Menjalankan perintah probe di kontainer untuk memeriksa status kesehatan kontainer. Anda dapat mengonfigurasi parameter berikut:
Command: perintah probe yang dijalankan untuk memeriksa status kesehatan kontainer.
Initial Delay (s): bidang initialDelaySeconds dalam file YAML. Bidang ini menentukan waktu tunggu (dalam detik) sebelum probe pertama dilakukan setelah kontainer dimulai. Nilai default: 5.
Period (s): bidang periodSeconds dalam file YAML. Bidang ini menentukan interval waktu (dalam detik) saat probe dilakukan. Nilai default: 10. Nilai minimum: 1.
Timeout (s): bidang timeoutSeconds dalam file YAML. Bidang ini menentukan waktu (dalam detik) setelah probe habis waktu. Nilai default: 1. Nilai minimum: 1.
Healthy Threshold: jumlah keberhasilan berturut-turut minimum yang harus terjadi sebelum kontainer dianggap sehat setelah probe gagal. Nilai default: 1. Nilai minimum: 1. Untuk probe liveness, parameter ini harus diatur ke 1.
Unhealthy Threshold: jumlah kegagalan berturut-turut minimum yang harus terjadi sebelum kontainer dianggap tidak sehat setelah sukses. Nilai default: 3. Nilai minimum: 1.
Opsional: Di bagian Lifecycle, konfigurasikan siklus hidup kontainer.
Tentukan parameter berikut untuk mengonfigurasi siklus hidup kontainer: Mulai, Pasca Mulai, dan Pra Berhenti. Untuk informasi lebih lanjut, lihat Lampirkan Handler ke Event Siklus Hidup Kontainer.
Parameter
Deskripsi
Start
Tentukan perintah dan parameter yang berlaku sebelum kontainer mulai.
Post Start
Tentukan perintah yang berlaku setelah kontainer mulai.
Pre Stop
Tentukan perintah yang menghentikan kontainer.
Opsional: Di bagian Volume, konfigurasikan volume yang ingin dipasang ke kontainer.
Penyimpanan lokal: Pilih ConfigMap, Secret, atau EmptyDir dari daftar drop-down PV Type. Atur parameter Sumber Pemasangan dan Jalur Kontainer untuk memasang volume ke jalur kontainer. Untuk informasi lebih lanjut, lihat Volume.
Penyimpanan cloud: Disk dan File Storage NAS (NAS) didukung. Untuk informasi lebih lanjut, lihat Ikhtisar Penyimpanan.
Opsional: Di bagian Log, tentukan logging configurations dan tambahkan custom tags ke log yang dikumpulkan.
Parameter
Deskripsi
Konfigurasi Pengumpulan
Logstore: Buat Logstore di Layanan Log untuk menyimpan data log yang dikumpulkan.
Log Path in Container (Can be set to stdout): specifies stdout or a path to collect the log.
Kumpulkan file stdout: Jika Anda menentukan stdout, file stdout akan dikumpulkan.
Log Teks: menentukan bahwa log di jalur tertentu dalam kontainer dikumpulkan. Dalam contoh ini,
/var/log/nginxditentukan sebagai jalur. Karakter wildcard dapat digunakan dalam jalur.
Tag Kustom
Anda juga dapat menambahkan tag kustom. Tag tersebut ditambahkan ke log kontainer saat log dikumpulkan. Anda dapat menambahkan tag kustom ke log kontainer untuk analisis dan penyaringan log.
Klik Next untuk melanjutkan ke halaman panduan Advanced.
Langkah 3: Mengonfigurasi pengaturan lanjutan
Di halaman panduan Advanced, konfigurasikan pengaturan berikut: kontrol akses, penskalaan, penjadwalan, anotasi, dan label.
Di bagian Access Control, konfigurasikan pengaturan kontrol akses untuk memaparkan pod backend.
Anda juga dapat menentukan cara pod backend dipaparkan ke Internet. Dalam contoh ini, ClusterIP Service dan Ingress dibuat untuk memaparkan aplikasi NGINX ke Internet.
Untuk membuat Service, klik Create di sisi kanan Services. Di kotak dialog Buat, atur parameter.
Untuk membuat Ingress, klik Create di sisi kanan Ingresses. Di kotak dialog Buat, atur parameter.
Opsional: Di bagian Scaling, aktifkan HPA untuk menangani beban kerja yang berfluktuasi.
Horizontal Pod Autoscaler (HPA) dapat secara otomatis menskalakan jumlah pod dalam klaster ACS berdasarkan metrik penggunaan CPU dan memori.
CatatanUntuk mengaktifkan HPA, Anda harus mengonfigurasi sumber daya yang diperlukan oleh kontainer. Jika tidak, HPA tidak akan berlaku.
Parameter
Deskripsi
Metric
Pilih Penggunaan CPU atau Penggunaan Memori. Tipe sumber daya yang dipilih harus sama dengan yang ditentukan di bidang Sumber Daya yang Diperlukan.
Condition
Tentukan ambang batas penggunaan sumber daya. HPA memicu acara scale-out saat ambang batas terlampaui.
Max. Replicas
Jumlah maksimum pod replika ke mana aplikasi dapat diskalakan.
Min. Replicas
Jumlah minimum pod replika yang harus berjalan.
CronHPA dapat menskalakan klaster ACS pada waktu yang dijadwalkan. Sebelum mengaktifkan CronHPA, instal terlebih dahulu ack-kubernetes-cronhpa-controller. Untuk informasi lebih lanjut tentang CronHPA, lihat CronHPA.
Opsional: Di bagian Labels,Annotations, klik Add untuk menambahkan label dan anotasi pod.
Klik Create.
Langkah 4: Lihat informasi aplikasi
Setelah aplikasi dibuat, klik View Details di halaman yang muncul untuk melihat detail Deployment.
Anda juga dapat melihat informasi di halaman Deployments. Klik nama Deployment atau klik Details di kolom Actions untuk pergi ke halaman detail.
Gunakan Template YAML
Dalam template orkestrasi ACS, definisikan objek sumber daya yang diperlukan untuk menjalankan aplikasi dan konfigurasikan mekanisme seperti pemilih label untuk mengelompokkan objek sumber daya menjadi aplikasi.
Bagian ini menjelaskan cara menggunakan template orkestrasi untuk membuat aplikasi NGINX yang terdiri dari Deployment dan Service. Deployment menyediakan pod untuk aplikasi dan Service mengelola akses ke pod backend.
Masuk ke Konsol ACS. Di panel navigasi sisi kiri, klik Clusters.
Di halaman Clusters, temukan klaster yang ingin dikelola dan klik ID-nya. Di panel navigasi sisi kiri halaman detail klaster, pilih .
Di sudut kanan atas halaman Deployments, klik Create from YAML.
Di halaman Create, konfigurasikan template dan klik Create.
Sample Template: ACS menyediakan template YAML untuk berbagai objek sumber daya Kubernetes. Anda juga dapat membuat template kustom berdasarkan sintaksis YAML untuk mendefinisikan sumber daya yang ingin dibuat.
Create Workload: Anda dapat dengan cepat mendefinisikan template YAML.
Use Existing Template: Anda dapat mengimpor template yang sudah ada.
Save Template: Anda dapat menyimpan template yang telah dikonfigurasi.
Berikut adalah contoh file YAML. Anda dapat menggunakan file ini untuk membuat Deployment untuk menjalankan aplikasi NGINX. Secara default, instance Classic Load Balancer (CLB) dibuat.
CatatanACS mendukung orkestrasi YAML Kubernetes. Anda dapat menggunakan
---untuk memisahkan objek sumber daya, memungkinkan definisi beberapa objek dalam satu template YAML.Opsional: Secara default, saat Anda memasang volume ke aplikasi, file di lokasi target pemasangan akan ditimpa. Untuk mencegah penimpaan file yang ada, Anda dapat menambahkan parameter subPath.
Setelah mengklik Create, pesan status penyebaran akan muncul.
kubectl
Anda dapat menggunakan kubectl untuk membuat aplikasi atau melihat pod aplikasi.
Hubungkan ke kluster ACS Anda. Untuk informasi lebih lanjut, lihat Dapatkan file kubeconfig dari kluster dan gunakan kubectl untuk terhubung ke kluster dan Gunakan kubectl di Cloud Shell untuk mengelola kluster ACS.
Di CLI, jalankan perintah berikut untuk memulai sebuah kontainer. Server web NGINX digunakan dalam contoh ini.
kubectl create deployment nginx --image=registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latestJalankan perintah berikut untuk membuat Ingress untuk pod dan tentukan
--type=LoadBalanceruntuk menggunakan load balancer yang disediakan oleh Alibaba Cloud.kubectl expose deployment nginx --port=80 --target-port=80 --type=LoadBalancerJalankan perintah berikut untuk menanyakan pod dari NGINX Service:
kubectl get pod |grep nginxHasil yang diharapkan:
NAMA SIAP STATUS MULAI ULANG UMUR nginx-2721357637-d**** 1/1 Berjalan 1 9j