##はじめに
本記事では、Udemy にて Stephane Maarek 氏 が提供している「Amazon EKS Starter: Docker on AWS EKS with Kubernetes」 について紹介していきます。
前回は、EKS で使われる主なサービスについて学んでいきました。今回は、 kubernetes Dashboard について紹介していきます。前回の記事のリンクは下記です。
Amazon EKS Starter: Docker on AWS EKS with Kubernetes 受けてみた①
Amazon EKS Starter: Docker on AWS EKS with Kubernetes 受けてみた②
##Kubernetes Dashboard
本コースで利用する Kubernetes Dashboard については、下記のリンクを参照ください。本コースで利用する情報については、ここに全て用意されております。
Kubernetes Dashboard は以下の特徴があります。
-
以下の情報について閲覧が可能
-
ワークロード
-
ネームスペース
-
サービス
-
ノード・ストレージ
-
メトリクスの利用
-
RBAC の許可に基づくコマンドの実行などが可能
-
以下の環境を利用したセキュリティ
-
HTTPS
-
Bearer トークンを使用したログイン
-
RBAC を使用した UI コンポーネントへのアクセス確認
###Create service account and RBAC rule
今回は、YAML ファイルを使用して以下を作成してまいります。使用する YAML ファイル名は、「dashboard-account-rbac.yaml」です。
- Dashboard のためのサービスアカウント
- Dashboard に特権を与えるための複数のロール
- RBAC ロールにサービスアカウントをリンクさせるためのロール
ターミナルから、上記の YAML ファイルをアタッチします。
「 kubectl.exe apply -f dashboard-account-rbac.yaml 」と入力して、 YAML ファイルのアタッチは完了です。
###Deploy Dashboard
次は、Dashboard をデプロイします。作成するリソースは全部で3となり、図で表すと以下となります。
作成するリソースとその内容
- サービス
- ポート、URL、ユーザフェイス
- デプロイ
- ダッシュボードポート
- ボリューム
- 秘密証明書
YAML ファイルは、「deploy-dashboard.yaml」を参照ください。
ターミナルから、上記の YAML ファイルをアタッチします。
「 kubectl.exe apply -f deploy-dashboard.yaml 」と入力して、 YAML ファイルのアタッチは完了です。
次に、「kubectl.exe get all --namespace kube-system --selector=k8s-app=kubernetes-dashboard」と入力します。
これで、サービス・デプロイ・ボリュームのリソースは作成完了しました。
###Deploy metrics Add-Ons
それでは、アドオンを作成してまいります。
構成は図の様になります。そして、作成するのは以下の2つです
- InfluxDB:Heapster のデータを置くストレージ
- Heapster:Kuernetesのパフォーマンス情報を集約するコンポーネント
アドオン環境を作成するにあたり、以下の YAML ファイルを使います。
- 「deploy-influxdb.yaml」
- 「deploy-heapster.yaml」
- 「deploy-heapster-rbac.yaml」
それでは、ターミナルに移り、アドオン環境を作成していきます。
上記の3つの YAML ファイルをデプロイしましょう。
「kubectl.exe apply -f deploy-[YAML ファイル名]」と入力することで、デプロイが完了します。
図の様に「created」がそれぞれ表示されれば、デプロイは無事完了です。
###Create admin account and explore dashboard
「admin-service-account.yaml」ファイルを使って、admin サービスアカウントを作成していきます。
「kubectl.exe apply -f admin-service-account.yaml」と入力しましょう。
これでファイルのデプロイは完了です。
デプロイが完了したら、ターミナルの別ウィンドウを開いて「kubectl proxy」と入力します。
Kubernetes にアクセスする IP アドレスを指定します(今回は「127.0.0.1」を指定)。
ブラウザウィンドウから Kubernetes Dashboard へのサインイン画面を開きます。
サインイン画面を開くと、Kubeconfig か、Token のどちらかを選択する必要が出てきます。Token を選択しますが、まだ Token が用意できていないので、再びターミナルに戻って作成します。
実行すると、 Token の key が作成されるので、そちらをコピーします。
コピーした key を「 Enter token 」に貼りつけて、サインインを実行します。
サインインが無事に完了すると、図の様に Kubernetes のページに入れます。
##おわりに
Kubernetes Dashboard のデプロイ方法についての紹介は以上です。
次回は、リソースのデプロイについて紹介していきます。