Alibaba Cloud は Workbench と CloudShell を提供しています。これらはブラウザベースのコマンドラインツールで、ソフトウェアをインストールすることなく、クラスターリソースに接続して管理するために使用できます。Alibaba Cloud 管理コンソールにログインした後、どのブラウザでも Workbench または CloudShell を使用できます。ツールが起動すると、Container Service for Kubernetes (ACK) は現在のユーザーのクラスターの KubeConfig ファイルを自動的にロードします。
Workbench: Elastic Compute Service (ECS) インスタンス用のリモート接続ツールです。追加のソフトウェアは必要ありません。Workbench を使用して、パブリックネットワークまたは内部ネットワーク経由でクラスターに接続できます。
CloudShell: Alibaba Cloud が提供するシェルツールです。さまざまなプログラミング言語とコマンドラインツールがプリインストールされた Linux 仮想マシン (VM) を作成します。CloudShell を使用して、パブリックネットワーク経由でのみクラスターに接続できます。
パブリックネットワーク経由で接続するには、パブリックネットワークアクセスを有効にするために、Elastic IP アドレス (EIP) をクラスターの API サーバー に関連付ける必要があります。詳細については、「ACK クラスターの API サーバーへのパブリックアクセスを制御する」をご参照ください。
CloudShell によって作成された VM は 1 時間有効で、有効期限が切れるとすぐに終了します。30 分間インタラクティブな操作を行わない場合、またはすべてのセッションウィンドウを閉じた場合、VM は 15 分後に終了します。CloudShell を再度起動すると、システムは新しい VM を作成します。
準備
Resource Access Management (RAM) ユーザーがクラスターに接続する前に、クラスターを管理するために必要な権限をユーザーに付与する必要があります。これは、Container Service に必要なシステム権限に加えて必要です。詳細については、「権限付与」をご参照ください。
RAM ユーザーが CloudShell を使用する前に、ユーザーに AliyunCloudShellFullAccess 権限を付与する必要があります。NAS ファイルシステムを作成してアタッチするには、ユーザーに AliyunNASFullAccess 権限も付与する必要があります。詳細については、「RAM ユーザーへの権限付与」をご参照ください。
手順
クラスターがパブリックネットワーク経由でアクセス可能かどうかに応じて、Workbench または CloudShell を使用してクラスターに接続するオプションが [クラスター情報] ページの右上に表示されます。プロンプトに従ってオプションを選択します。
Workbench
ACK コンソールにログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。
クラスター ページで、対象のクラスターを見つけてその名前をクリックします。左側のナビゲーションウィンドウで、クラスター情報 をクリックします。
[クラスター情報] ページで、右上の [Workbench でクラスターを管理] をクリックします。
ターミナルインターフェイスで、kubectl コマンドを実行してクラスターへの接続を確認します。
たとえば、次のコマンドは名前空間をクエリします。
kubectl get namespace期待される出力:
NAME STATUS AGE default Active 3h14m kube-node-lease Active 3h14m kube-public Active 3h14m kube-system Active 3h14m
CloudShell
ACK コンソールにログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。
クラスター ページで、対象のクラスターを見つけてその名前をクリックします。左側のナビゲーションウィンドウで、クラスター情報 をクリックします。
[クラスター情報] ページで、右上の [CloudShell でクラスターを管理] をクリックします。
オプション:
をクリックし、次に [ストレージのマウント] をクリックします。画面の指示に従って NAS ファイルシステムを作成し、アタッチします。NAS ファイルシステムを関連付けてマウントすると、頻繁に使用するスクリプトやファイルを永続的に保存でき、インスタンスがリリースされたときのデータ損失を防ぐことができます。
kubectl コマンドを実行してクラスターへの接続を確認します。
たとえば、次のコマンドは名前空間をクエリします。
kubectl get namespaces期待される出力:
NAME STATUS AGE default Active 3h14m kube-node-lease Active 3h14m kube-public Active 3h14m kube-system Active 3h14m