【发布时间】:2020-12-04 01:53:39
【问题描述】:
我有一个节点错误地注册在集群 B 上,而它实际上正在为集群 A 服务。
这里“在集群 B 上注册”意味着我可以从集群 B 的 kubectl get node 看到节点。
我想从集群 B 中注销该节点,但保持节点不变。
我知道删除节点的常规流程是:
kubectl drain node xxx
kubectl delete node xxx
# on node
kubeadm reset
但我不希望集群 A 的节点上的 pod 被删除或转移。而且我想确保节点之后不会自行注册到集群 B。
为了清楚起见,假设集群 A 的节点上有 Pod A,集群 B 的节点上也有 Pod B,我想从集群 B 中删除节点,但保持 Pod A 不变。 (顺便问一下,我可以从集群 B 看到 Pod A 吗?)
提前谢谢你!
【问题讨论】:
-
你能澄清一下你的问题吗? “我想从集群 B 中注销该节点,但保持节点完整” - 保持节点完整是什么意思? “我知道删除节点的常规流程是……” 那么,这个常规流程有什么问题呢?它在您的情况下没有按预期工作吗? “但是我不希望集群 A 中的节点上的 pod 被删除或转移。” - 你是指已经在集群 A 中注册的另一个节点吗?除非那些
Pods被删除,否则集群中新节点的出现不会以任何方式影响它们。 -
“要明确一点,假设集群 A 的节点上有 Pod A,集群 B 的节点上也有 Pod B” ...等等,等等,等等...你的意思是同一个工作节点吗?一次在两个不同的主节点上注册? “顺便问一下,我可以从集群 B 看到 Pod A 吗?” - 如果它由集群 A 管理,并且它运行在集群 A 中注册的工作节点的节点上,则答案是“不,你不能。”。
-
@mario nvm,我认为一个节点中的不同集群会相互影响,实际上它们不会,它们只是共享容器运行时,更像是“只读”,并且它们自己有不同的 kubelet监听不同的端口。
标签: kubernetes kubectl kubeadm