繁体   English   中英

Kubernetes Autoscaling容器

[英]Kubernetes Autoscaling Containers

是否可以自动缩放docker容器,其中包含kubernetes中的应用程序服务器(如wildfly / tomcat / jetty /)? 例如在cpu&ram使用或基于http请求? 如果有一个内置功能,我无法找到它,或者是否可以为此编写类似配置脚本的内容? 如果是这样,魔法在哪里发生?

目前尚不支持对容器进行自动扩展,这也不是Kubernetes近期1.0路线图的一部分(这意味着核心团队不会很快添加它,但外部贡献肯定是受欢迎的)。

您可以在kubernetes 1.3之后使用水平pod自动缩放。 kubernetes博客提供有关功能的详细信息。

http://blog.kubernetes.io/2016/07/autoscaling-in-kubernetes.html

但上面的文章主要关注GKE。 所以下面会提供更多信息。

https://kubernetes.io/docs/user-guide/horizo​​ntal-pod-autoscaling/

这里描述了如何使用kubectl进行pod自动缩放。

 kubectl autoscale (-f FILENAME | TYPE NAME | TYPE/NAME) [--min=MINPODS] --max=MAXPODS [--cpu-percent=CPU] [flags]

例子

# Auto scale a deployment "foo", with the number of pods between 2 and 10, target CPU utilization specified so a default autoscaling policy will be used:
  kubectl autoscale deployment foo --min=2 --max=10

  # Auto scale a replication controller "foo", with the number of pods between 1 and 5, target CPU utilization at 80%:
  kubectl autoscale rc foo --max=5 --cpu-percent=80

由于Kubernetes 1.2自动缩放是稳定API的一部分。 它基于CPU使用情况或基于容器本身提供的指标来完成。

它可以用于部署或复制控制器,如下所示:

# Auto scale a deployment "foo", with the number of pods between 2 and 10, target CPU utilization specified so a default autoscaling policy will be used:
kubectl autoscale deployment foo --min=2 --max=10

# Auto scale a replication controller "foo", with the number of pods between 1 and 5, target CPU utilization at 80%:
kubectl autoscale rc foo --max=5 --cpu-percent=80

更多详细信息可以在水平扩展描述, kubectl自动缩放文档和官方博客中的官方文档中找到。

您可以使用Horizo​​ntal Pod Autoscaler自动调整部署。

 kubectl autoscale deployment task2deploy1 –cpu-percent=80 –min=2 –max=6

该命令将确保部署最少2个,最多6个pod,目标CPU利用率设置为80%。 您可以使用以下命令列出自动跟踪器:

 kubectl get hpa

名称参考目标MINIPODS MAXPODS REPLICAS
task2deploy1部署/ task2deploy1 / 80%2 6 0

 kubectl describe  hpa 

名称:task2deploy1

有关自动缩放器的信息将在屏幕上打印出大量信息。

使用以下方法继续检查pod数量的变化:

kubectl describe deployment task2deploy1 

暂无
暂无

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

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