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 ダッシュボードにログインします。
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 クラスターで実行されているノード、永続ボリューム、ネームスペース、クラスター ロールの詳細が表示されます。
ダッシュボードを使用すると、エディターで YAML コードを作成し、新しいリソースをクラスターに追加できます。
クラスターで複数のジョブが実行されると、より多くの視覚化オプションが利用できるようになります。どのジョブが失敗したか、または成功したかがわかります。クラスターに問題がある場合は、ダッシュボードで簡単に確認できます。