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
手順
GitHub から kubectl のバージョンを選択してダウンロードします。 次に、kubectl クライアントをインストールして構成します。 詳細については、「kubectl のインストールとセットアップ」をご参照ください。
ASM インスタンスに接続するための認証情報を追加します。
ASM コンソール にログインします。 左側のナビゲーションペインで、 を選択します。
[メッシュ管理] ページで、ASM インスタンスの名前をクリックします。 左側のナビゲーションペインで、 を選択します。
[基本情報] ページの右上隅にある [接続] をクリックします。 [接続] パネルで、要件に基づいて [インターネットアクセス] タブまたは [内部アクセス] タブをクリックし、[kubeconfig ファイルのコピー] をクリックして、コードエディターの内容をオンプレミスマシンの
$HOME/.kube
ディレクトリにある config ファイルにコピーします。 これは、kubectl が認証情報を取得するデフォルトのファイルです。指定されたディレクトリに config ファイルが存在しない場合は、自分で作成してください。
重要ASM インスタンスの API サーバーにエラスティック IP アドレス(EIP)が関連付けられており、API サーバーがインターネットに公開されている場合にのみ、インターネットから ASM インスタンスにアクセスできます。 それ以外の場合、[接続] パネルには [インターネットアクセス] タブは表示されません。
次のコマンドを実行して、kubectl クライアントから ASM インスタンスに接続できるかどうかを確認します。
kubectl get ns
名前空間情報が返された場合、接続は成功です。