All Products
Search
Document Center

Container Compute Service:Buat workload tanpa status (Deployment)

Last Updated:Mar 20, 2026

Container Compute Service (ACS) mendukung pembuatan aplikasi tanpa status menggunakan gambar kontainer, templat orkestrasi YAML, dan perintah kubectl. Topik ini menjelaskan cara membuat aplikasi tanpa status di kluster ACS dengan contoh aplikasi Nginx.

Konsol

Buat menggunakan gambar

Langkah 1: Konfigurasikan informasi dasar aplikasi

  1. Masuk ke Konsol ACS. Di panel navigasi kiri, klik Clusters.

  2. Pada halaman Clusters, klik nama kluster target. Di panel navigasi kiri, pilih Workloads > Deployments.

  3. Pada halaman Deployments, klik Create with Image.

  4. Pada wizard konfigurasi Basic information, tentukan informasi dasar untuk aplikasi Anda.

    Configuration item

    Description

    Application name

    Masukkan nama untuk aplikasi Anda.

    Number of replicas

    Jumlah Pod untuk aplikasi Anda. Nilai default: 2.

    Workload

    Pilih Stateless (Deployment).

    Labels

    Tambahkan label untuk mengidentifikasi aplikasi Anda.

    Annotations

    Tambahkan anotasi ke aplikasi Anda.

    Instance type

    Pilih tipe komputasi. Untuk informasi lebih lanjut tentang tipe komputasi, lihat Overview of ACS pod instances.

    QoS type

    Pilih tipe Quality of Service (QoS).

    Mapping of Compute Types to Computing Power Quality

    Compute Type (Label)

    Supported Computing Power QoS (Label)

    General-purpose (general-purpose)

    Default (default), BestEffort (best-effort)

    Compute-optimized instance

    Default (default), BestEffort (best-effort)

    GPU (gpu)

    Default (default), BestEffort (best-effort)

    High-performance network GPU (gpu-hpn)

    Default (default)

    Untuk informasi lebih lanjut, lihat Computing Power Quality Definition.

  5. Klik Next untuk melanjutkan ke halaman wizard Container configuration.

Langkah 2: Konfigurasikan kontainer

Pada halaman wizard Container configuration, konfigurasikan gambar kontainer, sumber daya, port, variabel lingkungan, pemeriksaan kesehatan, siklus hidup, volume, dan log.

Catatan

Untuk menambahkan beberapa kontainer ke Pod aplikasi Anda, klik Add container di sisi kanan tab Container 1.

  1. Pada bagian Basic configuration, konfigurasikan pengaturan dasar kontainer.

    Configuration item

    Description

    Image name

    • Pilih gambar.

      Klik Select image untuk memilih gambar Anda.

      • Container Registry Enterprise Edition: Pilih gambar edisi perusahaan yang dihosting di Container Registry (ACR). Anda harus menentukan wilayah dan instans ACR tempat gambar berada. Untuk informasi lebih lanjut tentang ACR, lihat What Is Container Registry (ACR)?.

      • Container Registry Personal Edition (harus diaktifkan terlebih dahulu): Pilih gambar edisi pribadi yang dihosting di Container Registry (ACR). Anda harus menentukan wilayah tempat gambar berada dan instans ACR.

      • Artifact Center: Menyediakan gambar OS dasar, gambar runtime bahasa pemrograman, serta gambar terkait AI atau data besar. Contoh ini menggunakan gambar Nginx dari Artifact Center. Untuk informasi lebih lanjut tentang Artifact Center, lihat Artifact Center.

    • (Opsional) Atur kebijakan penarikan gambar.

      Pilih kebijakan penarikan gambar dari daftar drop-down Image pull policy. Secara default, tidak ada kebijakan yang ditetapkan, dan Kubernetes menggunakan IfNotPresent.

      • Use local image if present (IfNotPresent): Jika gambar sudah ada secara lokal (sebelumnya telah ditarik ke host), gambar tersebut tidak akan ditarik lagi. Jika gambar tidak ada secara lokal, gambar tersebut akan ditarik.

      • Always pull image (Always): Tarik gambar setiap kali melakukan penerapan atau penskalaan. Jangan gunakan gambar lokal.

      • Use only local image (Never): Gunakan hanya gambar lokal.

    • (Opsional) Atur rahasia gambar.

      Klik Set image secret untuk mengamankan gambar pribadi menggunakan rahasia.

      • Untuk instans Container Registry Personal Edition, Anda dapat menarik gambar kontainer dengan mengatur rahasia gambar. Untuk informasi lebih lanjut tentang pengaturan rahasia, lihat Manage secrets.

      • Untuk instans Container Registry Enterprise Edition, Anda dapat menarik gambar menggunakan komponen tanpa kata sandi. Untuk petunjuknya, lihat Pull ACR images without passwords.

    Required resources

    Atur kuota sumber daya untuk kontainer.

    • CPU: Tentukan permintaan dan batas sumber daya CPU untuk kontainer. Secara default, permintaan dan batas bernilai sama. Metode penagihan adalah bayar sesuai penggunaan. Jika Anda menggunakan templat YAML untuk mengatur batas sumber daya yang berbeda dari permintaan sumber daya, permintaan sumber daya akan secara otomatis disesuaikan agar sama dengan batas sumber daya. Untuk informasi lebih lanjut, lihat Resource specifications.

    • Memory: Tentukan permintaan dan batas sumber daya memori untuk kontainer. Secara default, permintaan dan batas bernilai sama. Metode penagihan adalah bayar sesuai penggunaan. Jika Anda menggunakan templat YAML untuk mengatur batas sumber daya yang berbeda dari permintaan sumber daya, permintaan sumber daya akan secara otomatis disesuaikan agar sama dengan batas sumber daya. Untuk informasi lebih lanjut, lihat Resource specifications.

    Container startup command

    (Opsional) Atur perintah startup kontainer.

    • stdin: Kirim input konsol ke kontainer.

    • tty: Gunakan konsol input standar sebagai input konsol kontainer.

    Catatan

    Biasanya, Anda memilih kedua opsi stdin dan tty. Kombinasi ini mengikat terminal (tty) ke input standar (stdin) kontainer. Misalnya, program interaktif membaca input dari pengguna melalui stdin dan menampilkan output ke terminal.

    Init container

    (Opsional) Aktifkan opsi ini untuk membuat init container.

    Init container menghalangi atau menunda startup kontainer aplikasi. Setelah init container berhasil dijalankan, kontainer aplikasi dalam Pod akan mulai berjalan secara paralel. Misalnya, Anda dapat memeriksa ketersediaan layanan yang menjadi dependensi. Init container dapat mencakup utilitas dan skrip instalasi yang tidak tersedia dalam gambar aplikasi. Alat-alat ini menginisialisasi lingkungan runtime kontainer aplikasi, seperti mengatur parameter kernel atau menghasilkan file konfigurasi. Untuk informasi lebih lanjut, lihat Init Container.

  2. (Opsional) Pada bagian Port settings, klik Add untuk mengonfigurasi port kontainer.

    Configuration item

    Description

    Name

    Tentukan nama untuk port tersebut.

    Container port

    Tentukan nomor port yang akan dibuka. Nilai yang valid berkisar antara 1 hingga 65535.

    Protocol

    Mendukung TCP dan UDP.

  3. (Opsional) Pada bagian Environment variables, klik Add untuk mengonfigurasi variabel lingkungan.

    Konfigurasikan variabel lingkungan untuk Pod menggunakan pasangan kunci-nilai. Variabel lingkungan dapat digunakan untuk menambahkan flag lingkungan atau meneruskan konfigurasi. Untuk informasi lebih lanjut, lihat Pod Environment Variables.

    Configuration item

    Description

    Type

    Menentukan tipe variabel lingkungan.

    • Custom

    • Configuration item

    • Secret

    • Variable/variable reference

    • Resource reference

    Item konfigurasi dan rahasia mendukung referensi ke semua file.

    Contoh ini menggunakan rahasia. Pilih Secret sebagai tipe, lalu pilih rahasia target. Secara default, semua file dalam rahasia tersebut direferensikan.Environment variable

    File YAML yang sesuai juga mereferensikan seluruh rahasia tersebut.yaml

    Variable name

    Nama variabel lingkungan.

    Variable/variable reference

    Atur nilai variabel referensi.

  4. (Opsional) Pada bagian Health checks, aktifkan Liveness probe, Readiness probe, dan Startup probe sesuai kebutuhan.

    • Liveness: Digunakan untuk menentukan apakah kontainer berjalan secara normal. Jika sejumlah pemeriksaan tertentu gagal, kubelet akan me-restart kontainer tersebut. Pemeriksaan kelangsungan hidup dapat mendeteksi masalah seperti deadlock yang menyebabkan kontainer tetap dalam status berjalan tetapi gagal merespons.

    • Readiness: Digunakan untuk menentukan apakah kontainer siap menerima trafik. Pod hanya akan disambungkan ke backend layanan setelah pemeriksaan kesiapan berhasil.

    • Startup: Dieksekusi hanya saat kontainer dimulai untuk memeriksa apakah kontainer telah berhasil dimulai. Liveness Probe dan Readiness Probe hanya dieksekusi setelah pemeriksaan startup berhasil.

    Untuk informasi lebih lanjut, lihat Configure Liveness, Readiness, and Startup Probes.

    Configuration item

    Description

    HTTP request

    Mengirim permintaan HTTP GET ke kontainer. Parameter berikut didukung:

    • Protocol: HTTP atau HTTPS.

    • Path: Jalur akses pada server HTTP.

    • Port: Nomor port yang terbuka atau nama port. Nilainya harus berada dalam rentang 1 hingga 65.535.

    • HTTP headers: Header kustom dalam permintaan HTTP. HTTP memungkinkan header duplikat. Anda dapat mengonfigurasi header menggunakan pasangan kunci-nilai.

    • Initial delay (seconds): initialDelaySeconds. Jumlah detik yang ditunggu sebelum pemeriksaan pertama dimulai setelah kontainer dijalankan. Nilai default adalah 3.

    • Period (seconds): periodSeconds. Interval antar pemeriksaan. Nilai default adalah 10. Nilai minimum adalah 1.

    • Timeout (seconds): timeoutSeconds. Durasi timeout pemeriksaan. Nilai default adalah 1. Nilai minimum adalah 1.

    • Healthy threshold: Jumlah minimum pemeriksaan berturut-turut yang berhasil agar kontainer dianggap sehat. Nilai default adalah 1. Nilai minimum adalah 1. Untuk pemeriksaan kelangsungan hidup, nilai ini harus 1.

    • Unhealthy threshold: Jumlah minimum pemeriksaan berturut-turut yang gagal agar kontainer dianggap tidak sehat. Nilai default adalah 3. Nilai minimum adalah 1.

    TCP connection

    Mengirim permintaan soket TCP ke kontainer. Kubelet mencoba membuka soket pada port yang ditentukan. Jika koneksi berhasil, kontainer dianggap sehat. Jika koneksi gagal, kontainer dianggap tidak sehat. Parameter berikut didukung:

    • Port: Nomor port yang terbuka atau nama port. Nilainya harus berada dalam rentang 1 hingga 65.535.

    • Initial delay (seconds): initialDelaySeconds. Jumlah detik yang ditunggu sebelum pemeriksaan pertama dimulai setelah kontainer dijalankan. Nilai default adalah 15.

    • Period (seconds): periodSeconds. Interval antar pemeriksaan. Nilai default adalah 10. Nilai minimum adalah 1.

    • Timeout (seconds): timeoutSeconds. Durasi timeout pemeriksaan. Nilai default adalah 1. Nilai minimum adalah 1.

    • Healthy threshold: Jumlah minimum pemeriksaan berturut-turut yang berhasil agar kontainer dianggap sehat. Nilai default adalah 1. Nilai minimum adalah 1. Untuk pemeriksaan kelangsungan hidup, nilai ini harus 1.

    • Unhealthy threshold: Jumlah minimum pemeriksaan berturut-turut yang gagal agar kontainer dianggap tidak sehat. Nilai default adalah 3. Nilai minimum adalah 1.

    Command line

    Menjalankan perintah di dalam kontainer untuk memeriksa kesehatannya. Parameter berikut didukung:

    • Command line: Perintah yang digunakan untuk memeriksa kesehatan kontainer.

    • Initial delay (seconds): initialDelaySeconds. Jumlah detik yang ditunggu sebelum pemeriksaan pertama dimulai setelah kontainer dijalankan. Nilai default adalah 5.

    • Period (seconds): periodSeconds. Interval antar pemeriksaan. Nilai default adalah 10. Nilai minimum adalah 1.

    • Timeout (seconds): timeoutSeconds. Durasi timeout pemeriksaan. Nilai default adalah 1. Nilai minimum adalah 1.

    • Healthy threshold: Jumlah minimum pemeriksaan berturut-turut yang berhasil agar kontainer dianggap sehat. Nilai default adalah 1. Nilai minimum adalah 1. Untuk pemeriksaan kelangsungan hidup, nilai ini harus 1.

    • Unhealthy threshold: Jumlah minimum pemeriksaan berturut-turut yang gagal agar kontainer dianggap tidak sehat. Nilai default adalah 3. Nilai minimum adalah 1.

  5. (Opsional) Pada bagian Lifecycle, konfigurasikan siklus hidup kontainer.

    Konfigurasikan perintah post-start, pre-stop, dan start untuk kontainer. Untuk informasi lebih lanjut, lihat Attach Handlers to Container Lifecycle Events.

    Configuration item

    Description

    Start Execution

    Menentukan perintah dan argumen yang dijalankan sebelum kontainer dimulai.

    Post-start command

    Menentukan perintah yang dijalankan setelah kontainer dimulai.

    Stop Preprocessing

    Menentukan perintah yang dijalankan sebelum kontainer dihentikan.

  6. (Opsional) Pada bagian Volumes, sambungkan volume ke kontainer.

    • Penyimpanan lokal: Pasang ConfigMap, rahasia, dan direktori sementara ke jalur dalam kontainer. Untuk informasi lebih lanjut, lihat Volumes.

    • Penyimpanan cloud: Jenis volume yang didukung meliputi disk dan NAS. Untuk informasi lebih lanjut, lihat Storage overview.

  7. (Opsional) Pada bagian Log configuration, konfigurasikan Collection configuration dan Custom tags.

    Configuration item

    Description

    Collection configuration

    • Logstore: Buat Logstore di Simple Log Service untuk menyimpan log yang dikumpulkan.

    • Log path in container: Mendukung log stdout dan log teks.

      • Stdout: Mengumpulkan log output standar dari kontainer.

      • Text logs: Mengumpulkan log dari jalur tertentu dalam kontainer. Dalam contoh ini, semua log teks di bawah /var/log/nginx akan dikumpulkan. Karakter wildcard didukung.

    Custom tags

    Tambahkan tag kustom. Saat dikonfigurasi, tag ini akan disertakan dalam output log kontainer dan membantu Anda memberi tag log untuk keperluan statistik serta penyaringan.

  8. Klik Next untuk melanjutkan ke halaman wizard Advanced configuration.

Langkah 3: Selesaikan konfigurasi lanjutan

Pada halaman wizard Advanced configuration, konfigurasikan akses, penskalaan, penjadwalan, label, dan anotasi.

  1. Pada bagian Access settings, konfigurasikan cara membuka Pod backend.

    Anda dapat memilih cara membuka Pod backend. Contoh ini menggunakan Service ClusterIP dan Ingress untuk membuat aplikasi Nginx yang dapat diakses publik.

    • Konfigurasikan layanan: Klik Create di sebelah Service untuk mengonfigurasi pengaturan layanan.

      Expand to view Service configuration details

      Configuration item

      Description

      Name

      Masukkan nama layanan, misalnya nginx-svc.

      Type

      Pilih tipe layanan. Dalam contoh ini, pilih ClusterIP.

      • ClusterIP: Membuat layanan tersedia melalui alamat IP internal kluster, sehingga hanya dapat diakses dari dalam kluster. Ini merupakan tipe layanan default.

        Catatan

        Anda hanya dapat mengonfigurasi Inter-instance Discovery Service (Headless Service) ketika tipe layanan diatur ke Virtual Cluster IP.

      • LoadBalancer: Membuat layanan tersedia melalui instans Alibaba Cloud Server Load Balancer (SLB). Anda dapat menentukan apakah instans SLB bersifat publik atau akses internal. Instans SLB akan mengarahkan lalu lintas ke layanan tersebut.

        • Untuk instans SLB baru, klik Modify untuk mengubah spesifikasinya.

        • Untuk SLB yang sudah ada, pilih spesifikasi SLB dari daftar drop-down.

        Catatan

        Anda dapat membuat instans SLB baru atau menggunakan kembali instans yang sudah ada. Beberapa layanan Kubernetes dapat berbagi satu instans SLB, dengan batasan berikut:

        • Menggunakan instans SLB yang sudah ada akan menimpa listener yang telah dikonfigurasi sebelumnya.

        • Untuk mencegah penghapusan tidak disengaja, instans SLB yang dibuat otomatis oleh Kubernetes tidak dapat digunakan kembali. Anda hanya dapat menggunakan kembali instans SLB yang dibuat secara manual melalui konsol atau menggunakan OpenAPI.

        • Beberapa layanan yang berbagi instans SLB tidak boleh menggunakan port listener frontend yang sama karena akan menyebabkan konflik port.

        • Saat menggunakan kembali instans SLB, Kubernetes menggunakan nama listener dan nama kelompok vServer sebagai pengenal unik. Jangan mengubah nama-nama tersebut.

        • Penggunaan kembali SLB lintas kluster tidak didukung.

      Port mapping

      Tentukan port layanan dan port kontainer. Port kontainer harus sesuai dengan port yang dibuka oleh Pod backend.

      External traffic policy

      • Local: Mengarahkan lalu lintas hanya ke Pod yang berjalan pada node yang sama.

      • Cluster: Memungkinkan lalu lintas diteruskan ke Pod di node lain dalam kluster.

      Catatan

      Anda hanya dapat mengonfigurasi External traffic policy jika tipe layanan Anda adalah LoadBalancer.

      Annotations

      Tambahkan anotasi ke layanan untuk mengonfigurasi parameter SLB. Misalnya, anotasi service.beta.kubernetes.io/alicloud-loadbalancer-bandwidth:20 mengatur batas bandwidth instans SLB menjadi 20 Mbit/s.

      Labels

      Tambahkan label untuk mengidentifikasi layanan.

    • Konfigurasikan Ingress: Klik Create di sebelah Ingress untuk mengatur aturan routing untuk Pod backend.

      Expand to view the routing configuration description

      Catatan

      Saat membuat aplikasi dari gambar, Anda hanya dapat membuat satu Ingress untuk setiap Service. Contoh ini menggunakan nama domain uji coba. Anda harus menambahkan pemetaan nama domain ke file hosts Anda. Pemetaan tersebut terdiri dari titik akhir eksternal Ingress dan nama domain Ingress. Di lingkungan produksi, gunakan nama domain yang telah memiliki Pendaftaran ICP.

      101.37.XX.XX   foo.bar.com    #Alamat IP Ingress.

      Configuration item

      Description

      Name

      Masukkan nama untuk Ingress, misalnya alb-ingress.

      Rules

      Aturan routing mengarahkan lalu lintas masuk ke layanan dalam kluster. Untuk informasi lebih lanjut, lihat ALB Ingress Quick Start.

      • Domain name: Masukkan nama domain Ingress.

      • Path: Jalur URL yang digunakan untuk mengakses layanan. Jalur default adalah jalur root (/). Setiap jalur dipetakan ke layanan backend. Sebelum meneruskan lalu lintas ke backend, SLB mencocokkan nama domain dan jalur dari setiap permintaan masuk. Parameter ini tidak dikonfigurasi dalam contoh ini.

      • Service: Pilih nama layanan dan port.

      • Enable TLS: Mengaktifkan routing aman.

      Contoh ini menggunakan nama domain uji coba foo.bar.com dan mengatur Service ke nginx-svc.

      Phased release

      Tentukan apakah akan mengaktifkan rilis bertahap. Disarankan memilih Community Edition karena versi Alibaba Cloud tidak lagi dipelihara.

      Ingress Class

      Tentukan kelas Ingress kustom.

      Annotations

      Anda dapat menyesuaikan nama dan nilai anotasi atau mencari anotasi berdasarkan nama. Klik Add, lalu masukkan nama dan nilai anotasi (pasangan kunci-nilai untuk Ingress). Untuk informasi lebih lanjut tentang anotasi Ingress, lihat Annotations.

      Labels

      Klik +Add, lalu masukkan nama dan nilai label untuk mengidentifikasi Ingress.

  2. (Opsional) Pada bagian Scaling configuration, aktifkan Metric-based scaling untuk memenuhi kebutuhan aplikasi Anda di bawah beban yang bervariasi.

    • ACK mendukung penskalaan Pod berbasis metrik. Fitur ini secara otomatis menyesuaikan jumlah Pod berdasarkan penggunaan CPU dan memori.

      Catatan

      Untuk mengaktifkan autoscaling, Anda harus menentukan permintaan sumber daya untuk kontainer. Jika tidak, autoscaling tidak akan berlaku.

      Configuration item

      Description

      Metric

      Mendukung penggunaan CPU dan memori. Harus sesuai dengan jenis sumber daya yang diminta.

      Trigger condition

      Persentase penggunaan sumber daya yang memicu penskalaan. Penskalaan dimulai ketika penggunaan melebihi nilai ini.

      Maximum number of replicas

      Jumlah maksimum Pod untuk workload ini.

      Minimum number of replicas

      Jumlah minimum Pod untuk workload ini.

    • ACK mendukung penskalaan Pod terjadwal. Fitur ini menambah atau mengurangi jumlah Pod pada waktu yang telah dijadwalkan. Sebelum mengaktifkan penjadwalan penskalaan, Anda harus menginstal komponen ack-kubernetes-cronhpa-controller. Untuk informasi lebih lanjut, lihat CronHPA.

  1. (Opsional) Pada bagian Labels and annotations, klik Add untuk menambahkan label dan anotasi ke Pod.

  2. Klik Create.

Langkah 4: Lihat informasi aplikasi

Setelah pembuatan berhasil, Anda akan diarahkan ke halaman sukses secara default. Klik View application details untuk menuju halaman detail Deployment.

Anda juga dapat melihat Deployment di halaman Stateless. Untuk membuka halaman detail, klik nama Deployment atau Actions > Details.

Buat menggunakan YAML

Saat menggunakan templat orkestrasi ACK, Anda harus mendefinisikan objek sumber daya yang dibutuhkan aplikasi Anda. Anda dapat menggunakan pemilih label dan mekanisme lain untuk menggabungkan objek-objek ini menjadi aplikasi yang lengkap.

Contoh ini menunjukkan cara membuat aplikasi Nginx menggunakan templat orkestrasi. Templat tersebut mencakup Deployment dan Service. Deployment membuat sumber daya Pod, sedangkan Service diikat ke Pod backend untuk membentuk aplikasi Nginx yang lengkap.

  1. Masuk ke Konsol ACS. Di panel navigasi kiri, klik Clusters.

  2. Pada halaman Clusters, klik nama kluster target. Di panel navigasi kiri, pilih Workloads > Deployments.

  3. Pada halaman Deployments, klik Create from YAML di pojok kanan atas.

  4. Pada halaman Create, konfigurasikan templat dan klik Create.

    • Sample template: ACS menyediakan contoh templat YAML Kubernetes untuk berbagai tipe sumber daya guna membantu Anda menerapkan sumber daya dengan cepat. Anda juga dapat menulis templat sendiri sesuai format YAML Kubernetes untuk menggambarkan sumber daya yang diinginkan.

    • Add workload: Anda dapat dengan cepat mendefinisikan templat YAML menggunakan fitur ini.

    • Use existing template: Anda dapat mengimpor templat orkestrasi yang sudah ada ke halaman konfigurasi templat.

    • Save template: Simpan templat orkestrasi yang telah Anda konfigurasikan.

    Berikut adalah contoh templat YAML untuk aplikasi Nginx. Anda dapat menggunakan templat ini untuk dengan cepat membuat Deployment Nginx. Secara default, instans Server Load Balancer (SLB) akan dibuat.

    Catatan
    • ACK mendukung orkestrasi YAML Kubernetes. Gunakan --- untuk memisahkan objek sumber daya. Hal ini memungkinkan Anda membuat beberapa sumber daya menggunakan satu templat.

    • (Opsional) Saat memasang volume, file yang sudah ada di direktori mount akan ditimpa secara default. Untuk mempertahankan file tersebut, konfigurasikan parameter subPath.

    Expand to view the Nginx YAML template

    apiVersion: apps/v1 
    kind: Deployment
    metadata:
        name: nginx-deployment-basic
        labels:
          app: nginx
    spec:
        replicas: 2
        selector:
          matchLabels:
            app: nginx
        template:
          metadata:
            labels:
              app: nginx
              alibabacloud.com/compute-class: general-purpose 
              alibabacloud.com/compute-qos: default
          spec:
            containers:
            - name: nginx
              image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest #ganti dengan <image_name:tags> Anda
              ports:
              - containerPort: 80
              volumeMounts:
              - name: nginx-config
                mountPath: /etc/nginx/nginx.conf 
                subPath: nginx.conf   #Atur subPath.    
            volumes:
            - name: nginx-config
              configMap:
                name: nginx-conf
    ---
    apiVersion: v1     
    kind: Service
    metadata:
       name: my-service1        #tentukan nama layanan Anda
       labels:
         app: nginx
    spec:
       selector:
         app: nginx             #ubah pemilih label agar sesuai dengan Pod backend Anda
       ports:
       - protocol: TCP
         name: http
         port: 30080          
         targetPort: 80
       type: LoadBalancer       
    ---
    #Konfigurasi volume
    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: nginx-conf
      namespace: default
    data:
      nginx.conf: |-
       user  nginx;
       worker_processes  1;
       error_log  /var/log/nginx/error.log warn;
       pid        /var/run/nginx.pid;
       events {
            worker_connections  1024;
        }
        http {
            include       /etc/nginx/mime.types;
            default_type  application/octet-stream;
            log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                              '$status $body_bytes_sent "$http_referer" '
                              '"$http_user_agent" "$http_x_forwarded_for"';
            access_log  /var/log/nginx/access.log  main;
            sendfile        on;
            #tcp_nopush     on;
            keepalive_timeout  65;
            #gzip  on;
            include /etc/nginx/conf.d/*.conf;
        } 
  5. Setelah mengklik Create, status deployment akan ditampilkan.

kubectl

Anda dapat menggunakan perintah kubectl untuk membuat dan melihat aplikasi.

  1. Sambungkan ke kluster. Untuk informasi lebih lanjut, lihat Connect to ACK clusters using kubectl atau Use kubectl on Cloud Shell to manage ACK clusters.

  2. Jalankan perintah berikut untuk memulai kontainer. Dalam contoh ini, server web Nginx dijalankan.

     kubectl create deployment nginx --image=registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest
  3. Jalankan perintah berikut untuk membuat Service untuk kontainer tersebut. Mengatur --type=LoadBalancer akan membuat instans Alibaba Cloud Server Load Balancer (SLB) yang mengarahkan trafik ke kontainer Nginx.

    kubectl expose deployment nginx --port=80 --target-port=80 --type=LoadBalancer
  4. Jalankan perintah berikut untuk menampilkan daftar kontainer Nginx yang sedang berjalan.

    kubectl get pod |grep nginx

    Output yang diharapkan:

    NAME                                   READY     STATUS    RESTARTS   AGE
    nginx-2721357637-d****                 1/1       Running   1          9h