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へのサーバ証明書のインポート

  1. Grafanaのサーバ証明書をAWS Certificate Managerにインポートします。

詳細は、AWS Certificate Managerのマニュアルを参照してください。

6.2.2. 操作用クライアント環境へのアーカイブファイルの配置

  1. 製品媒体から workload-manager-operator.tar.gz を、操作用クライアント環境 上の任意の場所 (${WORK_DIR}) にコピーします。

  2. 操作用クライアント環境 にログインします。

  3. 以下のコマンドでアーカイブファイルを展開します。

    > cd ${WORK_DIR}
    > tar xvzf workload-manager-operator.tar.gz
    

注釈

アーカイブファイルに同梱されているGrafana環境構築用ファイルをインストール時に利用します。

6.3. インストール

例として、"grafana"という名前のネームスペースを作成し、helmコマンドでGrafanaをインストールする手順について説明します。

  1. 操作用クライアント環境 にログインします。

  2. Grafana環境構築用ディレクトリに移動します。

    > cd ${WORK_DIR}/workload-manager-operator/grafana_settings/EKS
    
  3. 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
    
  4. namespaceを作成します。

    > kubectl create ns grafana
    
  5. helmチャート"grafana"をhelmに登録します。

    > helm repo add grafana https://grafana.github.io/helm-charts
    
  6. helmコマンドを実行して、Grafanaをインストールします。

    > helm install grafana grafana/grafana --namespace grafana --values grafana.yml
    
  7. 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
    
  8. ブラウザで下記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をアンインストールする手順について説明します。

  1. 操作用クライアント環境 にログインします。

  2. helmコマンドを実行して、Grafanaをアンインストールします。

    > helm uninstall grafana -n grafana
    
  3. namespaceを削除します。

    > kubectl delete ns grafana