Azure Kubernetes Service (AKS) で Kubernetes Web ダッシュボードにアクセスするAccess the Kubernetes web dashboard in Azure Kubernetes Service (AKS)

Kubernetes には、基本的な管理操作に使用できる Web ダッシュボードが含まれています。Kubernetes includes a web dashboard that can be used for basic management operations. このダッシュボードでは、アプリケーションの基本的な正常性状態とメトリックの表示、サービスの作成とデプロイ、既存のアプリケーションの編集を行うことができます。This dashboard lets you view basic health status and metrics for your applications, create and deploy services, and edit existing applications. この記事では、Azure CLI を使用して Kubernetes ダッシュボードにアクセスする方法と、基本的なダッシュボード操作の手順について説明します。This article shows you how to access the Kubernetes dashboard using the Azure CLI, then guides you through some basic dashboard operations.

Kubernetes ダッシュボードの詳細については、Kubernetes の Web UI ダッシュボードに関するページを参照してください。For more information on the Kubernetes dashboard, see Kubernetes Web UI Dashboard.

開始する前にBefore you begin

このドキュメントで詳しく説明する手順では、AKS クラスターを作成済みで、そのクラスターとの kubectl 接続が確立されていることを想定しています。The steps detailed in this document assume that you have created an AKS cluster and have established a kubectl connection with the cluster. AKS クラスターを作成する必要がある場合は、AKS クイック スタートを参照してください。If you need to create an AKS cluster, see the AKS quickstart.

また、Azure CLI バージョン 2.0.46 以降がインストール、構成されていること必要もあります。You also need the Azure CLI version 2.0.46 or later installed and configured. バージョンを確認するには、 az --version  を実行します。Run az --version to find the version. インストールまたはアップグレードする必要がある場合は、「 Azure CLI のインストール」を参照してください。If you need to install or upgrade, see Install Azure CLI.

Kubernetes ダッシュボードを起動するStart the Kubernetes dashboard

Kubernetes ダッシュボードを起動するには、az aks browse コマンドを使用します。To start the Kubernetes dashboard, use the az aks browse command. 次の例では、myResourceGroup という名前のリソース グループに myAKSCluster という名前のクラスターのダッシュボードを開きます。The following example opens the dashboard for the cluster named myAKSCluster in the resource group named myResourceGroup:

az aks browse --resource-group myResourceGroup --name myAKSCluster

このコマンドは、開発システムと Kubernetes API の間にプロキシを作成し、Kubernetes ダッシュボードへの Web ブラウザーを開きます。This command creates a proxy between your development system and the Kubernetes API, and opens a web browser to the Kubernetes dashboard. Web ブラウザーで Kubernetes ダッシュボードを開いていない場合は、Azure CLI に記載されている URL アドレス (一般に http://127.0.0.1:8001) をコピーして貼り付けます。If a web browser doesn't open to the Kubernetes dashboard, copy and paste the URL address noted in the Azure CLI, typically http://127.0.0.1:8001.

重要

AKS クラスターが RBAC を使用する場合は、ダッシュボードに正しくアクセスする前に ClusterRoleBinding を作成する必要があります。If your AKS cluster uses RBAC, a ClusterRoleBinding must be created before you can correctly access the dashboard. 既定では、Kubernetes ダッシュボードは、最小限の読み取りアクセス権付きでデプロイされ、RBAC アクセス エラーが表示されます。By default, the Kubernetes dashboard is deployed with minimal read access and displays RBAC access errors. 現時点では、Kubernetes ダッシュボードは、現在のアクセスのレベルを決定するユーザー指定の資格情報はサポートしていません。それは、サービス アカウントに付与されているロールを使用します。The Kubernetes dashboard does not currently support user-provided credentials to determine the level of access, rather it uses the roles granted to the service account. クラスター管理者は、kubernetes-dashboardサービス アカウントに追加のアクセス権を付与することを選択できます。ただし、これは、特権昇格に対するベクトルになる可能性があります。A cluster administrator can choose to grant additional access to the kubernetes-dashboard service account, however this can be a vector for privilege escalation. Azure Active Directory 認証を統合して、さらに細かいレベルのアクセス権を提供することもできます。You can also integrate Azure Active Directory authentication to provide a more granular level of access.

バインドを作成するには、kubectl create clusterrolebinding コマンドを使用します。To create a binding, use the kubectl create clusterrolebinding command. 次の例はサンプル バインドを作成する方法を示していますが、このサンプル バインドは、追加の認証コンポーネントを適用しないため、安全に使用できない可能性があります。The following example shows how to create a sample binding, however, this sample binding does not apply any additional authentication components and may lead to insecure use. Kubernetes ダッシュボードは、URL にアクセスできるすべてのユーザーに公開されています。The Kubernetes dashboard is open to anyone with access to the URL. Kubernetes ダッシュボードは、一般に公開しないでください。Do not expose the Kubernetes dashboard publicly.

kubectl create clusterrolebinding kubernetes-dashboard --clusterrole=cluster-admin --serviceaccount=kube-system:kubernetes-dashboard

さまざまな認証方法の使用の詳細については、Kubernetes ダッシュボード wiki でアクセス コントロールに関するページを参照してください。For more information on using the different authentication methods, see the Kubernetes dashboard wiki on access controls.

Kubernetes Web ダッシュ ボードの概要ページ

アプリケーションの作成Create an application

Kubernetes ダッシュボードによって管理タスクの複雑さを軽減する方法を確認するために、アプリケーションを作成してみましょう。To see how the Kubernetes dashboard can reduce the complexity of management tasks, let's create an application. Kubernetes ダッシュボードからアプリケーションを作成するには、テキスト入力、YAML ファイル、またはグラフィカル ウィザードを使用します。You can create an application from the Kubernetes dashboard by providing text input, a YAML file, or through a graphical wizard.

アプリケーションを作成するには、次の手順を実行します。To create an application, complete the following steps:

  1. 右上のウィンドウの [作成] ボタンを選択します。Select the Create button in the upper right window.
  2. グラフィカル ウィザードを使用する場合は、 [Create an app] (アプリの作成) を選択します。To use the graphical wizard, choose to Create an app.
  3. デプロイの名前 (nginx など) を指定しますProvide a name for the deployment, such as nginx
  4. 使用するコンテナー イメージの名前 (nginx:1.15.5 など) を入力します。Enter the name for the container image to use, such as nginx:1.15.5
  5. Web トラフィック用にポート 80 を公開するため、Kubernetes サービスを作成します。To expose port 80 for web traffic, you create a Kubernetes service. [サービス] で、 [外部] を選択し、ポートとターゲット ポートの両方に「80」を入力します。Under Service, select External, then enter 80 for both the port and target port.
  6. 準備ができたら、 [デプロイ] を選択して、アプリケーションを作成します。When ready, select Deploy to create the app.

Kubernetes Web ダッシュボードでアプリケーションをデプロイする

パブリック外部 IP アドレスが Kubernetes サービスに割り当てられるまで 1、2 秒かかります。It takes a minute or two for a public external IP address to be assigned to the Kubernetes service. 左側の [Discovery and Load Balancing] (検出と負荷分散) の下の [サービス] を選択します。On the left-hand size, under Discovery and Load Balancing select Services. 次の例に示すように、 [外部エンドポイント] を含むアプリケーションのサービスが一覧表示されます。Your application's service is listed, including the External endpoints, as shown in the following example:

サービスとエンドポイントの一覧の表示

エンドポイント アドレスを選択すると、Web ブラウザー ウィンドウに既定の NGINX ページが開きます。Select the endpoint address to open a web browser window to the default NGINX page:

デプロイされたアプリケーションの既定の NGINX ページの表示

ポッド情報の表示View pod information

Kubernetes ダッシュボードでは、基本的な監視メトリックおよびログなどのトラブルシューティング情報を表示できます。The Kubernetes dashboard can provide basic monitoring metrics and troubleshooting information such as logs.

アプリケーション ポッドに関する詳細については、左側のメニューで [ポッド] を選択します。To see more information about your application pods, select Pods in the left-hand menu. 使用可能なポッドの一覧が表示されます。The list of available pods is shown. nginx ポッドを選択して、リソース使用量などの情報を表示します。Choose your nginx pod to view information, such as resource consumption:

ポッド情報の表示

アプリケーションを編集するEdit the application

アプリケーションの作成および表示に加えて、Kubernetes ダッシュボードはアプリケーションのデプロイの編集や更新にも使用できます。In addition to creating and viewing applications, the Kubernetes dashboard can be used to edit and update application deployments. アプリケーションに追加の冗長性を提供するため、NGINX レプリカの数を増やしてみましょう。To provide additional redundancy for the application, let's increase the number of NGINX replicas.

デプロイを編集するにはTo edit a deployment:

  1. 左側のメニューで [デプロイメント] を選択し、nginx デプロイメントを選択します。Select Deployments in the left-hand menu, and then choose your nginx deployment.
  2. 右上のナビゲーション バーにある [編集] を選択します。Select Edit in the upper right-hand navigation bar.
  3. 20 行あたりにある spec.replica 値を見つけます。Locate the spec.replica value, at around line 20. アプリケーションのレプリカの数を増やすには、この値を 1 から 3 に変更します。To increase the number of replicas for the application, change this value from 1 to 3.
  4. 準備ができたら、 [更新] を選択します。Select Update when ready.

デプロイメントを編集してレプリカの数を更新する

レプリカ セット内に新しいポッドが作成されるまで数分かかります。It takes a few moments for the new pods to be created inside a replica set. 左側のメニューで、 [レプリカ セット] を選択し、nginx レプリカ セットを選択します。On the left-hand menu, choose Replica Sets, and then choose your nginx replica set. ポッドの一覧には、次の出力例に示すように、更新されたレプリカ数が反映されます。The list of pods now reflects the updated replica count, as shown in the following example output:

レプリカ セットに関する情報の表示

次の手順Next steps

Kubernetes ダッシュボードの詳細については、Kubernetes Web UI ダッシュボードに関するページを参照してください。For more information about the Kubernetes dashboard, see the Kubernetes Web UI Dashboard.