すべてのプロダクト
Search
ドキュメントセンター

Alibaba Cloud Service Mesh:データプレーンの KubeAPI を介した Istio リソースへのアクセス

最終更新日:Apr 10, 2026

Service Mesh (ASM) では、データプレーンクラスターの Kubernetes API (KubeAPI) を通じて、Istio リソースに対する作成、読み取り、更新、削除 (CRUD) 操作を実行できます。また、Helm を使用してアプリケーションを管理することもできます。このトピックでは、データプレーンクラスターの KubeAPI を介して Istio リソースにアクセスする方法について説明します。

前提条件

背景情報

Kubernetes API は、HTTP を介して提供されるリソースベースのプログラマティックインターフェイスです。Deployment や Service などの主要なクラスターリソースを取得、作成、更新、削除するために、標準の HTTP 動詞 (POST、PUT、PATCH、DELETE、GET) をサポートしています。詳細については、「Kubernetes API」をご参照ください。

注意事項

  • この機能はシングルクラスターモードでの使用を推奨します。ASM インスタンスに複数のデータプレーンクラスターがある場合、これらのどのクラスターからでも Istio リソースに対する CRUD 操作を実行できます。

  • この機能を有効にすると、データプレーンクラスターから istio-system 名前空間を削除できなくなります。名前空間を削除するには、まずデータプレーンクラスターを ASM インスタンスから削除する必要があります。

  • この機能を有効にした後、データプレーンの準備に 1〜2 分かかります。

  • データプレーンから名前空間を削除しても、コントロールプレーン上の対応する名前空間やその Istio リソースは削除されません。

  • Istio リソースに対して CRUD 操作を実行するには、ターゲットの名前空間がデータプレーン上に存在する必要があります。名前空間がコントロールプレーンにしか存在しない場合は、まずデータプレーン上に作成する必要があります。そうしないと、次のようなエラーメッセージが返されます:

    Error from server (NotFound): error when creating "xx.yaml": namespaces "daily-01" not found
  • データプレーン上の名前空間に Istio リソースを作成し、その名前空間が ASM コントロールプレーンに存在しない場合、その名前空間はコントロールプレーン上に自動的に作成されます。

  • データプレーンクラスターの KubeAPI を介して作成された Istio リソースは、コントロールプレーンに保存されます。したがって、Istio リソースを作成または更新する際には、データプレーンリソースを指す ownerReferences フィールドを追加しないでください。追加した場合、コントロールプレーン上の Istio リソースは、そのオーナーが見つからないためにガベージコレクションされる可能性があります。

データプレーン KubeAPI アクセスの有効化

新しい ASM インスタンスの場合

2024 年 11 月以降に作成されたインスタンスの場合、この機能はデフォルトで有効になっています。この日付より前に作成されたインスタンスの場合は、「既存の ASM インスタンスの場合」の手順に従ってください。

既存の ASM インスタンスの場合

  1. ASM コンソールにログインします。

  2. 左側のナビゲーションウィンドウで、サービスメッシュ > メッシュ管理を選択します。

  3. メッシュ管理ページで、設定する ASM インスタンスを見つけます。ASM インスタンスの名前をクリックするか、[操作] 列の 管理をクリックします。

  4. 基本情報ページで、データプレーン KubeAPI アクセスの有効化の横にある 有効化をクリックします。

  5. データプレーンクラスターの KubeAPI アクセスを有効にすることを確認ダイアログボックスで、OK をクリックします。

ユースケース 1:kubectl を使用した Istio リソースの管理

データプレーンの KubeAPI アクセスを有効にすると、kubectl を使用してデータプレーンクラスターに接続し、クラスターの KubeConfig を使用して Istio リソースを作成、クエリ、変更、削除できます。このセクションでは、VirtualService を例として使用します。

  • VirtualService を作成するには、次のコマンドを実行します:

    kubectl apply -f <VirtualService-YAML-filename>
  • VirtualService をクエリするには、次のコマンドを実行します:

    kubectl get VirtualService
  • VirtualService を変更するには、次のコマンドを実行します:

    kubectl edit VirtualService <VirtualService-name>
  • VirtualService を削除するには、次のコマンドを実行します:

    kubectl delete VirtualService <VirtualService-name>

ユースケース 2:Helm を使用したアプリケーションのデプロイ

データプレーンの KubeAPI アクセスを有効にすると、Helm はクラスターの KubeConfig を使用して、クラスターにアプリケーションをインストールすると同時に、Istio リソースを ASM にデプロイできます。

  1. kubectl を使用して ACK クラスターに接続します。詳細については、「クラスターの kubeconfig ファイルを取得し、kubectl を使用してクラスターに接続する」をご参照ください。

  2. ローカルマシンに Helm をインストールします。詳細については、「Helm」をご参照ください。

    説明

    kubectl を使用してクラスターに接続すると、Helm クライアントは自動的に同じ KubeConfig を使用してクラスターに接続します。

  3. istio-bookinfo サンプルの Helm チャートをダウンロードして展開します。

  4. istio-bookinfo ディレクトリに移動し、次のコマンドを実行してアプリケーションをインストールします:

    helm install -f values.yaml istio-bookinfo ./

    期待される出力:

    NAME:istio-bookinfo
    LAST DEPLOYED:THU May 26 16:44:19 2022
    NAMESPACE:default
    STATUS:deployed
    REVISION:1
    TEST SUITE:None
  5. デプロイメントの確認

    1. ACK コンソールで Bookinfo アプリケーションを確認します。

      1. ACK コンソールにログインします。左側のナビゲーションペインで、クラスターリストをクリックします。

      2. クラスターリストページで、ご利用のクラスターの名前をクリックします。左側のナビゲーションペインで、ワークロード > デプロイメントをクリックします。

      3. Deployments ページで、名前空間を default に設定します。

        details、productpage、ratings など、Helm によってインストールされたアプリケーションが表示されます。

        説明

        Helm リリースを表示するには、左側のナビゲーションペインで アプリケーション > Helm を選択します。Helm ページにリリースが表示されます。

        应用

    2. ASM コンソールで VirtualService と Gateway を確認します。

      1. ASM コンソールにログインします。

      2. 左側のナビゲーションウィンドウで、サービスメッシュ > メッシュ管理を選択します。

      3. メッシュ管理ページで、設定する ASM インスタンスを見つけます。ASM インスタンスの名前をクリックするか、[操作] 列の 管理をクリックします。

      4. メッシュ詳細ページの左側のナビゲーションペインで、トラフィック管理センター > VirtualService を選択します。

        VirtualService ページには、Helm によってインストールされた bookinfo という名前の VirtualService が表示されます。虚拟服务

      5. メッシュ詳細ページの左側のナビゲーションペインで、ASM ゲートウェイ > Gateway を選択します。

        Gateway ページには、Helm によってインストールされた bookinfo-gateway という名前の Gateway が表示されます。网关规则

関連操作

  • 次のコマンドを実行して、Helm リリースの一覧を表示します:

    helm list
  • 次のコマンドを実行して、Helm チャートを更新します:

    helm upgrade -f values.yaml istio-bookinfo ./