gpt4 book ai didi

azure - 当 Kubespray 中其他节点丢失时,Kubernetes 集群节点不会自动创建

转载 作者:行者123 更新时间:2023-12-03 05:44:04 29 4
gpt4 key购买 nike

我已使用存储库 https://github.com/kubernetes-sigs/kubespray 成功部署了多主 Kubernetes 集群一切正常。但是,当我停止/终止集群中的节点时,新节点不会加入集群。我使用 KOPS 部署了 kubernetes,但节点在删除时会自动创建。这是 kubespray 中的预期行为吗?请帮忙..

最佳答案

这是预期行为,因为 kubespray 不会创建任何 ASG,这是 AWS 特定的资源。人们会发现 kubespray 仅处理现有机器;他们确实在其仓库中提供了一些用于配置机器的 terraform 玩具,但 kubespray 本身并不涉足该业务。

您有以下几种选择:

使用scale.yml进行后期配置

  1. 使用您最喜欢的机制配置新节点
  2. 创建一个包含它的 list 文件和 etcd 机器(大概是这样 kubespray 可以为新节点颁发 etcd 证书
  3. 调用scale.yml剧本

您可能会喜欢AWX支持这一点。

使用普通的kubeadm join

这是我用于集群的机制,FWIW

  1. 使用 kubeadm token create --ttl 0 创建 kubeadm 加入 token (或任何您觉得方便使用的 TTL)

    您只需执行一次此操作,或者可能每个 ASG 执行一次,具体取决于您的安全容忍度

  2. 使用cloud-init确保机器上存在 dockerkubeadmkubelet 二进制文件的机制

    如果您喜欢构建 AMI,我们也欢迎您使用 AMI 来执行此操作

  3. 然后调用 kubeadm join,如下所述:https://kubernetes.io/docs/setup/independent/high-availability/#install-workers

使用机器 Controller

有很多"machine controller" components旨在使用 Kubernetes 内的自定义 Controller 以声明方式管理节点池。我没有使用它们的经验,但我相信它们确实有效。该链接只是我想到的第一个链接,但还有其他链接

我们在 Kubedex 的 friend 有 an entire page devoted to this question

关于azure - 当 Kubespray 中其他节点丢失时,Kubernetes 集群节点不会自动创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56239454/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com