3

我正在使用以下内容设置 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
  • 一个节点开启:t2.medium / k8s-1.5-debian-jessie-amd64-hvm-ebs-2017-01-09

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

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

我刚刚在 kops 存储库中找到了以下插件 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 中对该任务有任何建议或经验吗?接下来我将尝试手动生成自动缩放策略以进行测试。

4

2 回答 2

2

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

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

对于您的用例, Horizo​​ntal Pod Autoscaling将在高负载下扩展您的应用程序(正在承受压力),请务必requests在 podspec 中提及该部分。一旦自动缩放器发现新缩放的 Pod 不适合某个节点,它将启动新节点。

免责声明:我还没有玩过 Horizo​​ntal Pod Autoscaling。

于 2017-04-26T18:29:39.957 回答
0

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

我将使用此基础在生产中设置集群。我希望它可以帮助某人。

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

于 2017-06-06T19:27:06.100 回答