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 | 关于该条件状态的信息描述,通常用于在发生错误或处于某个特定状态时提供额外上下文。 |