【3分でできる!】Docker Desktop for WindowsのKubernetesにダッシュボードをインストールする

この記事は公開されてから半年以上経過しています。情報が古い可能性がありますので、ご注意ください。

KubernetesダッシュボードはKubernetesの情報を取得できるWebユーザーインターフェースのダッシュボードです。Kubernetes上のアプリケーションやKubernetesクラスタの管理、トラブルシューティングなどに利用できます。

この記事では、Docker Desktop for WindowsにKubernetesダッシュボードを設定する方法を紹介します。なお、Kubectlの実行はWSL for Ubuntu18.04から行っています。WSL for Ubuntu18.04からkubectlの操作を行う方法は、こちらの記事を参照してください。また、本記事の実行例は、Docker Desktop for Windowsのバージョン2.0.0.3 (Kubernetes 1.10.11)を利用しています。

KuernetesダッシュボードをKubernetesにデプロイする

Kubernetesダッシュボードは、Kubernetesにデプロイを行うことで利用できるようになります。kubectl applyコマンドを利用して、Kubernetesダッシュボードをデプロイします。はじめに現在のコンテキストを確認しておきましょう。

デプロイ先が正しければ、Kunernetesダッシュボードのデプロイを実行します。以下のコマンドでは、2019年5月20日現在の最新版のダッシュボード(v1.10.1)がデプロイされます。最新のダッシュボードのリリース状況は、Kubernetesダッシュボードのリリースページ(https://github.com/kubernetes/dashboard/releases)を参照してください。

Kubernetesダッシュボードがデプロイされたか確認をしてみます。

正常にデプロイされたようです。

kubectl proxyを実行する

ローカルホストからKubernetesダッシュボードにアクセスするため、kubectl proxyコマンドを実行してプロキシを起動します。

コマンドは実行したままとなりプロンプトは帰ってきません。実行状態のままにしておいてください。

ブラウザでKubernetesダッシュボードにアクセスする

ブラウザでhttp://localhost:8001にアクセスしても、パスが記載されたJSONが表示されるだけです。Kubernetesダッシュボードにアクセスするには、以下のURLを利用します。

ブラウザでKubernetesダッシュボードにアクセスすると、Kubeconfigの設定画面が表示されます。

ここではKubeconfigを選択してアクセスします。はじめにアクセストークンの設定を行います。

トークンを設定したKubeconfigファイルはWLSのファイルシステム上にあります。Windowsからアクセスできるように、Kubeconfigファイルをコピーします。コピー先のパスは、利用する環境にあわせて任意の場所に修正してください。

"kubeconfigファイルを選択"をクリックして、kubeconfigファイルを指定します。kubeconfigファイルは、上記コマンドでコピーしたものになります。正常に設定できていれば、以下のようなダッシュボード画面が表示されます。

ダッシュボードのデプロイを削除する

ダッシュボードのデプロイを削除するには、kubectl deleteコマンドを利用します。

ダッシュボードのデプロイが削除されたかの確認をしてみましょう。

正常に削除され、デプロイのリソースが見えなくなりました。

さいごに

本記事では、Docker Desktop for WindowsにWSL for Ubuntu18.04からKubernetesダッシュボードをインストールする方法を紹介しました。WSLから設定する場合、Kubectlファイルのコピーが手間になります。PowerShellから実行する場合は、Kubectlファイルのコピーは不要になります。

GUIでの管理は一覧性やアイコンによる状態識別など、Kubernetesの情報を手早く把握するのに便利です。Kubernetesダッシュボードを上手に利用して、Kubernetes管理やトラブルシューティングで楽をしていきましょう。

スカイアーチ ファンタジー研究室

スカイアーチ ファンタジー研究室

投稿者プロフィール

スカイブロガー

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


Time limit is exhausted. Please reload CAPTCHA.