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

Alibaba Cloud Service Mesh:コントロールプレーンで kubectl を使用して Istio リソースにアクセスする

最終更新日:Jan 13, 2025

API 操作を使用してサービスメッシュ(ASM)インスタンスを管理する場合、kubectl クライアントを使用して ASM インスタンスに接続できます。

背景情報

kubectl は、Kubernetes のコマンドラインツールです。 kubectl を使用して、Kubernetes クラスター、Kubernetes クラスターにデプロイされたコンテナー化アプリケーション、および ASM インスタンスを管理できます。

Kubernetes のロールベースアクセス制御(RBAC)モードに基づいて、ASM は ASM インスタンスに対するさまざまな権限を持つ事前定義された RBAC ロールを提供します。 必要に応じて、次の権限を持つロールをユーザーに割り当てることができます。

  • コントロールプレーンの名前空間を管理するための権限。作成、削除、取得、一覧表示、パッチ適用、更新、および監視操作を実行するための権限を含みます。

  • Istio リソースを管理するための権限。作成、削除、取得、一覧表示、パッチ適用、更新、および監視操作を実行するための権限を含みます。

  • イングレスゲートウェイをデプロイするための istiogateways.istio.alibabacloud.com リソースを管理するための権限。作成、削除、取得、一覧表示、パッチ適用、更新、および監視操作を実行するための権限を含みます。

  • istio.alibabacloud.com リソースに対する読み取り専用権限。取得操作と一覧表示操作を実行するための権限を含みます。

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: istio-admin
rules:
- apiGroups: [""]
  resources: ["namespaces"]
  verbs: 
  - create
  - delete
  - get
  - list
  - patch
  - update
  - watch
- apiGroups:
  - config.istio.io
  - networking.istio.io
  - authentication.istio.io
  - rbac.istio.io
  - security.istio.io
  resources: ["*"]
  verbs:
  - create
  - delete
  - get
  - list
  - patch
  - update
  - watch
- apiGroups:
  - istio.alibabacloud.com
  resources: ["istiogateways"]
  verbs:
  - create
  - delete
  - get
  - list
  - patch
  - update
  - watch
- apiGroups:
  - istio.alibabacloud.com
  resources: ["*"]
  verbs:
  - get
  - list

手順

  1. GitHub から kubectl のバージョンを選択してダウンロードします。 次に、kubectl クライアントをインストールして構成します。 詳細については、「kubectl のインストールとセットアップ」をご参照ください。

  2. ASM インスタンスに接続するための認証情報を追加します。

    1. ASM コンソール にログインします。 左側のナビゲーションペインで、[サービスメッシュ] > [メッシュ管理] を選択します。

    2. [メッシュ管理] ページで、ASM インスタンスの名前をクリックします。 左側のナビゲーションペインで、[ASM インスタンス] > [基本情報] を選択します。

    3. [基本情報] ページの右上隅にある [接続] をクリックします。 [接続] パネルで、要件に基づいて [インターネットアクセス] タブまたは [内部アクセス] タブをクリックし、[kubeconfig ファイルのコピー] をクリックして、コードエディターの内容をオンプレミスマシンの $HOME/.kube ディレクトリにある config ファイルにコピーします。 これは、kubectl が認証情報を取得するデフォルトのファイルです。

      指定されたディレクトリに config ファイルが存在しない場合は、自分で作成してください。

      重要

      ASM インスタンスの API サーバーにエラスティック IP アドレス(EIP)が関連付けられており、API サーバーがインターネットに公開されている場合にのみ、インターネットから ASM インスタンスにアクセスできます。 それ以外の場合、[接続] パネルには [インターネットアクセス] タブは表示されません。

  3. 次のコマンドを実行して、kubectl クライアントから ASM インスタンスに接続できるかどうかを確認します。

    kubectl get ns

    名前空間情報が返された場合、接続は成功です。