🍳
k3s のワーカーノードの追加で詰まるときの対処法
概要
ワーカーノードを追加するために、以下のコマンドを実行した。
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 に突っ込んだところ、以下のことがわかった。
- ホスト名の重複
- ノードパスワードの不一致
- 過去に同名のワーカーノードが登録されていた可能性
解決のプロセス
以下のことを試したが、効果なし。
- ノードパスワードの確認と削除
- k3sの完全な削除と再インストール
最終的な解決策
最終的に、マスターノード上で次のコマンドを実行することで解決できた:
kubectl -n kube-system delete secrets <ホスト名>.node-password.k3s
このコマンドにより、過去に登録されていた同名のワーカーノードに関連するデータが完全削除される。今回の場合、実は過去に同名のホスト名のワーカーが存在しており、マスターノードにそれが残っていたのが原因と思われる。
Discussion