GKE on AWS 用 etcd のトラブルシューティング

このページでは、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

  1. 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 |
    +------------------+------------------+---------+---------+
    

コンソール

  1. コンソールで、[Cloud Monitoring] ページに移動します。

    [Cloud Monitoring] ページに移動

  2. [Metrics Explorer] を選択します。

  3. metric etcd_mvcc_db_total_size_in_bytes 指標を選択します。

この問題を解決するには、ストレージ プロバイダとそのオペレーティング システムに適した手順で、etcd のデータディスクのサイズを変更します。将来の etcd の増加を考慮して十分な容量を追加してください。

  1. ディスクのサイズを変更したら、ディスク容量に関する警告が引き続き表示されるかどうか確認します。

    ETCDCTL_API=3 etcdctl alarm list
    
  2. 最後の列で NOSPACE が報告された場合は、次のようにアラームを解除します。

    TCDCTL_API=3 etcdctl alarm disarm
    

次のステップ

さらにサポートが必要な場合は、Cloud カスタマーケアにお問い合わせください。