servicemesh-operator
servicemesh-operator組件用於在ACK叢集中簡化服務網格(ASM)的部署、升級和組態管理流程,從而快速啟用ASM所提供的流量管理、安全和可觀測性等強大功能。
適用範圍
ACK叢集版本需為1.21或更高。
使用說明
在ACK叢集中成功安裝 servicemesh-operator 組件後,系統將自動完成以下部署:
在叢集中部署一個名為 servicemesh-operator 的控制器。該控制器運行在叢集的控制面,負責監聽和處理服務網格相關的自訂資源。
建立
servicemesh.istio.alibabacloud.comCRD。自動建立一個名為 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: kubectl.kubernetes.io/last-applied-configuration: | {"apiVersion":"istio.alibabacloud.com/v1beta1","kind":"ServiceMesh","metadata":{"annotations":{},"name":"mesh"},"spec":{"clusterSpec":"Standard"}} creationTimestamp: "2025-08-08T03:38:15Z" generation: 1 name: mesh resourceVersion: "18972175" uid: 440b90f4-c894-4dc1-8b37-c025690171c9 spec: clusterSpec: Standard status: conditions: - lastTransitionTime: "2025-08-08T03:38:16Z" status: "True" type: PreChecked - lastTransitionTime: "2025-08-08T03:38:18Z" status: "True" type: ServiceMeshCreated - lastTransitionTime: "2025-08-08T03:38:19Z" status: "True" type: ServiceMeshReady - lastTransitionTime: "2025-08-08T03:38:21Z" status: "True" type: ClusterAdded phase: Succeeded serviceMeshId: cb3a33d70d3344ea58170494c1b12a6fa serviceMeshName: mesh-for-c9ce5e565cb984d709326a29ccb80d70a
kubectl
查看ServiceMesh自訂資源YAML。
kubectl get servicemesh mesh -n istio-system -o yaml預期輸出:
apiVersion: istio.alibabacloud.com/v1beta1 kind: ServiceMesh metadata: annotations: kubectl.kubernetes.io/last-applied-configuration: | {"apiVersion":"istio.alibabacloud.com/v1beta1","kind":"ServiceMesh","metadata":{"annotations":{},"name":"mesh"},"spec":{"clusterSpec":"Standard"}} creationTimestamp: "2025-08-08T03:38:15Z" generation: 1 name: mesh resourceVersion: "18972175" uid: 440b90f4-c894-4dc1-8b37-c025690171c9 spec: clusterSpec: Standard status: conditions: - lastTransitionTime: "2025-08-08T03:38:16Z" status: "True" type: PreChecked - lastTransitionTime: "2025-08-08T03:38:18Z" status: "True" type: ServiceMeshCreated - lastTransitionTime: "2025-08-08T03:38:19Z" status: "True" type: ServiceMeshReady - lastTransitionTime: "2025-08-08T03:38:21Z" status: "True" type: ClusterAdded phase: Succeeded serviceMeshId: cb3a33d70d3344ea58170494c1b12a6fa serviceMeshName: mesh-for-c9ce5e565cb984d709326a29ccb80d70a
配額與限制
目前的版本的 servicemesh-operator 僅支援 ASM 執行個體與 ACK 叢集的一對一綁定。如需更新或刪除 ASM執行個體,請前往 ASM 控制台操作。
ServiceMesh CRD 說明
ServiceMesh 資源定義了在 Kubernetes 叢集中聲明和管理一個 ASM 服務網格的期望狀態和實際狀態。
Spec(.spec)
欄位 | 類型 | 描述 | 預設值 | 必填 |
| string | 服務網格的 ID。如果未指定,系統將產生一個隨機 ID。使用者可以指定此 ID 來建立一個新的服務網格,或將當前叢集加入到一個已存在的網格中。此欄位的優先順序高於 name欄位。 | N/A | 否 |
| string | 服務網格的名稱。如果未指定,系統將產生一個格式為 | N/A | 否 |
| string | 建立的服務網格執行個體的初始規格。它定義了網格執行個體的功能和效能等級。有效值為:
| Standard | 否 |
Status(.status)
欄位 | 類型 | 描述 |
| string | 由控制器建立的、實際的服務網格的唯一名稱。該欄位在首次建立請求發送前被記錄,並且在整個協調過程中不可變,以防止建立重複的服務網格執行個體。 |
| string | 實際建立成功的服務網格的 ID。該值在服務網格執行個體成功建立後從雲端擷取。 |
| string | 描述服務網格當前所處的生命週期階段。可能的值包括:
|
| []ServiceMeshCondition | 一個列表,包含了服務網格在協調過程中經歷的一系列條件及其狀態。它詳細記錄了資源從建立到就緒的各個關鍵步驟。 |
| metav1.Time | 記錄了當協調過程遇到可重試的錯誤時,最後一次重試的時間戳記。 |
ServiceMeshCondition
欄位 | 類型 | 描述 |
| metav1.Time | 該條件狀態最後一次發生變化的時間戳記。 |
| string | 條件的目前狀態。有效值為:
|
| string | 條件的類型,代表一個具體的協調步驟。例如:
|
| string | 關於該條件狀態的資訊描述,通常用於在發生錯誤或處於某個特定狀態時提供額外上下文。 |