Kubernete如何自动缩放节点?

时间:2019-05-21 06:26:49

标签: kubernetes

我正在使用kubernete管理Docker集群。现在,我可以使用Horizo​​ntal Pod Scaler设置POD自动缩放,这很好。 现在,我认为下一步是自动缩放节点。我认为对于HPA,自动创建的Pod仅在已创建的节点中启动,但是如果所有可用节点都被利用并且没有可用资源用于更多Pod,则我认为下一步是自动创建节点并加入节点k8s大师。 我在Google上搜索了很多,介绍这一主题的资源非常有限。 任何人都可以将任何资源指向我如何实现此要求。 谢谢

3 个答案:

答案 0 :(得分:1)

使用AWS并设置自己的Kubernetes集群的一种方法是遵循以下步骤:

  1. 创建一个大于t2.micro的实例(将成为主节点)。
  2. 使用诸如Kubeadm之类的工具初始化Kubernetes集群。初始化完成后,您将获得一个join命令,该命令需要在要加入集群的所有节点上运行。 (Here is the link

  3. 现在使用包含该加入命令的启动/引导脚本在AWS上创建一个自动扩展组。

  4. 现在,每当违反您在自动扩展组中指定的利用率时,就会发生扩展,并且节点将自动加入Kubernetes集群。这将允许Kubernetes基于HPA在新加入的节点上调度Pod。

(我建议使用Flannel作为Pod网络,因为它在不可用时会自动从Kubernetes集群中删除该节点)

答案 1 :(得分:0)

  

kubernetes operations(组)可帮助您从命令行创建,销毁,升级和维护生产级,高可用性的Kubernetes集群。

     

功能:

     
      
  • 在AWS和GCE中自动配置Kubernetes集群
  •   
  • 部署高可用性(HA)Kubernetes Masters
  •   

大多数托管kubernetes服务提供商都提供节点的自动扩展功能

弹性Kubernetes服务 EKS- configure cluster auto scalar

Google Kubernetes引擎 GKE Auto Scalar

答案 2 :(得分:0)

基础云提供商需要支持自动扩展功能。 Google云通过传递标志-启用自动缩放 -最小节点-最大节点,在集群创建或更新期间支持自动扩展到相应的gcloud命令。

Examples:

gcloud container clusters create mytestcluster --zone=us-central1-b --enable-autoscaling --min-nodes=3 --max-nodes=10 --num-nodes=5
gcloud container clusters update mytestcluster --enable-autoscaling --min-nodes=1 --max-nodes=15

下面的链接会有所帮助

https://medium.com/kubecost/understanding-kubernetes-cluster-autoscaling-675099a1db92