このページでは、GKE on AWS 用 etcd の問題を解決する方法について説明します。
さらにサポートが必要な場合は、Cloud カスタマーケアにお問い合わせください。etcd データディスクに空きがない
etcd データディスクがいっぱいになると、次のようなエラーが発生します。このエラーはいくつかの方法で確認できます。
etcd のログに、リクエストの書き込みのタイムアウト エラーが表示される場合があります。
rafthttp: failed to save KV snapshot (write /var/etcd/data/member/snap/tmp720030520: no space left on device)
また、ピアへの接続のタイムアウト エラーが表示される場合があります。
rafthttp: health check for peer [peer-id] could not connect: dial tcp [peer-ip]:2380: i/o timeout etcd server doesn't start:
シリアルポートのログに、容量不足のため etcd を起動できないと示される場合があります。
failed on file /dev/stdout (No space left on device)
etcd インスタンスのサイズを確認するには、次のいずれかの方法を使用します。
SSH
SSH を使用してマスターノードの 1 つに接続し、次のコマンドを実行します。
ETCDCTL_API=3 etcdctl --write-out=table endpoint status
次の簡略化された出力例に示すように、
DB_SIZE
列は使用されるサイズを示します。+------------------+------------------+---------+---------+ | ENDPOINT | ID | VERSION | DB SIZE | +------------------+------------------+---------+---------+ | 10.240.0.17:2379 | 4917a7ab173fabe7 | 3.5.0 | 45 kB | | 10.240.0.18:2379 | 59796ba9cd1bcd72 | 3.5.0 | 45 kB | | 10.240.0.19:2379 | 94df724b66343e6c | 3.5.0 | 45 kB | +------------------+------------------+---------+---------+
コンソール
コンソールで、[Cloud Monitoring] ページに移動します。
[Metrics Explorer] を選択します。
metric etcd_mvcc_db_total_size_in_bytes
指標を選択します。
この問題を解決するには、ストレージ プロバイダとそのオペレーティング システムに適した手順で、etcd のデータディスクのサイズを変更します。将来の etcd の増加を考慮して十分な容量を追加してください。
ディスクのサイズを変更したら、ディスク容量に関する警告が引き続き表示されるかどうか確認します。
ETCDCTL_API=3 etcdctl alarm list
最後の列で
NOSPACE
が報告された場合は、次のようにアラームを解除します。TCDCTL_API=3 etcdctl alarm disarm