繁体   English   中英

Kubernetes通过AWS自动扩展节点

[英]Kubernetes auto-scaling nodes over AWS

我正在使用以下内容设置kubernetes集群:

  • AWS作为云提供商
  • kops(版本1.6.0-alpha,仅用于测试)作为创建和管理集群的cli工具
  • kubectl(服务器:v1.6.2和客户端:1.6.0)来控制我的集群
  • Ubuntu 16作为本地操作系统

我有一个简单的k8s集群,其中包含以下内容:

  • AWS区域 :us-west-2
  • 一位大师 :t2.medium / k8s-1.5-debian-jessie-amd64-hvm-ebs-2017-01-09
  • 一个节点 onver:t2.medium / k8s-1.5-debian-jessie-amd64-hvm-ebs-2017-01-09

我还在群集上部署了一些pod,我创建了jmeter压力测试以生成人工流量。

我的问题是如何使用kops over aws在k8s集群上创建自动缩放节点?

我刚刚在kops存储库中找到了以下ad-don kops插件 我按照文档的说法进行部署,并且可以使用。

我的参数是:

CLOUD_PROVIDER=aws
IMAGE=gcr.io/google_containers/cluster-autoscaler:v0.4.0
MIN_NODES=1
MAX_NODES=3
AWS_REGION=us-east-2
GROUP_NAME="<the-auto-scaling-group-Name>"
SSL_CERT_PATH="/etc/ssl/certs/ca-certificates.crt" # (/etc/ssl/certs for gce)


$ kubectl get deployments --namespace=kube-system

NAME                   DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
cluster-autoscaler     1         1         1            1           3h
dns-controller         1         1         1            1           3h
kube-dns               2         2         2            2           3h
kube-dns-autoscaler    1         1         1            1           3h
kubernetes-dashboard   1         1         1            1           3h

但是,在压力之后我的节点使用带有压力容器的pod没有任何事情发生(100%cpu利用率)并且我的自动缩放组没有被修改。

cpu利用率

自动缩放组

另一方面,我以terraform导出kops输出但是没有自动缩放策略来根据cpu利用率生成自动缩放。

最后,我可以在k8s博客中找到一个条目 ,表明它将来会得到AWS的支持,但没有其他公告。

在AWS和kops中对该任务有任何建议或经验吗? 接下来,我将尝试手动生成自动缩放策略以进行测试。

首先,在使用Kubernetes 1.6.x时,您应该使用 gcr.io/google_containers/cluster-autoscaler:v0.5.0 gcr.io/google_containers/cluster-autoscaler:v0.5.0。

其次,根据我的理解,如果存在处于Pending状态的窗格,则自动缩放器本身仅缩放ASG,因为它不适合任何现有节点。

对于您的用例, Horizo​​ntal Pod Autoscaling会在高负载时扩展您的应用程序(正在受到压力),请务必提及podspec中的requests部分。 一旦autoscaler看到新缩放的pod不适合节点,它将启动新节点。

免责声明:我还没有使用Horizo​​ntal Pod Autoscaling。

在审查kops( 与自动缩放相关的开放问题 )后,我找不到节点自动缩放的选项,正如我在我的问题中写的那样,我正在寻找节点自动缩放。 也许在新版本的kops中会考虑。 但是,我决定使用terraform从头开始设置kubernetes v1.5.4节点中的自动缩放。 如果有人对我的实现感兴趣,源代码在我的个人repo :: kubernetes集群v1中,带有terraform(afym)

我会用这个基础在生产中设置集群。 我希望它可以帮助别人。

谢谢,如果有人在kops中找到自动缩放配置选项,那就太棒了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM