全部产品
Search
文档中心

Alibaba Cloud Service Mesh:Gunakan ASM untuk mengelola aplikasi dalam pod berbasis ECI yang berjalan pada node virtual klaster ACK

更新时间:Jul 02, 2025

Container Service for Kubernetes (ACK) menyediakan berbagai kontainer serverless berbasis node virtual dan Elastic Container Instance (ECI). Sebagai contoh, node virtual dapat diterapkan di klaster ACK untuk memungkinkan integrasi tanpa hambatan antara Kubernetes dan ECI. Anda dapat membuat pod berbasis ECI sesuai kebutuhan untuk menghindari perencanaan kapasitas klaster. Topik ini menjelaskan cara menggunakan Service Mesh (ASM) untuk mengelola aplikasi dalam pod berbasis ECI yang berjalan pada node virtual klaster ACK.

Prasyarat

Langkah 1: Aktifkan injeksi proxy sidecar otomatis untuk sebuah namespace

Setelah Anda mengaktifkan injeksi sidecar otomatis untuk sebuah namespace di konsol ASM, proxy Envoy secara otomatis disuntikkan sebagai sidecar ke setiap pod yang dibuat di namespace tersebut. Proxy Envoy ini membentuk bidang data dari instance ASM.

Dalam contoh ini, injeksi proxy sidecar otomatis diaktifkan untuk namespace default dan vk. Untuk informasi lebih lanjut, lihat Kelola Namespace Global.

Langkah 2: Buat pod berbasis ECI untuk sebuah aplikasi

Catatan

Setelah aplikasi diterapkan di pod yang berjalan pada instance kontainer elastis, ASM dapat mengelola aplikasi pada bidang data menggunakan sidecar.

Metode 1: Gunakan label pod untuk membuat pod berbasis ECI

Tambahkan label alibabacloud.com/eci=true ke pod aplikasi yang ingin Anda buat. Dengan cara ini, pod akan dijadwalkan ke instance kontainer elastis yang berfungsi sebagai node virtual.

  1. Jalankan perintah berikut untuk memeriksa apakah label istio-injection=enabled telah ditambahkan ke namespace default:

    kubectl get ns default --show-labels

    Output yang Diharapkan:

    NAME      STATUS   AGE   LABELS
    default   Active   16d   istio-injection=enabled,kubernetes.io/metadata.name=default,provider=asm
  2. Jalankan perintah berikut untuk menerapkan aplikasi NGINX:

    kubectl run nginx -n default --image nginx -l alibabacloud.com/eci=true

    Output yang Diharapkan:

    pod/nginx created
  3. Jalankan perintah berikut untuk melihat informasi tentang pod yang berjalan pada node virtual:

    kubectl get pod -n default -o wide|grep virtual-kubelet

    Output yang Diharapkan:

    nginx                             2/2     Running            0              8m49s    192.168.XXX.XXX   virtual-kubelet-cn-beijing-i   <none>           <none>

Metode 2: Use a namespace label to create ECI-based pods

Tambahkan label alibabacloud.com/eci=true ke namespace tempat pod aplikasi yang ingin Anda buat berada. Dengan cara ini, pod akan dijadwalkan ke instance kontainer elastis yang berfungsi sebagai node virtual.

  1. Jalankan perintah berikut untuk memeriksa apakah label istio-injection=enabled telah ditambahkan ke namespace vk:

    kubectl get ns vk --show-labels

    Output yang Diharapkan:

    NAME   STATUS   AGE   LABELS
    vk     Active   96m   istio-injection=enabled,kubernetes.io/metadata.name=vk,provider=asm
  2. Jalankan perintah berikut untuk menambahkan label ke namespace vk:

    kubectl label namespace vk alibabacloud.com/eci=true

    Output yang Diharapkan:

    namespace/vk labeled
  3. Jalankan perintah berikut untuk menerapkan aplikasi NGINX:

    kubectl -n vk run nginx --image nginx

    Output yang Diharapkan:

    pod/nginx created
  4. Jalankan perintah berikut untuk melihat informasi tentang pod yang berjalan pada node virtual:

    kubectl -n vk get pod -o wide|grep virtual-kubelet

    Output yang Diharapkan:

    nginx   2/2     Running   0          38s   192.168.XXX.XXX   virtual-kubelet-cn-beijing-i   <none>           <none>