全部產品
Search
文件中心

Alibaba Cloud Service Mesh:管理全域命名空間

更新時間:Jun 30, 2024

命名空間為Kubernetes叢集提供虛擬隔離作用。本文介紹如何建立命名空間、為命名空間啟用自動注入、同步ASM執行個體與資料平面叢集的自動注入標籤、編輯全域命名空間的所屬叢集。

建立命名空間

通過Service MeshASM控制台或者使用ASM KubeConfig定義的命名空間隸屬於ASM執行個體本身,與該ASM管理的資料平面叢集相對獨立,因此ASM託管的控制平面的命名空間可以與資料平面叢集的命名空間存在不同的情況。即在Service MeshASM控制台新增或者刪除命名空間,並不會影響資料平面Kubernetes叢集的命名空間。

  1. 登入ASM控制台,在左側導覽列,選擇服務網格 > 網格管理

  2. 網格管理頁面,單擊目標執行個體名稱,然後在左側導覽列,選擇網格執行個體 > 全域命名空間

  3. 全域命名空間頁面,單擊建立,然後在建立命名空間面板,配置相關資訊,然後單擊確定

    配置項

    說明

    名稱

    設定命名空間的名稱。長度為1~63個字元,只能包含數字、字母和短劃線(-),且名稱首尾必須是字母或數字。

    標籤

    標籤右側,單擊添加,輸入變數名稱和變數值,為命名空間新增一個標籤。

    命名空間可添加多個標籤。標籤用於標識該命名空間的特點,如標識該命名空間用於測試環境。

說明

命名空間建立成功後,您可以在全域命名空間頁面的操作列,進行以下操作:

  • 編輯命名空間:單擊查看YAML,在編輯對話方塊,修改相關資訊,然後單擊確定

  • 刪除命名空間:單擊刪除,在確認對話方塊,單擊確定

啟用自動注入

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

  1. 登入ASM控制台,在左側導覽列,選擇服務網格 > 網格管理

  2. 網格管理頁面,單擊目標執行個體名稱,然後在左側導覽列,選擇網格執行個體 > 全域命名空間

  3. 全域命名空間頁面的自動注入列,單擊目標命名空間對應的啟用 Sidecar 網格代理自動注入,然後在確認對話方塊,單擊確定

    說明

    啟用Sidecar網格代理自動注入後,您需要重啟Pod使配置生效。具體操作,請參見重新部署工作負載

同步ASM執行個體與資料平面叢集的自動注入標籤

通過ASM控制台或者使用ASM KubeConfig定義的命名空間隸屬於ASM執行個體本身,與該ASM管理的資料平面叢集相互獨立。您可以將ASM執行個體的命名空間及其自動注入標籤同步至資料平面叢集,也可以將資料平面叢集的命名空間及其自動注入標籤同步至ASM執行個體。

從資料平面叢集同步自動注入標籤ASM執行個體

從資料平面叢集同步自動注入標籤至ASM執行個體後,將產生以下效果:

  • 若命名空間存在於資料平面叢集但不存在於ASM執行個體,該命名空間會被自動建立。

  • 若命名空間在資料平面叢集中有自動注入標籤istio-injectionistio.io/rev,該標籤值會被同步到ASM執行個體的同名命名空間中。

  1. 登入ASM控制台,在左側導覽列,選擇服務網格 > 網格管理

  2. 網格管理頁面,單擊目標執行個體名稱,然後在左側導覽列,選擇網格執行個體 > 全域命名空間

  3. 全域命名空間頁面,單擊從Kubernetes叢集同步自動注入,在從Kubernetes叢集同步自動注入對話方塊,選中作為同步來源的資料平面叢集,然後單擊確定

    全域命名空間頁面,您可以看到ASM執行個體的全域命名空間已經和資料平面叢集進行了同步。

從ASM執行個體同步自動注入標籤至資料平面叢集

重要

當修改ASM執行個體的命名空間時,ASM執行個體命名空間的自動注入標籤會被自動同步到資料平面叢集。僅當修改資料平面的命名空間造成ASM執行個體命名空間和資料一般命名空間不同步時,需要執行此操作進行同步。

從ASM執行個體同步自動注入標籤至資料平面叢集後,將產生以下效果:

  • 若命名空間存在於ASM執行個體但不存在於資料平面叢集,該命名空間會被自動建立。

  • 若命名空間在ASM執行個體中有自動注入標籤istio-injectionistio.io/rev,該標籤值會被同步到資料平面叢集的同名命名空間中。

  • ASM執行個體中的命名空間將向所有資料平面叢集進行同步。

  1. 登入ASM控制台,在左側導覽列,選擇服務網格 > 網格管理

  2. 網格管理頁面,單擊目標執行個體名稱,然後在左側導覽列,選擇網格執行個體 > 全域命名空間

  3. 全域命名空間頁面,單擊同步自動注入至Kubernetes叢集

    您可以看到資料平面叢集中的命名空間已和ASM執行個體進行了同步。關於如何查看資料平面叢集的命名空間,請參見管理命名空間與配額

編輯全域命名空間的所屬叢集

如果ASM執行個體中添加了多個資料平面叢集,您可以編輯ASM執行個體中全域命名空間的所屬叢集。當從ASM執行個體同步自動注入標籤至資料平面叢集時,ASM執行個體的命名空間及其自動注入標籤將根據其所屬叢集選擇性地向不同資料平面叢集進行同步。

使用該功能,ASM執行個體版本需為1.17.2.37及以上。關於升級執行個體的具體操作,請參見升級ASM執行個體。您可以通過以下兩種方式編輯全域命名空間的所屬叢集。

方式一:在從資料平面叢集同步自動注入標籤至ASM執行個體時,自動編輯所屬叢集

從資料平面叢集同步自動注入標籤至ASM執行個體時,所有從資料平面叢集同步的命名空間、其所屬叢集都被標識為作為同步來源的資料平面叢集。

方式二:手動編輯全域命名空間所屬叢集

命名空間的所屬叢集將會在從ASM執行個體同步自動注入標籤至資料平面叢集時,起到以下效果:

當同步命名空間時,若資料平面叢集不在該命名空間的所屬叢集中,則不會將命名空間及其自動注入標籤向資料平面同步。

  1. 向ASM執行個體中添加多個叢集。具體操作,請參見添加叢集到ASM執行個體使用ASM Serverless網關實現多叢集入口

  2. 登入ASM控制台,在左側導覽列,選擇服務網格 > 網格管理

  3. 網格管理頁面,單擊目標執行個體名稱,然後在左側導覽列,選擇網格執行個體 > 全域命名空間

  4. 全域命名空間頁面的命名空間所屬叢集列,單擊目標命名空間對應的編輯,然後在彈出的對話方塊,選中一個或多個資料平面叢集,單擊確定