Kubernetes - 如何計算每個容器所需的資源?

Kubernetes - 如何計算每個容器所需的資源?

如何確定為每個應用程式部署分配多少最小和最大資源?我正在設置一個集群,但我還沒有設置任何資源並讓它自由運行。

我想我可以用來top command計算高峰時段的負載並進行處理,但頂部仍然顯示 6% 或 10%,但隨後我不確定如何計算它們以產生類似0.5 cpu或 的負載100 MB。是否有方法/公式來根據top command使用情況確定最大值和最小值?

我正在運行兩個 t3.medium 節點,並且有以下 pod httpd and tomcat in namespace1mysql in namepsace2jenkins 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 的最大副本數。

相關內容