2.4. etcd についての推奨されるプラクティス
大規模で高密度のクラスターの場合、キースペースが過剰に拡大し、領域のクォータを超えるために、etcd はパフォーマンスの低下による影響を受ける可能性があります。デフラグを含む etcd の定期的なメンテナーンスを行い、データストアの領域を解放する必要があります。Prometheus で etcd メトリクスを監視し、etcd がクラスター全体でのアラームを出す前にこのデフラグを実行することを強くお勧めします。監視する主要なメトリクスには、現在のクォータ制限である etcd_server_quota_backend_bytes
、 履歴のコンパクト化後の実際のデータベース使用状況を示す etcd_mvcc_db_total_size_in_use_in_bytes
、およびデフラグを待機する空き領域を含むデータベースのサイズを示す etcd_debugging_mvcc_db_total_size_in_bytes
が含まれます。
etcd はすべてのメンバー間で要求を複製します。そのため、そのパフォーマンスはネットワーク入出力 (IO) のレイテンシーによって大きく変わります。ネットワークのレイテンシーが高くなると、etcd のハートビートの時間は選択のタイムアウトよりも長くなり、クラスターに中断をもたらすリーダーの選択が発生します。デプロイされた OpenShift Container Platform クラスターでのモニターの主要なメトリクスは、各 etcd クラスターメンバーの etcd ネットワークピアレイテンシーの 99 番目のパーセンタイルになります。Prometheus を使用してメトリクスを追跡します。histogram_quantile(0.99, rate(etcd_network_peer_round_trip_time_seconds_bucket[2m]))
は、メンバー間のクライアント要求の複製を終了するまでの etcd のラウンドトリップタイムを報告します。これは 50 ミリ秒未満である必要があります。