|
この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。 |
大規模インストールのためのetcdの調整
Rancherを使用して大規模インフラストラクチャを管理する場合、etcdのキー空間は既定の2GBから増加させることを推奨します。最大設定は8GBで、ホストはデータセット全体をメモリに保持するのに十分なRAMを持っている必要があります。この値を増やす際には、ホストのサイズも増やすべきです。キー空間のサイズは、ガーベジコレクションの間にポッドの高い変更率が予想される場合、小規模なインストールでも調整できます。
etcdデータセットは、Kubernetesによって5分ごとに自動的にクリーンアップされます。デプロイメントのスラッシングなどの状況では、etcdに十分なイベントが書き込まれ、ガーベジコレクションが発生する前に削除される可能性があり、これによりキー空間が満杯になることがあります。etcdのログやKubernetes APIサーバーログに`mvcc: database space exceeded`エラーが表示された場合、キー空間のサイズを増やすことを検討すべきです。これは、etcdサーバーで quota-backend-bytes設定を行うことで実現できます。
例:このRKE2/K3sのconfig.yamlファイルのスニペットは、キー空間のサイズを5GBに増やします。
etcd-arg:
- "quota-backend-bytes=5368709120"
etcdディスクパフォーマンスのスケーリング
ホスト上のディスク優先度を調整する方法については、 etcdドキュメントの推奨事項に従うことができます。
さらに、etcdのディスクに対するIO競合を減らすために、データおよびwalディレクトリ用に専用のデバイスを使用できます。etcdのベストプラクティスに基づくと、ミラーリングRAID構成は不要です。なぜなら、etcdはクラスター内のノード間でデータを複製するからです。利用可能なIOPSを増やすために、ストライピングRAID構成を使用できます。
このソリューションをRKE2/K3sクラスターに実装するには、/var/lib/etcd/data`および/var/lib/etcd/wal`ディレクトリにディスクをマウントし、基盤となるホストでフォーマットする必要があります。`etcd`サービスの`extra_args`ディレクティブには、`wal_dir`ディレクトリを含める必要があります。`wal_dir`を指定しない場合、etcdプロセスは不十分な権限で基盤となる`wal`マウントを操作しようとします。
etcd-arg:
- "data-dir=/var/lib/etcd/data"
- "wal-dir=/var/lib/etcd/wal"