全部产品
Search
文档中心

Container Compute Service:Membuat aplikasi tanpa status dengan menggunakan Deployment

更新时间:Jul 02, 2025

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

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

  2. Di halaman Clusters, temukan klaster yang ingin dikelola dan klik ID-nya. Di panel navigasi sisi kiri halaman detail klaster, pilih Workloads > Deployments.

  3. Di tab Deployments, klik Create from Image.

  4. 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.

  5. 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.

Catatan

Klik Add Container di sebelah kanan tab Container1 untuk menambah lebih banyak kontainer.

  1. 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.

    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.

    Catatan

    stdin 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.

  2. 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.

  3. 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. yaml

    Variable Key

    Nama variabel lingkungan.

    Value/ValueFrom

    Nilai variabel lingkungan.

  4. 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.

  5. 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.

  6. 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.

  7. 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/nginx ditentukan 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.

  8. 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.

  1. 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.

      Lihat Parameter Service

      Parameter

      Deskripsi

      Name

      Nama Service. Dalam contoh ini, nginx-svc digunakan.

      Status

      Tipe Service. Parameter ini menentukan cara Service diakses. Cluster IP dipilih dalam contoh ini.

      • Cluster IP: Service tipe ClusterIP. Jenis Service ini memaparkan Service melalui alamat IP internal klaster. Jika Anda memilih opsi ini, Service hanya dapat diakses di dalam klaster. Ini adalah nilai default.

        Catatan

        Parameter Headless Service hanya tersedia ketika Anda menetapkan Tipe ke Cluster IP.

      • Server Load Balancer: Service tipe LoadBalancer. Jenis Service ini memaparkan Service dengan menggunakan instance Server Load Balancer (SLB). Jika Anda memilih jenis ini, Anda dapat mengaktifkan akses internal atau eksternal ke Service. Instance SLB dapat digunakan untuk merutekan permintaan ke Service tipe ClusterIP.

        • Buat Instance SLB: Anda dapat mengklik Modify untuk mengubah spesifikasi instance SLB.

        • Gunakan Instance SLB yang Ada: Pilih tipe instance SLB dari daftar.

        Catatan

        Anda dapat membuat instance SLB atau menggunakan instance SLB yang ada. Anda juga dapat mengaitkan instance SLB dengan beberapa Service. Namun, Anda harus memperhatikan batasan berikut:

        • Jika Anda menggunakan instance SLB yang ada, pendengar instance SLB akan menimpa pendengar Service.

        • Jika instance SLB dibuat bersamaan dengan Service, Anda tidak dapat menggunakan kembali instance SLB ini saat membuat Service lain. Jika tidak, instance SLB mungkin dihapus. Hanya instance SLB yang dibuat secara manual di konsol atau dengan memanggil API yang dapat digunakan untuk memaparkan beberapa Service.

        • Service yang berbagi instance SLB yang sama harus menggunakan port pendengar frontend yang berbeda. Jika tidak, konflik port mungkin terjadi.

        • Jika beberapa Service berbagi instance SLB yang sama, Anda harus menggunakan nama pendengar dan nama grup vServer sebagai pengenal unik di Kubernetes. Jangan ubah nama pendengar atau grup vServer.

        • Anda tidak dapat berbagi instance SLB di seluruh klaster.

      Port Mapping

      Tentukan port Service dan port kontainer. Port kontainer harus sama dengan yang diekspos di pod backend.

      External Traffic Policy

      • Local: Lalu lintas hanya dirutekan ke pod di node tempat gateway ingress diterapkan.

      • Cluster: Kebijakan ini dapat mengarahkan lalu lintas ke pod di node lain.

      Catatan

      Parameter External Traffic Policy hanya tersedia jika Anda menetapkan Tipe ke Server Load Balancer.

      Annotations

      Tambahkan satu atau lebih anotasi ke instance SLB. Sebagai contoh, service.beta.kubernetes.io/alicloud-loadbalancer-bandwidth:20 menentukan bahwa bandwidth maksimum Service adalah 20 Mbit/s. Ini membatasi jumlah lalu lintas yang mengalir melalui Service.

      Labels

      Label yang akan ditambahkan ke Service, yang mengidentifikasi Service.

    • Untuk membuat Ingress, klik Create di sisi kanan Ingresses. Di kotak dialog Buat, atur parameter.

      Lihat Parameter Ingress

      Catatan

      Saat membuat aplikasi dari gambar, Anda hanya dapat membuat Ingress untuk satu Service. Dalam contoh ini, nama host virtual digunakan sebagai nama domain uji. Tambahkan aturan pemetaan berikut ke file hosts untuk memetakan nama domain ke alamat IP Ingress. Entri dalam format <Titik Akhir Eksternal Ingress> + <Nama Domain Ingress>. Dalam skenario nyata, gunakan nama domain yang memiliki nomor Penyedia Konten Internet (ICP).

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

      Parameter

      Deskripsi

      Name

      Nama Ingress. Dalam contoh ini, alb-ingress digunakan.

      Rule

      Aturan Ingress digunakan untuk mengaktifkan akses ke Service tertentu dalam klaster. Untuk informasi lebih lanjut, lihat Memulai dengan ALB Ingress.

      • Domain: Masukkan nama domain Ingress.

      • Path: Masukkan URL Service. Path default adalah path root /. Path default digunakan dalam contoh ini. Setiap path dikaitkan dengan Service backend. SLB hanya meneruskan lalu lintas ke Service backend jika permintaan masuk sesuai dengan nama domain dan path.

      • Service: Pilih Service dan port Service yang diinginkan.

      • TLS Settings: Pilih kotak centang ini untuk mengaktifkan TLS.

      Nama domain uji foo.bar.com digunakan dalam contoh ini. Service nginx-svc diatur sebagai backend Ingress.

      Canary Release

      Aktifkan atau nonaktifkan fitur rilis canary. Kami merekomendasikan Anda memilih Open Source Solution karena fitur rilis canary yang disediakan oleh Alibaba Cloud telah dihentikan.

      Ingress Class

      Tentukan kelas Ingress.

      Annotations

      Anda dapat menambahkan anotasi kustom atau memilih anotasi yang ada. Klik Add dan masukkan kunci dan nilai. Untuk informasi lebih lanjut tentang anotasi Ingress, lihat Anotasi.

      Labels

      Klik +Add untuk menambahkan label dalam pasangan kunci-nilai ke Ingress untuk mengidentifikasi Ingress.

  2. 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.

      Catatan

      Untuk 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.

  1. Opsional: Di bagian Labels,Annotations, klik Add untuk menambahkan label dan anotasi pod.

  2. 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.

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

  2. Di halaman Clusters, temukan klaster yang ingin dikelola dan klik ID-nya. Di panel navigasi sisi kiri halaman detail klaster, pilih Workloads > Deployments.

  3. Di sudut kanan atas halaman Deployments, klik Create from YAML.

  4. 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.

    Catatan
    • ACS 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.

    Lihat Isi File YAML NGINX

    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 parameter 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 untuk mencocokkan pod backend Anda
       ports:
       - protocol: TCP
         name: http
         port: 30080          
         targetPort: 80
       type: LoadBalancer       
    ---
    # ConfigMap volume yang dipasang.
    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, pesan status penyebaran akan muncul.

kubectl

Anda dapat menggunakan kubectl untuk membuat aplikasi atau melihat pod aplikasi.

  1. 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.

  2. 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:latest
  3. Jalankan perintah berikut untuk membuat Ingress untuk pod dan tentukan --type=LoadBalancer untuk menggunakan load balancer yang disediakan oleh Alibaba Cloud.

    kubectl expose deployment nginx --port=80 --target-port=80 --type=LoadBalancer
  4. Jalankan perintah berikut untuk menanyakan pod dari NGINX Service:

    kubectl get pod |grep nginx

    Hasil yang diharapkan:

    NAMA                                   SIAP     STATUS    MULAI ULANG   UMUR
    nginx-2721357637-d****                 1/1       Berjalan   1          9j