全部產品
Search
文件中心

Alibaba Cloud Service Mesh:通過ASM管理ACK虛擬節點上的ECI Pod應用

更新時間:Jun 30, 2024

阿里雲Container Service基於虛擬節點和ECI提供了多種Serverless Container產品形態,例如通過部署ACK虛擬節點群組件建立ECI Pod實現了Kubernetes與Elastic Container Instance的無縫串連。您可以靈活動態地按需建立ECI Pod,免去叢集容量規劃的麻煩。本文介紹如何在Service MeshASM中管理運行在ACK虛擬節點上的ECI Pod應用。

前提條件

步驟一:為目標命名空間啟用自動注入

在ASM控制台中啟動自動注入功能,可以在建立Pod的過程中,將Sidecar自動注入Proxy容器,以實現資料平面的網格化。

本樣本為default和vk命名空間啟用Sidecar網格代理自動注入。具體操作,請參見管理全域命名空間

步驟二:建立ECI Pod應用

說明

建立ECI Pod應用後,ASM可以通過Sidecar對ECI Pod應用進行資料平面化管理。

方式一:通過配置Pod標籤的方式建立ECI Pod應用

給Pod添加alibabacloud.com/eci=true的標籤,Pod將以ECI方式運行,並且所在的節點是虛擬節點。

  1. 執行以下命令,確認default命名空間已包含istio-injection=enabled標籤。

    kubectl get ns default --show-labels

    預期輸出:

    NAME      STATUS   AGE   LABELS
    default   Active   16d   istio-injection=enabled,kubernetes.io/metadata.name=default,provider=asm
  2. 執行以下命令,部署Nginx應用。

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

    預期輸出:

    pod/nginx created
  3. 執行以下命令,查看虛擬節點上的Pod資訊。

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

    預期輸出:

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

方式二:通過配置Namespace標籤的方式建立ECI Pod應用

給Pod所在的命名空間添加alibabacloud.com/eci=true標籤,Pod將以ECI方式運行,並且所在的節點是虛擬節點。

  1. 執行以下命令,確認vk命名空間已包含istio-injection=enabled標籤。

    kubectl get ns vk --show-labels

    預期輸出:

    NAME   STATUS   AGE   LABELS
    vk     Active   96m   istio-injection=enabled,kubernetes.io/metadata.name=vk,provider=asm
  2. 執行以下命令,為vk命名空間添加標籤。

    kubectl label namespace vk alibabacloud.com/eci=true

    預期輸出:

    namespace/vk labeled
  3. 執行以下命令,部署Nginx應用。

    kubectl -n vk run nginx --image nginx

    預期輸出:

    pod/nginx created
  4. 執行以下命令,查看虛擬節點上的Pod資訊。

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

    預期輸出:

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