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