servicemesh-operator コンポーネントは、Container Service for Kubernetes (ACK) クラスターにおける Service Mesh (ASM) のデプロイメント、アップグレード、および構成管理を簡素化します。これにより、トラフィック管理、セキュリティ、可観測性といった ASM の強力な機能を迅速に有効化できます。
適用範囲
ACK クラスターはバージョン 1.28 以降である必要があります。
ASM が有効化されていること。
操作手順
ACK クラスターに servicemesh-operator コンポーネントをインストールすると、システムは自動的に以下をデプロイします:
`servicemesh-operator` という名前のコントローラーがクラスターにデプロイされます。このコントローラーはクラスターのコントロールプレーン上で実行され、Service Mesh に関連するカスタムリソースの監視と処理を担当します。
servicemesh.istio.alibabacloud.comカスタムリソース定義 (CRD) が作成されます。`mesh` という名前の ServiceMesh カスタムリソース (CR) が自動的に作成されます。
servicemesh-operator コントローラーは、mesh-for-${cluster-ID} という名前の Standard Edition ASM インスタンスを作成し、作成後にそのインスタンスに ACK クラスターを追加します。
ServiceMesh CR をクエリすることで、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 CR の 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 クラスター間の 1 対 1 のマッピングのみをサポートします。ASM インスタンスを更新するには、ASM コンソールに移動してください。
ServiceMesh リソースを削除すると、対応する ACK クラスターが ASM インスタンスから削除されます。ACK クラスターがゲートウェイやサイドカープロキシなどの ASM リソースを使用している場合、削除操作は失敗します。現在のステータスは、ServiceMesh リソースの Status フィールドで確認できます。
ServiceMesh リソースに
operator.istio.alibabacloud.com/deletion-policy: Deleteアノテーションが含まれている場合、ACK クラスターが削除されると、対応する ASM インスタンスも削除されます。それ以外の場合、ASM インスタンスは保持されます。デフォルトで、このコンポーネントは Standard Edition ASM インスタンスを作成します。このエディションは無料で、サービスレベルアグリーメント (SLA) は提供されず、クラスターサイズは最大 50 Pod です。Standard Edition は、中国本土でのみ利用可能です。他のリージョンまたは国で Standard Edition インスタンスを作成しようとすると、操作は失敗します。インスタンスを作成またはスペックアップするには、ServiceMesh リソースの
.spec.clusterSpecフィールドをEnterpriseまたはUltimateに変更します。エディションと課金の詳細については、「課金」をご参照ください。
ServiceMesh CRD の詳細
ServiceMesh リソースは、Kubernetes クラスターで ASM サービスメッシュを宣言および管理するための望ましい状態と実際の状態を定義します。spec 内の一部のフィールドは変更可能です。これらのフィールドを変更すると、対応するメッシュプロパティの変更がトリガーされます。
Spec (.spec)
フィールド | タイプ | 説明 | デフォルト | 必須 | 変更可能 |
| string | サービスメッシュの ID。ID を指定しない場合、システムはランダムな ID を生成します。新しいサービスメッシュを作成するか、現在のクラスターを既存のメッシュに追加するには、この ID を指定します。このフィールドは `name` フィールドよりも優先度が高いです。 | N/A | いいえ | いいえ |
| string | サービスメッシュの名前です。名前を指定しない場合、システムは | N/A | いいえ | はい |
| string | 作成されるサービスメッシュインスタンスのエディション。インスタンスの機能とパフォーマンスレベルを定義します。有効な値:
|
| いいえ | はい |
Status (.status)
フィールド | タイプ | 説明 |
| string | コントローラーによって作成された実際のサービスメッシュの一意の名前。このフィールドは、最初の作成リクエストが送信される前に記録され、重複したサービスメッシュインスタンスの作成を防ぐために、調整プロセス全体を通じて不変です。 |
| string | 正常に作成されたサービスメッシュの ID。この値は、サービスメッシュインスタンスが作成された後にクラウドから取得されます。 |
| string | Service Mesh インスタンスの仕様。 |
| []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 リソースが削除されても、Alibaba Cloud の ASM インスタンスは保持されます。Delete: ServiceMesh リソースが削除されると、Alibaba Cloud から ASM インスタンスも削除されます。
apiVersion: istio.alibabacloud.com/v1beta1
kind: ServiceMesh
metadata:
name: advanced-mesh
annotations:
operator.istio.alibabacloud.com/deletion-policy: Delete # or Retain
spec:
name: advanced-service-mesh
clusterSpec: Ultimate