我正在实现一个可以使节点从kubernetes集群脱机/联机的功能。
当我运行kubectl delete node $nodename
时,如何将此节点读取到群集?
据说如果使用API POST /api/v1/nodes
将导致节点状态Not ready
。有没有办法将已删除的节点读取到群集?
答案 0 :(得分:1)
(重新)创建节点的方式取决于您的群集设置和Kubernetes版本。
kubeadm reset
和kubeadm join ...
(如果原始令牌是短暂的,您可能需要创建新令牌,请参阅链接的文档)答案 1 :(得分:1)
在kubernetes上添加先前删除的节点>对我来说1.8x它重新启动节点上的kubelet服务。它正在集群中再次注册。 但是kubernetes有可能创建一个节点" online / offlilne":
> kubectl cordon -h
Mark node as unschedulable.
Examples:
# Mark node "foo" as unschedulable.
kubectl cordon foo
Usage:
kubectl cordon NODE [options]
和
> kubectl uncordon -h
Mark node as schedulable.
Examples:
# Mark node "foo" as schedulable.
$ kubectl uncordon foo
Usage:
kubectl uncordon NODE [options]
答案 2 :(得分:0)
kubectl删除节点的接缝仅删除资源yaml文件。
kubectl apply -f node.yaml
--- node.yaml ---
{
"kind": "Node",
"apiVersion": "v1",
"metadata": {
"name": "minion-0",
"labels": {
"name": "fixed"
}
}
}
答案 3 :(得分:0)
我错误地删除了在我的 Linux PC 上运行的节点。
当我运行命令 kubectl get node
时,它返回一条消息“找不到资源”。
为了尝试解决这个问题,我转到路径 /etc/systemd/system 并运行 sudo systemctl restart k3s.service
,我看到已删除的节点被重新添加。
谢天谢地,我节省了时间 :) 我希望它对某人有所帮助