
如何確定為每個應用程式部署分配多少最小和最大資源?我正在設置一個集群,但我還沒有設置任何資源並讓它自由運行。
我想我可以用來top command
計算高峰時段的負載並進行處理,但頂部仍然顯示 6% 或 10%,但隨後我不確定如何計算它們以產生類似0.5 cpu
或 的負載100 MB
。是否有方法/公式來根據top command
使用情況確定最大值和最小值?
我正在運行兩個 t3.medium 節點,並且有以下 pod httpd and tomcat in namespace1
、mysql in namepsace2
、jenkins and gitlab in namespace3
。是否有關於其所需的最低資源的指南?或者我必須根據 top 或其他方法來計算它?
答案1
分配給 Pod 的資源取決於您的應用程式使用情況。例如,當jenkins
使用 helm 安裝時,它指定了以下內容資源請求和限制:
resources:
requests:
cpu: "50m"
memory: "256Mi"
limits:
cpu: "2000m"
memory: "4096Mi"
但為了避免 pod 因資源不足而終止,您可以使用Horizontal Pod Autoscaler
使用資源指標來根據情況向上或向下擴展 Pod資源消耗(或任何其他自訂指標,如請求等)。 HPA 要求metrics-server
在您的叢集中運行。
它可以使用輕鬆創建kubectl autoscale
, 例如:
kubectl autoscale deployment <deployment-name> --cpu-percent=50 --min=1 --max=10
其中--min
是要運行的最小副本數,--max
是負載增加時將創建的 Pod 的最大副本數。