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ダッシュボードをデプロイします。はじめに現在のコンテキストを確認しておきましょう。
1 2 3 |
$ kubectl config get-contexts CURRENT NAME CLUSTER AUTHINFO NAMESPACE * docker-for-desktop docker-for-desktop-cluster docker-for-desktop |
デプロイ先が正しければ、Kunernetesダッシュボードのデプロイを実行します。以下のコマンドでは、2019年5月20日現在の最新版のダッシュボード(v1.10.1)がデプロイされます。最新のダッシュボードのリリース状況は、Kubernetesダッシュボードのリリースページ(https://github.com/kubernetes/dashboard/releases)を参照してください。
1 2 3 4 5 6 7 |
$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml secret/kubernetes-dashboard-certs created serviceaccount/kubernetes-dashboard created role.rbac.authorization.k8s.io/kubernetes-dashboard-minimal created rolebinding.rbac.authorization.k8s.io/kubernetes-dashboard-minimal created deployment.apps/kubernetes-dashboard created service/kubernetes-dashboard created |
Kubernetesダッシュボードがデプロイされたか確認をしてみます。
1 2 3 |
$ kubectl get deployment --namespace=kube-system -l k8s-app=kubernetes-dashboard NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE kubernetes-dashboard 1 1 1 1 8s |
正常にデプロイされたようです。
kubectl proxyを実行する
ローカルホストからKubernetesダッシュボードにアクセスするため、kubectl proxy
コマンドを実行してプロキシを起動します。
1 2 |
$ kubectl proxy Starting to serve on 127.0.0.1:8001 |
コマンドは実行したままとなりプロンプトは帰ってきません。実行状態のままにしておいてください。
ブラウザでKubernetesダッシュボードにアクセスする
ブラウザでhttp://localhost:8001
にアクセスしても、パスが記載されたJSONが表示されるだけです。Kubernetesダッシュボードにアクセスするには、以下のURLを利用します。
1 |
http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/ |
ブラウザでKubernetesダッシュボードにアクセスすると、Kubeconfigの設定画面が表示されます。
ここではKubeconfigを選択してアクセスします。はじめにアクセストークンの設定を行います。
1 2 3 |
$ TOKEN=$(kubectl -n kube-system describe secret default| awk '$1=="token:"{print $2}') $ kubectl config set-credentials docker-for-desktop --token="${TOKEN}" User "docker-for-desktop" set. |
トークンを設定したKubeconfigファイルはWLSのファイルシステム上にあります。Windowsからアクセスできるように、Kubeconfigファイルをコピーします。コピー先のパスは、利用する環境にあわせて任意の場所に修正してください。
1 |
$ cp ~/.kube/config /mnt/c/Users/<user>/.kube/config |
"kubeconfigファイルを選択"をクリックして、kubeconfigファイルを指定します。kubeconfigファイルは、上記コマンドでコピーしたものになります。正常に設定できていれば、以下のようなダッシュボード画面が表示されます。
ダッシュボードのデプロイを削除する
ダッシュボードのデプロイを削除するには、kubectl delete
コマンドを利用します。
1 2 |
$ kubectl delete deployment --namespace=kube-system kubernetes-dashboard deployment.extensions "kubernetes-dashboard" deleted |
ダッシュボードのデプロイが削除されたかの確認をしてみましょう。
1 2 |
$ kubectl get deployment --namespace=kube-system -l k8s-app=kubernetes-dashboard No resources found. |
正常に削除され、デプロイのリソースが見えなくなりました。
さいごに
本記事では、Docker Desktop for WindowsにWSL for Ubuntu18.04からKubernetesダッシュボードをインストールする方法を紹介しました。WSLから設定する場合、Kubectlファイルのコピーが手間になります。PowerShellから実行する場合は、Kubectlファイルのコピーは不要になります。
GUIでの管理は一覧性やアイコンによる状態識別など、Kubernetesの情報を手早く把握するのに便利です。Kubernetesダッシュボードを上手に利用して、Kubernetes管理やトラブルシューティングで楽をしていきましょう。
投稿者プロフィール
最新の投稿
- AWS2021年12月2日AWS Graviton3 プロセッサを搭載した EC2 C7g インスタンスが発表されました。
- セキュリティ2021年7月14日ゼロデイ攻撃とは
- セキュリティ2021年7月14日マルウェアとは
- WAF2021年7月13日クロスサイトスクリプティングとは?