servicemesh-operator コンポーネントは、ACK クラスターにおける Alibaba Cloud Service Mesh (ASM) のデプロイ、アップグレード、および構成の管理を簡素化します。これにより、トラフィック管理、セキュリティ、可観測性などの強力な ASM の特徴を迅速に有効にできます。
適用範囲
-
ご利用の ACK クラスターのバージョンは 1.28 以降である必要があります。
-
ASM を有効化しました。
使用方法
ACK クラスターに servicemesh-operator コンポーネントをインストールすると、システムは自動的に次の手順を実行します。
-
クラスターのコントロールプレーンに servicemesh-operator という名前のコントローラーをデプロイします。このコントローラーは ServiceMesh カスタムリソースをリッスンし、処理します。
-
カスタムリソース定義 (CRD):
servicemesh.istio.alibabacloud.comを作成します。 -
mesh という名前の ServiceMesh カスタムリソース (CR) を自動的に作成します。
servicemesh-operator コントローラーは、mesh-for-${cluster ID} という名前の Standard Edition 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 クラスター間の 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 インスタンスを作成します。Standard Edition は無料ですが、サービスレベルアグリーメント (SLA) はありません。最大 50 Pod をサポートします。Standard Edition は中国本土のリージョンでのみ利用可能です。その他のリージョンで Standard Edition インスタンスを作成すると失敗します。異なるエディションを作成またはアップグレードするには、ServiceMesh リソースの
.spec.clusterSpecをEnterpriseまたはUltimateに設定します。エディションと課金の詳細については、「課金概要」をご参照ください。
ServiceMesh CRD リファレンス
ServiceMesh リソースは、Kubernetes クラスターにおける ASM サービスメッシュの望ましい状態と実際の状態を定義します。Spec の一部のフィールドは変更可能です。それらを変更すると、対応するメッシュプロパティの更新がトリガーされます。
Spec (.spec)
|
フィールド |
タイプ |
説明 |
デフォルト |
必須 |
変更可能 |
|
|
string |
サービスメッシュ ID。指定しない場合、システムがランダムな ID を生成します。この ID を指定して、新しいサービスメッシュを作成したり、現在のクラスターを既存のメッシュに追加したりできます。このフィールドは name フィールドよりも優先されます。 |
N/A |
No |
No |
|
|
string |
サービスメッシュ名。指定しない場合、システムは |
N/A |
No |
Yes |
|
|
string |
作成されるサービスメッシュインスタンスの初期エディション。メッシュインスタンスの特徴とパフォーマンスレベルを定義します。有効な値は次のとおりです。
|
|
No |
Yes |
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