はじめに
Amazon EKSで Kubernetes ダッシュボード を利用する方法をまとめます。
Mac環境を想定しています。
今回のバージョンは v2.7.0
を想定しています。
最新のバージョンに関しては、release を確認してください。
実行環境の準備
-
AWS CLIの設定
AWS CloudFormationを動かすためのAWS CLIの設定を参考にしてください。 -
EKSクラスタの構築
Macでeksctlを利用してAmazon EKSのクラスターを構築するを参考にしてください。 -
EKSのコンテキストの設定
MacにてAmazon EKSの設定をするを参考にしてください。
環境設定
-
Kubernetesダッシュボードをクラスターに適用する
※事前にKubernetesクラスターのコンテキストの設定をします。kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml
-
eks-admin-service-account.yaml
を作成する
※サービスアカウント(eks-admin
)とクラスターロールバインディング(RBAC:Role Based Access Control)を作成するapiVersion: v1 kind: ServiceAccount metadata: name: eks-admin namespace: kube-system --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: eks-admin roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - kind: ServiceAccount name: eks-admin namespace: kube-system
-
クラスターに適用する
kubectl apply -f eks-admin-service-account.yaml
-
サービスアカウント(
eks-admin
)の認証トークンを取得するkubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep eks-admin | awk '{print $1}')
-
Kubernetesダッシュボードを起動する
kubectl proxy
-
Kubernetesダッシュボードにアクセスする
open "http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/"
クリーンアップ
-
クラスターからで削除する
kubectl delete -f eks-admin-service-account.yaml
-
Kubernetesダッシュボードをクラスターから削除する
kubectl delete -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml