我已经使用仓库https://github.com/kubernetes-sigs/kubespray成功地部署了多主Kubernetes集群,并且一切正常。但是当我停止/终止集群中的一个节点时,新节点并没有加入集群。我已经使用KOPS部署了kubernetes,但是当一个节点被删除时,这些节点是自动创建的。这是kubespray中的预期行为吗?请帮忙。
答案 0 :(得分:0)
这是预期的行为,因为kubespray不会创建任何AWS特定资源的ASG。将会看到kubespray仅处理现有机器;他们确实在仓库中提供了一些用于置备机器的地形玩具,但kubespray本身并没有涉足该行业。
您有一些可用的选择:
scale.yml
进行预配置etcd
台机器(大概是kubespray可以为新Node颁发etcd证书scale.yml
剧本您可能会喜欢AWX。
kubeadm join
这是我用于集群FWIW的机制
使用kubeadm token create --ttl 0
(或您喜欢使用的TTL)创建kubeadm连接令牌
您只需要执行一次,或者每个ASG一次,这取决于您的安全容忍度
使用cloud-init机制确保计算机上存在docker
,kubeadm
和kubelet
二进制文件
如果您喜欢构建AMI,也欢迎使用AMI进行操作
kubeadm join
:https://kubernetes.io/docs/setup/independent/high-availability/#install-workers 有许多"machine controller" components旨在使用Kubernetes内部的自定义控制器来声明式管理您的节点池。我没有与他们合作的经验,但是我相信他们确实可以工作。该链接只是我想到的第一个链接,但是还有其他链接
我们在Kubedex的朋友有an entire page devoted to this question