簡體   English   中英

錯誤執行階段 kubelet-start: a Node with name … and status Ready已經存在於集群中

[英]Error execution phase kubelet-start: a Node with name … and status Ready already exists in the cluster

我在 Virtualbox 上玩 Kubernetes。 我創建了 2 個虛擬機,一個是 Master,另一個是 Worker。 Worker 是 master 基礎安裝的克隆。 我想這是問題的根本原因,也許還有一些配置會導致沖突。

當我嘗試加入 Worker 時...

sudo kubeadm join 192.168.56.101:6443 --token ... --discovery-token-ca-cert-hash ...

我收到以下錯誤...

錯誤執行階段 kubelet-start:集群中已經存在一個名為“test-virtualbox”且狀態為“Ready”的節點。 您必須刪除現有節點或更改此新加入節點的名稱

我試圖用...重置配置

sudo kubeadm reset

但是在運行 join 命令后,我再次遇到相同的錯誤。

我還嘗試通過運行刪除節點“test-virtualbox”...

sudo kubectl delete node test-virtualbox

但這會導致錯誤...

與服務器 localhost:8080 的連接被拒絕

您提到的有幾個問題或疑問

集群中已存在名稱為“test-virtualbox”且狀態為“Ready”的節點。

kubeadm使用主機名作為節點名,當您從主服務器克隆工作人員時,它們應該具有與錯誤所述相同的主機名。

解決方案可能是:

  1. 通過hostnamectl或其他一些工具給 Worker 一個新的主機名。
  2. 加入 worker 時使用--node-name標志

須藤 kubeadm 重置

reset用於重置集群內的節點,您的工作人員尚未加入,當您這樣做時它什么也不做。


sudo kubectl 刪除節點 test-virtualbox

這是在 Worker 上執行的,對吧?

Worker 還沒有加入集群,所以~/.kube/config中沒有kubeconfig ,kubectl 會默認使用localhost:8080作為服務器地址,無法連接到目標 API 服務器,所以出現錯誤.


只是在主服務器上運行“sudo kubectl delete node test-virtualbox”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM