3.9. etcd データベースのサイズを決定して影響を把握する
etcd データベースのサイズは、etcd デフラグプロセスの完了時間に直接影響します。OpenShift Container Platform は、少なくとも 45% の断片化を検出すると、一度に 1 つの etcd メンバーで etcd デフラグを自動的に実行します。デフラグ処理中は、etcd メンバーは要求を処理できません。小さな etcd データベースでは、デフラグ処理は 1 秒未満で実行されます。etcd データベースが大きい場合、ディスクレイテンシーが断片化時間に直接影響し、デフラグの実行中に操作がブロックされるため、追加のレイテンシーが発生します。
etcd データベースのサイズは、ネットワークパーティションによってコントロールプレーンノードが一定期間分離され、通信が再確立された後にコントロールプレーンを再同期する必要がある場合に考慮すべき要素です。
etcd データベースのサイズはシステム内の Operator とアプリケーションに依存するため、そのサイズを制御するためのオプションは最小限しかありません。システムが動作するレイテンシー範囲を検討する場合は、etcd データベースのサイズごとに、同期またはデフラグの影響を考慮してください。
その影響の大きさは、デプロイメントごとに異なります。デフラグが完了するまでの時間は、etcd メンバーがデフラグ処理中に更新を受け入れることができないため、トランザクションレートの低下を引き起こします。同様に、変更率の高い大規模データベースの etcd 再同期にかかる時間は、システム上のトランザクションレートとトランザクションレイテンシーに影響します。
計画が必要な影響の種類は、次の 2 つの例を検討してください。
- データベースサイズに基づく etcd デフラグ処理の効果の例
- 1 GB の etcd データベースを 80 Mbit/s の低速 7200 RPM ディスクに書き込むには、約 1 分 40 秒かかります。このようなシナリオでは、デフラグ処理が完了するまでに、同じ時間 (またはそれ以上) かかります。
- etcd 同期におけるデータベースサイズの影響の例
- コントロールプレーンノードの 1 つが切断されている間に etcd データベースの 10% が変更された場合、再同期では少なくとも 100 MB を転送する必要があります。1 Gbps リンクで 100 MB を転送するには 800 ミリ秒かかります。Kubernetes API を使用した定期的なトランザクションを実行するクラスターでは、etcd データベースのサイズが大きくなるほど、ネットワークの不安定性が増し、コントロールプレーンの不安定性も生じます。
OpenShift Container Platform コンソールを使用するか、etcdctl ツールでコマンドを実行することで、etcd データベースのサイズを判断できます。
手順
- OpenShift Container Platform コンソールでデータベースのサイズを確認するには、etcd ダッシュボードに移動して、etcd データベースのサイズを報告するプロットを表示します。
etcdctl ツールを使用してデータベースサイズを確認するには、次の 2 つのコマンドを入力します。
以下のコマンドを入力して Pod をリスト表示します。
oc get pods -n openshift-etcd -l app=etcd
# oc get pods -n openshift-etcd -l app=etcdCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME READY STATUS RESTARTS AGE etcd-m0 4/4 Running 4 22h etcd-m1 4/4 Running 4 22h etcd-m2 4/4 Running 4 22h
NAME READY STATUS RESTARTS AGE etcd-m0 4/4 Running 4 22h etcd-m1 4/4 Running 4 22h etcd-m2 4/4 Running 4 22hCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力し、出力でデータベースのサイズを確認します。
oc exec -t etcd-m0 -- etcdctl endpoint status -w simple | cut -d, -f 1,3,4
# oc exec -t etcd-m0 -- etcdctl endpoint status -w simple | cut -d, -f 1,3,4Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
https://198.18.111.12:2379, 3.5.6, 1.1 GB https://198.18.111.13:2379, 3.5.6, 1.1 GB https://198.18.111.14:2379, 3.5.6, 1.1 GB
https://198.18.111.12:2379, 3.5.6, 1.1 GB https://198.18.111.13:2379, 3.5.6, 1.1 GB https://198.18.111.14:2379, 3.5.6, 1.1 GBCopy to Clipboard Copied! Toggle word wrap Toggle overflow