我正在使用kubernete管理Docker集群。现在,我可以使用Horizontal Pod Scaler设置POD自动缩放,这很好。 现在,我认为下一步是自动缩放节点。我认为对于HPA,自动创建的Pod仅在已创建的节点中启动,但是如果所有可用节点都被利用并且没有可用资源用于更多Pod,则我认为下一步是自动创建节点并加入节点k8s大师。 我在Google上搜索了很多,介绍这一主题的资源非常有限。 任何人都可以将任何资源指向我如何实现此要求。 谢谢
答案 0 :(得分:1)
使用AWS并设置自己的Kubernetes集群的一种方法是遵循以下步骤:
使用诸如Kubeadm之类的工具初始化Kubernetes集群。初始化完成后,您将获得一个join命令,该命令需要在要加入集群的所有节点上运行。 (Here is the link)
现在使用包含该加入命令的启动/引导脚本在AWS上创建一个自动扩展组。
现在,每当违反您在自动扩展组中指定的利用率时,就会发生扩展,并且节点将自动加入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