🍳

k3s のワーカーノードの追加で詰まるときの対処法

2024/09/21に公開

概要

ワーカーノードを追加するために、以下のコマンドを実行した。

curl -sfL https://get.k3s.io | K3S_URL=https://10.10.10.1:6443 K3S_TOKEN=$K3S_TOKEN sh -

ところが、 [INFO] systemd: Starting k3s-agent と表示されたままスタックし、進行しなかった。仕方ないので Ctrl + C で停止。

ログの確認

次のコマンドでログを確認。

sudo journalctl -u k3s-agent -f

すると、このようなエラーが出ていた。

Waiting to retrieve agent configuration; server is not ready: /var/lib/rancher/k3s/agent/serving-kubelet.crt: Node password rejected, duplicate hostname or contents of '/etc/rancher/node/password' may not match server node-passwd entry, try enabling a unique node name with the --with-node-id flag

このエラーメッセージを ChatGPT に突っ込んだところ、以下のことがわかった。

  1. ホスト名の重複
  2. ノードパスワードの不一致
  3. 過去に同名のワーカーノードが登録されていた可能性

解決のプロセス

以下のことを試したが、効果なし。

  • ノードパスワードの確認と削除
  • k3sの完全な削除と再インストール

最終的な解決策

最終的に、マスターノード上で次のコマンドを実行することで解決できた:

kubectl -n kube-system delete secrets <ホスト名>.node-password.k3s

このコマンドにより、過去に登録されていた同名のワーカーノードに関連するデータが完全削除される。今回の場合、実は過去に同名のホスト名のワーカーが存在しており、マスターノードにそれが残っていたのが原因と思われる。

Discussion