本文へスキップ

etcd ダッシュボード

ホーム画面> クラスタープロジェクト選択(CP) > クラスター > etcd ダッシュボード

ノート

要求事項

  • WhaTap Kubernetesエージェント1.7.16バージョン以降が必要です。

  • Kubernetesクラスタープロジェクト(CP)の場合、該当メニューを照会できます。

etcdは、Kubernetes環境でクラスター状態に関連するデータを保存する重要なコンポーネントです。 WhaTapはetcdの性能と状態をモニタリングできるetcd ダッシュボードを提供します。 これにより、クラスターの安定性を高め、問題が発生した場合の迅速な対応が可能になります。

基本画面ガイド

etcd ダッシュボード

etcd ダッシュボードは、1時間の間に収集された主要なetcdメトリクスを1分周期で提供します。 ダッシュボードで確認できる主メトリクスは次の通りです。 メトリクス詳細は、下段のメトリクス案内を参照してください。

  • etcdが使用するリソース、Podの再起動数、詳細ログを提供します。

  • etcd内部のcommit及びapply回数を提供します。

  • etcdリーダーの存在有無及びリーダーの変更履歴を提供します。

etcdモニタリング有効化

WhaTap Kubernetesエージェントインストール時にダウンロードしたYAMLファイルの修正とmTLS認証書を登録してエージェントを有効にします。

認証書の確認とSecretを作成する

etcd認証書の確認

etcdのmTLS認証書が必要です。 etcd認証書は一般的にControl Planeノードの*/etc/kubernetes/pki/etcd*経路に保存されます。 ファイル所有者はrootアカウントであり、必要な証明書は以下の通りです。

  • ca.crt

  • server.crt

  • server.key

kubectlコマンドを実行するマシンで、次のコマンドを使用して証明書が存在することを確認します。

sudo ls /etc/kubernetes/pki/etcd

Secret生成

証明書が存在する場合、次のコマンドを使用してSecretを生成します。

sudo kubectl create secret generic whatap-etcd-cert -n whatap-monitoring --from-file=ca.crt=/etc/kubernetes/pki/etcd/ca.crt --from-file=server.crt=/etc/kubernetes/pki/etcd/server.crt --from-file=server.key=/etc/kubernetes/pki/etcd/server.key

正常にSecret生成時、次のようなメッセージが出力されます。

secret/whatap-etcd-cert created
rootアカウントが使用できない場合

rootアカウントでkubectlコマンドが使用できない場合は、次のガイドを参照してください。

  1. 証明書の複製後、アクセス可能なパスに移動します。

  2. 複製された証明書ファイルの所有者を、現在の所有者に変更します。

ネームスペースがない場合

KubernetesエージェントYAMLの適用前にSecretを作る場合、whatap-monitoringネームスペースが存在しないため、Secret作成に失敗する可能性があります。 次のコマンドを使用してネームスペースを作成し、再度Secretを生成します。

kubectl create namespace whatap-monitoring

WhaTapのKubernetesエージェントYAMLを修正

WhaTapのKubernetesエージェントYAMLファイルを修正してコンテナ設定を追加し、Secretを接続します。

コンテナ設定

  1. Deploymentのwhatap-control-plane-helperコンテナ内のargsセクションにetcd関連設定を追加します。

    -collect_etcd_monitoring_enabled=true
    -etcd_hosts=ユーザーの_etcd_ip、ユーザーの_etcd_ip

    次の例を参照にしてください。

    Example
    -etcd_hosts=192.168.1.45,192.168.1.46,192.168.1.47
  2. Deploymentのwhatap-master-agentコンテナの環境変数(env)に次の内容を追加します。

    - name: "collect_etcd_monitoring_enabled"
    value: "true"

Secret接続

  1. Deploymentのwhatap-master-agent内のvolumesセクションにSecretを追加します。

    - name: "whatap-etcd-cert"
    secret:
    secretName: "whatap-etcd-cert"
  2. whatap-control-plane-helperコンテナに当該Secretをマウントします。

    volumeMounts:
    - name: "whatap-etcd-cert"
    readOnly: true
    mountPath: "/etc/kubernetes/pki/etcd"

全体YAMLの例

以下は、すべての設定が適用されたYAMLファイルの例です。 ハイライトされた部分を参照してください。

apiVersion: "apps/v1"
kind: "Deployment"
metadata:
name: "whatap-master-agent"
namespace: "whatap-monitoring"
spec:
replicas: 1
selector:
matchLabels:
name: "whatap-master-agent"
template:
metadata:
labels:
name: "whatap-master-agent"
spec:
containers:
- command:
- "/bin/entrypoint.sh"
env:
- name: "WHATAP_LICENSE"
value: "x208gnc8i1kko-z2p19shk7npc4t-z788sgbj3n123a"
- name: "WHATAP_HOST"
value: "59.13.101.109"
- name: "WHATAP_PORT"
value: "61574"
- name: "WHATP_MEM_LIMIT"
valueFrom:
resourceFieldRef:
containerName: "whatap-master-agent"
resource: "limits.memory"
- name: "collect_control_plane_monitoring_enabled"
value: "true"
- name: "collect_etcd_monitoring_enabled"
value: "true"
image: "whatap/kube_mon"
name: "whatap-master-agent"
ports:
- containerPort: 6600
resources:
limits:
cpu: "200m"
memory: "350Mi"
requests:
cpu: "100m"
memory: "300Mi"
volumeMounts:
- mountPath: "/bin/entrypoint.sh"
name: "start-script-volume"
readOnly: true
subPath: "entrypoint.sh"
- mountPath: "/whatap_conf"
name: "whatap-config-volume"
- args:
- "-collect_control_plane_monitoring_enabled=true"
- "-collect_etcd_monitoring_enabled=true"
- "-etcd_hosts=192.168.1.45,192.168.1.46,192.168.1.47"
command:
- "/data/agent/master/whatap_control_plane_helper"
image: "whatap/kube_mon"
imagePullPolicy: "Always"
name: "whatap-control-plane-helper"
ports:
- containerPort: 9496
volumeMounts:
- name: "whatap-etcd-cert"
readOnly: true
mountPath: "/etc/kubernetes/pki/etcd"
serviceAccount: "whatap"
volumes:
- configMap:
defaultMode: 448
name: "master-start-script"
name: "start-script-volume"
- emptyDir: {}
name: "whatap-config-volume"
- name: "whatap-etcd-cert"
secret:
secretName: "whatap-etcd-cert"

etcdメトリクス

区分説明
Pod数現在存在するetcd Podの数
etcd再起動数の推移etcd Podの再起動回数の合計推移
リーダー変更の推移etcd Podリーダーの変更回数推移
リーダーの存在有無リーダーの役割をするetcd Podの存在有無
CPUの合計使用量etcd Podの合計CPU使用量
CPU使用量etcd PodのCPU使用量の推移
Memoryの合計使用量etcd Podの合計メモリ使用量
Memory使用量etcd Podのメモリ使用量の推移
Commit推移etcd変更事項commit回数
Apply推移commit以後applyされた回数
etcdログetcd Podで発生したログ