自动将节点加入 AWS 中的 Kubeadm 集群

Auto Join Nodes to Kubeadm Clusters In AWS

我必须使用 Kubeadm 在 AWS 中构建一个演示 Kubernetes 集群。

不幸的是,出于多种原因,Kops 和 EKS 在我当前的环境中是不可能的。

如果工作节点因任何原因被终止,我该如何处理自动缩放和自动将工作节点连接回主节点等事情?这是我最关心的问题。

我过去用 Kops 做过这个,它相对简单,但我不确定如何使用 Kubeadm 进行管理。

如果您使用的是 Ansible,则可以设置启动配置以提取 git 存储库和 运行 剧本以从 Master 和 运行 在工作节点上。

Cluster Autoscaler 是您要实现的目标。

Cluster Autoscaler is a tool that automatically adjusts the size of the Kubernetes cluster when one of the following conditions is true: -there are pods that failed to run in the cluster due to insufficient resources. -there are nodes in the cluster that have been underutilized for an extended period of time and their pods can be placed on other existing nodes.

此工具将在 ASG 中创建和删除实例。

Cluster Autoscaler requires the ability to examine and modify EC2 Auto Scaling Groups.

您只需为新创建的实例添加一个带有脚本的模板,即可将它们添加到您的集群中。

If you use kubeadm to provision your cluster, it is up to you to automatically execute kubeadm join at boot time via some script

如果您对此工具有任何疑问,可以在 FAQ

中找到所有内容

您可以在 AWS

上查看如何设置它的文档

On AWS, Cluster Autoscaler utilizes Amazon EC2 Auto Scaling Groups to manage node groups. Cluster Autoscaler typically runs as a Deployment in your cluster.