3.4. etcd のコンセンサスレイテンシーの監視
etcdctl CLI を使用すると、etcd で発生するコンセンサスに達するまでのレイテンシーを監視できます。etcd Pod の 1 つを識別し、エンドポイントのヘルス情報を取得する必要があります。
クラスターの健全性を検証および監視するこの手順は、アクティブなクラスターに対してのみ実行できます。
前提条件
- クラスターのデプロイメントの計画中に、ディスクとネットワークのテストを完了した。
手順
以下のコマンドを入力します。
# oc get pods -n openshift-etcd -l app=etcd出力例
NAME READY STATUS RESTARTS AGE etcd-m0 4/4 Running 4 8h etcd-m1 4/4 Running 4 8h etcd-m2 4/4 Running 4 8h以下のコマンドを入力します。コンセンサスの etcd レイテンシーをより正確に把握するために、このコマンドを正確な監視サイクルで数分間実行し、数値が ~66 ミリ秒のしきい値を下回っていることを確認します。コンセンサス時間が 100 ミリ秒に近いほど、クラスターにおけるサービスに影響を与えるイベントが発生して不安定になる可能性が高くなります。
# oc exec -ti etcd-m0 -- etcdctl endpoint health -w table出力例
+----------------------------+--------+-------------+-------+ | ENDPOINT | HEALTH | TOOK | ERROR | +----------------------------+--------+-------------+-------+ | https://198.18.111.12:2379 | true | 3.798349ms | | | https://198.18.111.14:2379 | true | 7.389608ms | | | https://198.18.111.13:2379 | true | 6.263117ms | | +----------------------------+--------+-------------+-------+以下のコマンドを入力します。
# oc exec -ti etcd-m0 -- watch -dp -c etcdctl endpoint health -w table出力例
+----------------------------+--------+-------------+-------+ | ENDPOINT | HEALTH | TOOK | ERROR | +----------------------------+--------+-------------+-------+ | https://198.18.111.12:2379 | true | 9.533405ms | | | https://198.18.111.13:2379 | true | 4.628054ms | | | https://198.18.111.14:2379 | true | 5.803378ms | | +----------------------------+--------+-------------+-------+