servicemesh-operator 組件用於在 ACK 叢集中簡化服務網格(ASM)的部署、升級和組態管理流程,從而快速啟用ASM所提供的流量管理、安全和可觀測性等強大功能。
適用範圍
ACK 叢集版本需為 1.28 或更高。
已開通 ASM 產品。
使用說明
在ACK叢集中成功安裝 servicemesh-operator 組件後,系統將自動完成以下部署:
在叢集中部署一個名為 servicemesh-operator 的控制器。該控制器運行在叢集的控制面,負責監聽和處理服務網格(ServiceMesh)相關的自訂資源。
建立CRD:
servicemesh.istio.alibabacloud.com。自動建立一個名為 mesh 的 ServiceMesh 自訂資源(CR)。
servicemesh-operator 控制器會建立一個名為mesh-for-${叢集ID}的標準版 ASM 執行個體,並在建立完成後將 ACK 叢集加入該執行個體。
可通過查詢 ServiceMesh 自訂資源來即時監控 ASM 執行個體的建立進度和目前狀態。
控制台
在ACK叢集列表頁面,單擊目的地組群名稱,在叢集詳情頁左側導覽列,選擇。
在自訂資源頁面,搜尋ServiceMesh,在下方列表單擊istio.alibabacloud.com下的ServiceMesh名稱。然後單擊其右側操作列下的YAML編輯。
YAML樣本如下:
apiVersion: istio.alibabacloud.com/v1beta1 kind: ServiceMesh metadata: annotations: operator.istio.alibabacloud.com/deletion-policy: Retain creationTimestamp: "2026-01-09T02:25:12Z" finalizers: - servicemeshoperator.finalizers.alibabacloud.com generation: 2 name: asm resourceVersion: "36619976" uid: 94967e01-fc25-477e-9da9-4df42cede8ba spec: clusterSpec: Enterprise status: clusterSpec: Enterprise conditions: - lastTransitionTime: "2026-01-09T02:25:19Z" message: "" observedGeneration: 2 reason: Passed status: "True" type: PreChecked - lastTransitionTime: "2026-01-09T02:25:32Z" message: "" observedGeneration: 2 reason: Available status: "True" type: ServiceMeshAvailable - lastTransitionTime: "2026-01-09T02:25:32Z" message: "" observedGeneration: 2 reason: Succeeded status: "True" type: ClusterEnrolled - lastTransitionTime: "2026-01-09T02:25:38Z" message: "" observedGeneration: 2 reason: Succeeded status: "True" type: MeshConfigApplied serviceMeshId: c6490deb776cc458c82c4c22a69315bae serviceMeshName: mesh-for-cf17b23e9fa6b4fb081c58a33964cd3dc
kubectl
查看ServiceMesh自訂資源YAML。
kubectl get servicemesh mesh -n istio-system -o yaml預期輸出:
apiVersion: istio.alibabacloud.com/v1beta1 kind: ServiceMesh metadata: annotations: operator.istio.alibabacloud.com/deletion-policy: Retain creationTimestamp: "2026-01-09T02:25:12Z" finalizers: - servicemeshoperator.finalizers.alibabacloud.com generation: 2 name: asm resourceVersion: "36619976" uid: 94967e01-fc25-477e-9da9-4df42cede8ba spec: clusterSpec: Enterprise status: clusterSpec: Enterprise conditions: - lastTransitionTime: "2026-01-09T02:25:19Z" message: "" observedGeneration: 2 reason: Passed status: "True" type: PreChecked - lastTransitionTime: "2026-01-09T02:25:32Z" message: "" observedGeneration: 2 reason: Available status: "True" type: ServiceMeshAvailable - lastTransitionTime: "2026-01-09T02:25:32Z" message: "" observedGeneration: 2 reason: Succeeded status: "True" type: ClusterEnrolled - lastTransitionTime: "2026-01-09T02:25:38Z" message: "" observedGeneration: 2 reason: Succeeded status: "True" type: MeshConfigApplied serviceMeshId: c6490deb776cc458c82c4c22a69315bae serviceMeshName: mesh-for-cf17b23e9fa6b4fb081c58a33964cd3dc
配額與限制
目前的版本的 servicemesh-operator 僅支援 ASM 執行個體與 ACK 叢集的一對一綁定。如需更新 ASM執行個體,請前往 ASM 控制台 操作。
刪除 ServiceMesh 資源時,將執行從ASM中移除此ACK叢集的操作,如果 ACK 叢集中有使用的 ASM 網關或 Sidecar 代理等資源,移除操作將失敗。可通過 ServiceMesh 資源的 Status 查看目前狀態。
如果 ServiceMesh 資源套件含
operator.istio.alibabacloud.com/deletion-policy: Delete註解,則在刪除 ACK 叢集後同步刪除 ASM執行個體,否則將保留ASM執行個體 。本組件預設建立標準版 ASM,免費但無 SLA 承諾,支援的最大叢集規模為 50 個Pod。標準版僅在中國內地地區支援,其他地區或國家建立標準版將失敗。可通過修改 ServiceMesh 資源的
.spec.clusterSpec為Enterprise或Ultimate來建立或升級規格。更多關於版本與收費資訊參見 計費說明 。
ServiceMesh CRD 說明
ServiceMesh 資源定義了在 Kubernetes 叢集中聲明和管理一個 ASM 服務網格的期望狀態和實際狀態。其中,Spec 中的一些欄位是可變的,修改後將觸發網格對應屬性的更改。
Spec(.spec)
欄位 | 類型 | 描述 | 預設值 | 必填 | 可變 |
| string | 服務網格的 ID。如果未指定,系統將產生一個隨機 ID。使用者可以指定此 ID 來建立一個新的服務網格,或將當前叢集加入到一個已存在的網格中。此欄位的優先順序高於 name欄位。 | N/A | 否 | 否 |
| string | 服務網格的名稱。如果未指定,系統將產生一個格式為 | N/A | 否 | 是 |
| string | 建立的服務網格執行個體的初始規格。它定義了網格執行個體的功能和效能等級。有效值為:
|
| 否 | 是 |
Status(.status)
欄位 | 類型 | 描述 |
| string | 由控制器建立的、實際的服務網格的唯一名稱。該欄位在首次建立請求發送前被記錄,並且在整個協調過程中不可變,以防止建立重複的服務網格執行個體。 |
| string | 實際建立成功的服務網格的 ID。該值在服務網格執行個體成功建立後從雲端擷取。 |
| string | 建立的服務網格執行個體的規格。 |
| []ServiceMeshCondition | 一個列表,包含了服務網格在協調過程中經歷的一系列條件及其狀態。它詳細記錄了資源從建立到就緒的各個關鍵步驟。 |
ServiceMeshCondition
欄位 | 類型 | 描述 |
| metav1.Time | 該條件狀態最後一次發生變化的時間戳記。 |
| string | 條件的目前狀態。有效值為:
|
| string | 條件的類型,代表一個具體的協調步驟。例如:
|
| string | 關於該條件狀態的資訊描述,通常用於在發生錯誤或處於某個特定狀態時提供額外上下文。 |
| string | 該條件狀態的原因,例如:
|
特殊註解
ServiceMesh 資源支援一些特殊註解用來進行配置,當前包含:
重試
通過 operator.istio.alibabacloud.com/retry-at 註解可觸發協調過程的重試。當協調過程中遇到錯誤時,可以設定此註解來觸發重新嘗試操作。
kubectl annotate servicemesh mesh operator.istio.alibabacloud.com/retry-at=""執行該操作後,將自動發起重試操作。
刪除策略
通過 operator.istio.alibabacloud.com/deletion-policy 註解可配置刪除策略:
Retain(預設值): 當 ServiceMesh 資源被刪除時,保留阿里雲中的 ASM 執行個體。Delete: 當 ServiceMesh 資源被刪除時,從阿里雲中刪除 ASM 執行個體。
apiVersion: istio.alibabacloud.com/v1beta1
kind: ServiceMesh
metadata:
name: advanced-mesh
annotations:
operator.istio.alibabacloud.com/deletion-policy: Delete # 或 Retain
spec:
name: advanced-service-mesh
clusterSpec: Ultimate