3.5. etcd のデータベースサイズを増やす
各 etcd インスタンスのディスククォータをギビバイト (GiB) 単位で設定できます。etcd インスタンスにディスククォータを設定する場合は、8 から 32 までの整数値を指定できます。デフォルト値は 8 です。増加値のみ指定できます。
low space
アラートが表示された場合は、ディスククォータを増やすことを推奨します。このアラートは、自動コンパクションおよびデフラグにもかかわらず、クラスターが大きすぎて etcd に収まらないことを示します。このアラートが表示された場合、etcd のスペースが不足すると書き込みが失敗するため、すぐにディスククォータを増やす必要があります。
ディスククォータを増やすことが推奨されるもう 1 つのシナリオは、excessive database growth
アラートが発生した場合です。このアラートは、今後 4 時間以内にデータベースが大きくなりすぎる可能性があることを警告しています。このシナリオでは、最終的に low space
アラートが表示されたり、書き込みが失敗したりしないように、ディスククォータを増やすことを検討してください。
ディスククォータを増やしても、指定したディスク領域はすぐには予約されません。代わりに、etcd は必要に応じてそのサイズまで拡張できます。etcd が、ディスククォータに指定した値よりも大きい専用ディスク上で実行されていることを確認します。
大規模な etcd データベースの場合、コントロールプレーンノードに追加のメモリーとストレージが必要です。API サーバーキャッシュを考慮する必要があるため、最小メモリー要件は etcd データベースの設定サイズの 3 倍以上になります。
etcd のデータベースサイズを増やす機能は、テクノロジープレビュー機能のみです。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
3.5.1. etcd データベースのサイズを変更する リンクのコピーリンクがクリップボードにコピーされました!
etcd のデータベースサイズを変更するには、次の手順を実行します。
手順
次のコマンドを入力して、各 etcd インスタンスのディスククォータの現在の値を確認します。
oc describe etcd/cluster | grep "Backend Quota"
$ oc describe etcd/cluster | grep "Backend Quota"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Backend Quota Gi B: <value>
Backend Quota Gi B: <value>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、ディスククォータの値を変更します。
oc patch etcd/cluster --type=merge -p '{"spec": {"backendQuotaGiB": <value>}}'
$ oc patch etcd/cluster --type=merge -p '{"spec": {"backendQuotaGiB": <value>}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
etcd.operator.openshift.io/cluster patched
etcd.operator.openshift.io/cluster patched
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
次のコマンドを入力して、ディスククォータの新しい値が設定されていることを確認します。
oc describe etcd/cluster | grep "Backend Quota"
$ oc describe etcd/cluster | grep "Backend Quota"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow etcd Operator は、新しい値を使用して etcd インスタンスを自動的にロールアウトします。
次のコマンドを入力して、etcd Pod が起動して実行されていることを確認します。
oc get pods -n openshift-etcd
$ oc get pods -n openshift-etcd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次の出力は、予想されるエントリーを示しています。
出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、etcd Pod のディスククォータ値が更新されていることを確認します。
oc describe -n openshift-etcd pod/<etcd_podname> | grep "ETCD_QUOTA_BACKEND_BYTES"
$ oc describe -n openshift-etcd pod/<etcd_podname> | grep "ETCD_QUOTA_BACKEND_BYTES"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 値はデフォルト値の
8
から変更されていない可能性があります。出力例
ETCD_QUOTA_BACKEND_BYTES: 8589934592
ETCD_QUOTA_BACKEND_BYTES: 8589934592
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記設定する値は GiB 単位の整数ですが、出力に表示される値はバイトに変換されます。
3.5.2. トラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
etcd のデータベースサイズを増やそうとしたときに問題が発生した場合、次のトラブルシューティング手順が役立つ場合があります。
3.5.2.1. 値が小さすぎる リンクのコピーリンクがクリップボードにコピーされました!
指定した値が 8
未満の場合、次のエラーメッセージが表示されます。
oc patch etcd/cluster --type=merge -p '{"spec": {"backendQuotaGiB": 5}}'
$ oc patch etcd/cluster --type=merge -p '{"spec": {"backendQuotaGiB": 5}}'
エラーメッセージの例
The Etcd "cluster" is invalid: * spec.backendQuotaGiB: Invalid value: 5: spec.backendQuotaGiB in body should be greater than or equal to 8 * spec.backendQuotaGiB: Invalid value: "integer": etcd backendQuotaGiB may not be decreased
The Etcd "cluster" is invalid:
* spec.backendQuotaGiB: Invalid value: 5: spec.backendQuotaGiB in body should be greater than or equal to 8
* spec.backendQuotaGiB: Invalid value: "integer": etcd backendQuotaGiB may not be decreased
この問題を解決するには、8
- 32
の間の整数を指定します。
3.5.2.2. 値が大きすぎる リンクのコピーリンクがクリップボードにコピーされました!
指定した値が 32
より大きい場合、次のエラーメッセージが表示されます。
oc patch etcd/cluster --type=merge -p '{"spec": {"backendQuotaGiB": 64}}'
$ oc patch etcd/cluster --type=merge -p '{"spec": {"backendQuotaGiB": 64}}'
エラーメッセージの例
The Etcd "cluster" is invalid: spec.backendQuotaGiB: Invalid value: 64: spec.backendQuotaGiB in body should be less than or equal to 32
The Etcd "cluster" is invalid: spec.backendQuotaGiB: Invalid value: 64: spec.backendQuotaGiB in body should be less than or equal to 32
この問題を解決するには、8
- 32
の間の整数を指定します。
3.5.2.3. 価値が下がっている リンクのコピーリンクがクリップボードにコピーされました!
値が 8
- 32
の有効な値に設定されている場合、値を減らすことはできません。減らそうとすると、エラーメッセージが表示されます。
次のコマンドを入力して現在の値を確認します。
oc describe etcd/cluster | grep "Backend Quota"
$ oc describe etcd/cluster | grep "Backend Quota"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Backend Quota Gi B: 10
Backend Quota Gi B: 10
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力してディスククォータ値を減らします。
oc patch etcd/cluster --type=merge -p '{"spec": {"backendQuotaGiB": 8}}'
$ oc patch etcd/cluster --type=merge -p '{"spec": {"backendQuotaGiB": 8}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow エラーメッセージの例
The Etcd "cluster" is invalid: spec.backendQuotaGiB: Invalid value: "integer": etcd backendQuotaGiB may not be decreased
The Etcd "cluster" is invalid: spec.backendQuotaGiB: Invalid value: "integer": etcd backendQuotaGiB may not be decreased
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
この問題を解決するには、
10
より大きい整数を指定します。