簡體   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