6. Grafanaの環境構築¶
Workload Managerは、Grafanaと連携して、クラスタを構成するノードやPodのメトリクスを表示する機能を提供します。
本章では、Grafanaをインストールし、Workload Manager専用のダッシュボードを利用する手順について説明します。
インストールは、Amazon EKS クラスターに接続できる操作用クライアント環境を用意して行います。
6.1. 前提条件¶
Workload Managerをインストールする際の前提条件を以下に記載します。
操作用クライアント環境でkubectlコマンドが使用できること
環境構築の手順のなかで、kubectlコマンドを実行します。したがって、操作用クライアント環境にkubectlがインストールされており、kubectlコマンドが実行できる必要があります。
操作用クライアント環境でhelmコマンドが使用できること
環境構築の手順のなかで、helmコマンドを実行します。したがって、操作用クライアント環境にhelmがインストールされており、helmコマンドが実行できる必要があります。
Amazon EKS クラスターにPrometheusがデプロイされていること
Grafanaは、クラスター内の監視情報をPrometheusから取得します。 このため、事前にPrometheusがインストールされている必要があります。
AWS Certificate Managerに登録するサーバ証明書が用意されていること
GrafanaはHTTPS通信のためにサーバ証明書が必要です。 このため、AWS Certificate Managerが利用でき、登録するサーバ証明書を用意しておく必要があります。
6.2. インストール前の作業¶
インストールを行う前に確認しておくべき事項、ならびに実施しなければならない作業について説明します。
6.2.1. AWS Certificate Managerへのサーバ証明書のインポート¶
Grafanaのサーバ証明書をAWS Certificate Managerにインポートします。
詳細は、AWS Certificate Managerのマニュアルを参照してください。
6.2.2. 操作用クライアント環境へのアーカイブファイルの配置¶
製品媒体から workload-manager-operator.tar.gz を、操作用クライアント環境 上の任意の場所 (${WORK_DIR}) にコピーします。
操作用クライアント環境 にログインします。
以下のコマンドでアーカイブファイルを展開します。
> cd ${WORK_DIR} > tar xvzf workload-manager-operator.tar.gz
注釈
アーカイブファイルに同梱されているGrafana環境構築用ファイルをインストール時に利用します。
6.3. インストール¶
例として、"grafana"という名前のネームスペースを作成し、helmコマンドでGrafanaをインストールする手順について説明します。
操作用クライアント環境 にログインします。
Grafana環境構築用ディレクトリに移動します。
> cd ${WORK_DIR}/workload-manager-operator/grafana_settings/EKS
grafana.ymlをエディタで開き、AWS Certificate ManagerにアップロードしたGrafana用サーバ証明書のARNを指定します。
> vi grafana.yml
注釈
エディタで開いたServiceの下記階層の定義を更新してください。
service->annotations: service.beta.kubernetes.io/aws-load-balancer-ssl-cert: <AWS ACMにアップロードした証明書のARN>
注釈
この設定ファイルで作成されるGrafanaの初期アカウントは「ユーザ:admin、パスワード:adminadmin」です。 変更する場合、下記の定義を更新して下さい。 なお、連携するWorkload Managerからダッシュボードを開く際には認証は必要ありません。
adminUser: admin adminPassword: adminadmin
namespaceを作成します。
> kubectl create ns grafana
helmチャート"grafana"をhelmに登録します。
> helm repo add grafana https://grafana.github.io/helm-charts
helmコマンドを実行して、Grafanaをインストールします。
> helm install grafana grafana/grafana --namespace grafana --values grafana.yml
Grafanaのサービス公開アドレスを確認します。
> kubectl get svc -n grafana
注釈
EXTERNAL-IPに表示されたものがサービス公開アドレスです。
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE grafana LoadBalancer 10.aa.bb.cc abcdefghijklmnopqrstuvwxyzabcdef-1234567890.ap-northeast-1.elb.amazonaws.com 443:30170/TCP 17s
ブラウザで下記URLを指定してGrafanaにアクセスし、Workload Managerのダッシュボード(wm-node-dashboard/wm-pod-dashboard)が登録されていることを確認します。
https://<Grafanaのサービス公開アドレス>/
6.4. インストール後の作業¶
6.4.1. Grafanaのサービス公開アドレスの設定¶
Grafanaのサービス公開アドレスは、Workload ManagerのConfigMap(metrics-config)で指定します。
詳細は、「リファレンス集」の 「メトリクス表示の設定」 を参照してください。
6.4.2. インストールで使用したデータの削除¶
作業用ディレクトリは削除可能です。
6.5. アンインストール¶
Grafanaをアンインストールする手順について説明します。
操作用クライアント環境 にログインします。
helmコマンドを実行して、Grafanaをアンインストールします。
> helm uninstall grafana -n grafana
namespaceを削除します。
> kubectl delete ns grafana