【问题标题】:How to deregister a kubernetes node from a kubernetes cluster如何从 kubernetes 集群中注销 kubernetes 节点
【发布时间】: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


【解决方案1】:

要取消注册节点而不删除您在命令下运行的任何 pod

kubectl delete node nodename

完成此操作后,该节点将不会出现在kubectl get nodes

为了让节点不再自行注册,通过登录该节点并使用以下命令停止该节点上的kubelet 进程。

systemctl stop kubelet

【讨论】:

  • 好吧,停止kubelet 似乎根本不是一个好的解决方案。这样的节点将无法注册到任何主节点,对吧?据我了解 OP 要求,它不应该自动在集群 B 的主节点中注册。但是该节点应该保持运行状态,因此您可以将其注册为另一个 k8s 集群的一部分,没有运行的 kubelet 不会有可能。
  • 你是对的,但在我回答后,问题被编辑以添加能够加入该工作节点另一个集群的要求
【解决方案2】:

由于此案已得到澄清,我决定根据以下评论发布社区维基答案:

@mario nvm,我认为一个节点中的不同集群会影响每个节点 其他,实际上他们没有,他们只是共享容器运行时 更像是“只读”,它们有不同的 kubelet 自己在不同的端口上监听。 – 李子晏 8 月 17 日 5:29

也让其他用户清楚这里的实际问题是什么以及它是如何解决或简单澄清的。

因此,如果您以这样一种方式设计基础架构,即使用一台物理(或虚拟)机器作为Node 用于多个kubernetes 集群(我认为这不是很常见的情况)基础架构如下所示:

  1. 共享的组件
  • 物理(或虚拟)节点
  • 通用容器运行环境(如docker)
  1. 独立的组件
  • 两个独立的 kubelet。尽管它们在同一个物理/虚拟节点上运行它们被配置为侦听不同的端口并且注册在两个主控Nodes(或者更具体地说是两个不同的@987654323 @ 是两个不同的 kubernetes 控制平面的一部分
  • 两个逻辑上独立、独立的 kubernetes Nodes,虽然它们配置在相同的物理节点/主机上,但在逻辑上是完全独立的 kubernetes Nodes,属于两个完全不同的 kubernetes 集群,不会以任何方式相互干扰。

我希望它有助于澄清对这个问题的可能混淆,并可能帮助某人以防他们有类似的疑问。

【讨论】:

    猜你喜欢
    • 2021-05-16
    • 2019-10-13
    • 2021-06-22
    • 2021-09-28
    • 1970-01-01
    • 2020-03-14
    • 2019-05-12
    • 2023-01-30
    • 2023-03-27
    相关资源
    最近更新 更多