ホーム テクノロジー DEVOPS 非公開: Kubernetes ダッシュボード

Kubernetes ダッシュボード

Kubernetes リソースを管理するためのより良い方法。

Kubernetes ダッシュボード
Kubernetes ダッシュボード

Kubernetes ダッシュボードとは何ですか?

Kubernetes ダッシュボードは 、Kubernetes クラスターを視覚化するための Web ベースのユーザー インターフェイスです。ここには、クラスター内のノード、名前空間、ボリューム、クラスターの役割、ジョブの詳細など、Kubernetes クラスターの詳細が表示されます。数回クリックするだけで、Kubernetes ダッシュボードからコンテナ化されたアプリケーションをデプロイし、すべてのクラスター リソースを簡単に管理できます。

前提条件

Kubernetes ダッシュボードを設定する前に、Kubernetes クラスターを実行しておく必要があります。 Kubernetes のセットアップ方法については、この記事をお読みください。

Kubernetes ダッシュボードのデプロイ

マスター ノードで以下の kubectl コマンドを実行して、Kubernetes ダッシュボードをデプロイします。

 @kubernetes-master:~$ sudo kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta8/aio/deploy/recommended.yaml
namespace/kubernetes-dashboard created
serviceaccount/kubernetes-dashboard created
service/kubernetes-dashboard created
secret/kubernetes-dashboard-certs created
secret/kubernetes-dashboard-csrf created
secret/kubernetes-dashboard-key-holder created
configmap/kubernetes-dashboard-settings created
role.rbac.authorization.k8s.io/kubernetes-dashboard created
clusterrole.rbac.authorization.k8s.io/kubernetes-dashboard created
rolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created
clusterrolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created
deployment.apps/kubernetes-dashboard created
service/dashboard-metrics-scraper created
deployment.apps/dashboard-metrics-scraper created

ダッシュボード ポッドが実行状態になっていることがわかります。

 @kubernetes-master:~$ kubectl get pods --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system coredns-6955765f44-hwxdq 1/1 Running 0 6m35s
kube-system coredns-6955765f44-z2tdg 1/1 Running 0 6m35s
kube-system etcd-kubernetes-master 1/1 Running 0 6m45s
kube-system kube-apiserver-kubernetes-master 1/1 Running 0 6m45s
kube-system kube-controller-manager-kubernetes-master 1/1 Running 0 6m45s
kube-system kube-proxy-4b5jz 1/1 Running 0 6m35s
kube-system kube-proxy-v26wn 1/1 Running 0 26s
kube-system kube-scheduler-kubernetes-master 1/1 Running 0 6m45s
kubernetes-dashboard dashboard-metrics-scraper-76585494d8-czrtf 1/1 Running 0 2m37s
kubernetes-dashboard kubernetes-dashboard-5996555fd8-5mhxm 1/1 Running 0 2m37s

Kubernetes ダッシュボードにアクセスする

以下のコマンドを実行して、 192.168.0.107:8001 の Kubernetes ダッシュボードにアクセスします (これを自分の IP に変更します)。

 @kubernetes-master:~$ kubectl proxy --port=8001 --address='192.168.0.107' --accept-hosts="^*$"
Starting to serve on 192.168.0.107:8001

ブラウザを開いて以下のリンクに移動し、Kubernetes ダッシュボードにログインします。

http://192.168.0.107:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#/login

Kubernetes ダッシュボードにログインするには、次の 2 つの方法があります。

  • トークン
  • kubeconfig

ログインするためのトークンを生成する

  • デフォルトの名前空間で、サービス アカウントを作成します。
 @kubernetes-master:~$ kubectl create serviceaccount  -n default
serviceaccount/ created
  • 新しく作成したサービス アカウントのクラスター バインディング ルールを作成します。
 @kubernetes-master:~$ kubectl create clusterrolebinding -admin -n default --clusterrole=cluster-admin --serviceaccount=default:
clusterrolebinding.rbac.authorization.k8s.io/-admin created
  • 以下の kubectl コマンドを実行してトークンを生成します
@kubernetes-master:~$ kubectl get secret $(kubectl get serviceaccount  -o jsonpath="{.secrets[0].name}") -o jsonpath="{.data.token}" | base64 --decode
eyJhbGciOiJSUzI1NiIsImtpZCI6ImZxeUhfd0ROdE1qOWxqcFhQODR2NDVFaTJSQU85VHhyUnRneVRCZzBJVUkifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJkZWZhdWx0Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZWNyZXQubmFtZSI6ImRhc2hib2FyZC10b2tlbi02ajhyNSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJkYXNoYm9hcmQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiJhNzBiNzZmZC1iMzI1LTRiNTUtYTc5YS0wZDRmNjAwNTI4MTAiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6ZGVmYXVsdDpkYXNoYm9hcmQifQ.KtOGDMp_llQ1_V5OpJGsXzPlDkKw2y4y9TowlTH7WnU84LZHZLPar65cVOh20kPkRGJZmKkmkjuXKc1VcmBJQQCLSJgXb3G-7-OSC8LvC-3ROA0cjsGqDuFtXvA4bjlRJ1wGmAmaCgO8oeXVHqciEjw9wcH5tPRKGlvXAESmDlxH_rVu_TJpqSAb2pp3V0_fpD7VxU34mSfLEoMImixHbCILt0YGS9VyEJUgzcOdfj2ZvECOEbD_Y5LPLcTe0fkBJvwIiIgwxCttFRXktdExo7Z17WlekZJLcCBzRWTfrWte8Ugf6vfpN7IfJVWqQLpDZ9XtgHavpXXeJbp2FljIFw

生成されたトークン (上記参照) を使用して、ダッシュボードにログインできます。

kubeconfig

もう 1 つのログイン方法は、Kubernetes 構成ファイルを使用することです。

  • Kubeconfig オプションを選択し、「Kubeconfig ファイルを選択」をクリックします。
  • $HOME/.kube/config/ パスにある admin.conf ファイルを使用し、ダッシュボードに正常にログインします。
Kubernetes ダッシュボード kubeconfig
Kubernetes ダッシュボード kubeconfig

ダッシュボードインターフェース

ダッシュボードのインターフェイスは次のようになります。

Kubernetes ダッシュボード
Kubernetes ダッシュボード

Kubernetes クラスターで実行されているノード、永続ボリューム、ネームスペース、クラスター ロールの詳細が表示されます。

Kubernetes ダッシュボード ノード
Kubernetes ダッシュボード ノード

ダッシュボードを使用すると、エディターで YAML コードを作成し、新しいリソースをクラスターに追加できます。

Kubernetes ダッシュボード - 新しいリソースの作成
Kubernetes ダッシュボード – 新しいリソースの作成

クラスターで複数のジョブが実行されると、より多くの視覚化オプションが利用できるようになります。どのジョブが失敗したか、または成功したかがわかります。クラスターに問題がある場合は、ダッシュボードで簡単に確認できます。

「 Kubernetes ダッシュボード」についてわかりやすく解説!絶対に観るべきベスト2動画

KUBERNETES DASHBOARD APP: Installing and accessing
K02 – Cài đặt và sử dụng Kubernetes Dashboard