Kubernetes · 1 min read · Feb 03, 2026
KubernetesのWeb UIダッシュボード

Kubernetesダッシュボードは、クラスターのためのWebベースのUIを提供します。ダッシュボードを使用してクラスターにアプリケーションをデプロイしたり、クラスター内の既存のアプリケーションをトラブルシューティングしたりできます。また、ダッシュボードはクラスター内のリソースに関する洞察も提供します。このダッシュボードはKubernetesによって公式に提供されています。ダッシュボードを使用してKubernetesオブジェクトを作成、変更、更新、削除できます。
この記事では、Kubernetesが提供する公式ダッシュボードをインストールし、それにアクセスするためのサービスアカウントを設定します。この記事を進める前に、Kubernetesに精通しており、Kubernetesクラスターを持っていることを前提としています。
前提条件
- 少なくとも1つのワーカーノードを持つKubernetesクラスター。 Kubernetesクラスターの作成方法を学びたい場合は、こちらをクリックしてください。このガイドでは、AWS Ubuntu 18.04 EC2インスタンス上に1つのマスターと2つのワーカーノードを持つKubernetesクラスターを作成する手助けをします。
- Kubernetesの基本的な理解。
何をするか?
- Kubernetesダッシュボードをデプロイします。
- KubernetesダッシュボードにアクセスするためのServiceAccountを設定します。
- Kubernetesダッシュボードにアクセスします。
Kubernetesダッシュボードをデプロイする
Kubernetesダッシュボードをデプロイするには、Githubからそのオブジェクトファイルをダウンロードできます。以下のコマンドを使用してオブジェクトファイルをダウンロードします。このファイルには、Namespace、ServiceAccount、Service、Secret、ConfigMap、Role、ClusterRole、RoleBinding、ClusterRoleBinding、Deployment、およびServiceの定義が含まれています。
pwdwget https://raw.githubusercontent.com/kubernetes/dashboard/master/aio/deploy/recommended.yaml
ファイルの名前を変更し、サービスのタイプをNodePortに変更します。以下のスクリーンショットを参照してください。
mv recommended.yaml kubernetes-dashboard-deployment.ymlvim kubernetes-dashboard-deployment.yml
サービスのタイプをNodePortに変更したら、Kubernetesダッシュボードをデプロイするために必要なすべてのオブジェクトを作成する時が来ました。
kubectl apply -f kubernetes-dashboard-deployment.yml上記のコマンドによって作成されたデプロイメント、Pod、およびサービスを確認します。上記のコマンドは、Namespace、ServiceAccount、Service、Secret、ConfigMap、Role、ClusterRole、RoleBinding、ClusterRoleBinding、Deployment、およびServiceも作成します。
kubectl get deployments -n kubernetes-dashboardkubectl get svckubectl get podskubectl get pods -n kubernetes-dashboardkubectl get svc -n kubernetes-dashboard
上記のスクリーンショットでは、タイプ「NodePort」のKubernetesダッシュボードサービスが作成されたことがわかります。これは、ダッシュボードがNodePort「32304」のノードのいずれかのIPで利用可能であることを意味します。クラスター内のサービスに対して異なるポートが表示される場合があります。
以下のコマンドを使用して、後の手順で必要となるノードのIPを取得します。
kubectl get nodes -o wideKubernetesダッシュボードにアクセスするためのServiceAccountを設定する
Kubernetesダッシュボードにアクセスするには、トークンが必要です。トークンを作成するには、まずServiceAccountを作成する必要があります。
新しいファイルを作成し、以下の内容を追加してServiceAccountを作成します。私のGithubリポジトリからオブジェクトファイルをダウンロードすることもできます。
vim admin-sa.ymlcat admin-sa.ymlapiVersion: v1
kind: ServiceAccount
metadata:
name: rahul-admin
namespace: kube-systemオブジェクトファイルを取得したら、以下のコマンドを実行してServiceAccountを作成します。
kubectl apply -f admin-sa.yml
次に、ServiceAccount「rahul-admin」をクラスター役割「cluster-admin」に関連付ける必要があります。以下の内容で新しいファイルを作成してClusterRoleBindingを作成するか、私のGithubリポジトリからオブジェクトファイルをダウンロードするためにこちらをクリックしてください。
vim admin-rbac.ymlcat admin-rbac.ymlapiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: rahul-admin
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: rahul-admin
namespace: kube-system以下のコマンドを実行して「ClusterRoleBinding」を作成します。
kubectl apply -f admin-rbac.yml
これで、「ClusterRole」–>「cluster-admin」が「ServiceAccount」–>「rahul-admin」にバインドされました。
Kubernetesダッシュボードにログインするために使用するトークンを取得する準備が整いました。トークンを取得するには、以下のコマンドを実行します。
SA_NAME="rahul-admin"kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep ${SA_NAME} | awk '{print $1}')
上記のスクリーンショットでは、Kubernetesダッシュボードにログインするために使用するトークンが表示されます。このトークンをコピーし、「NodeIP:NodePort」のダッシュボードURLにアクセスします。
ここで、NodeIPはクラスター内のノードのいずれかのIPで、NodePortは作成したサービスのポート(この場合は32304、あなたの場合は異なるポートがあるかもしれません)です。
「NodeIP:NodePort」のURLにアクセスすると、以下のような画面が表示されます。ここで、「Token」オプションを選択し、上記の手順で取得したトークンを入力して「サインイン」ボタンをクリックします。
Kubernetesダッシュボードにアクセスする

サインインに成功すると、以下のようなKubernetesダッシュボードが表示されます。

画面の上部では、Namespaceを変更してその中のリソースを見ることもできます。これで、Kubernetesダッシュボードを探索する準備が整いました。

結論
この記事では、クラスターにダッシュボードを持つために必要なすべてのKubernetesオブジェクトをデプロイしました。Kubernetesダッシュボードにアクセスするためのトークンを持つためにServiceAccountとClusterRoleBindingを作成しました。ダッシュボードは、クラスターを理解し、その中にあるすべてのオブジェクトを見るのに役立ちます。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。