Как посмотреть рекомендации Vertical Pod Autoscaler? | How do I view the Vertical Pod Autoscaler recommendations? |
После создания custom resource VerticalPodAutoscaler посмотреть рекомендации VPA можно следующим образом: | You can view the VPA recommendations after the VerticalPodAutoscaler custom resource is created using the following command: |
shell kubectl describe vpa my-app-vpa | shell kubectl describe vpa my-app-vpa |
В секции
| The
|
Как Vertical Pod Autoscaler работает с лимитами? | How does Vertical Pod Autoscaler handle limits? |
Пример 1 | Example No. 1 |
У нас есть VPA-объект: | Suppose we have a VPA object: |
yamlapiVersion: autoscaling.k8s.io/v1 kind: VerticalPodAutoscaler metadata: name: test2 spec: targetRef: apiVersion: “apps/v1” kind: Deployment name: test2 updatePolicy: updateMode: “Initial” | yamlapiVersion: autoscaling.k8s.io/v1 kind: VerticalPodAutoscaler metadata: name: test2 spec: targetRef: apiVersion: “apps/v1” kind: Deployment name: test2 updatePolicy: updateMode: “Initial” |
И есть под с такими ресурсами: | Also, there is a Pod with the following resource configuration: |
yaml resources: limits: cpu: 2 requests: cpu: 1 | yaml resources: limits: cpu: 2 requests: cpu: 1 |
В данном случае, если контейнер будет потреблять, к примеру, 1 CPU целиком и VPA порекомендует данному контейнеру 1,168 CPU, вычисляется ratio между реквестами и лимитами. В данном случае он будет равен 100%. В этом случае при пересоздании пода VPA модифицирует его и проставит такие ресурсы: | If the container consumes, say, 1 CPU and VPA recommendation for this container is 1.168 CPU, the module will calculate the ration between requests and limits. In our case, the ratio equals 100%. Thus, VPA will modify the Pod’s resource configuration when the Pod is recreated: |
yaml resources: limits: cpu: 2336m requests: cpu: 1168m | yaml resources: limits: cpu: 2336m requests: cpu: 1168m |
Пример 2 | Example No. 2 |
У нас есть VPA-объект: | Suppose we have a VPA object: |
yamlapiVersion: autoscaling.k8s.io/v1 kind: VerticalPodAutoscaler metadata: name: test2 spec: targetRef: apiVersion: “apps/v1” kind: Deployment name: test2 updatePolicy: updateMode: “Initial” | yamlapiVersion: autoscaling.k8s.io/v1 kind: VerticalPodAutoscaler metadata: name: test2 spec: targetRef: apiVersion: “apps/v1” kind: Deployment name: test2 updatePolicy: updateMode: “Initial” |
И есть под с такими ресурсами: | Also, there is a Pod with the following resource configuration: |
yaml resources: limits: cpu: 1 requests: cpu: 750m | yaml resources: limits: cpu: 1 requests: cpu: 750m |
В данном случае соотношение реквестов и лимитов будет равным 25%, и если VPA порекомендует для контейнера 1,168 CPU, то VPA изменит ресурсы контейнера таким образом: | In our case, the ratio of requests and limits is 25%, and the resource configuration of the container will be as follows (given that VPA recommends 1.168 CPU): |
yaml resources: limits: cpu: 1557m requests: cpu: 1168m | yaml resources: limits: cpu: 1557m requests: cpu: 1168m |
Если вам необходимо ограничить максимальное количество ресурсов, которое может быть заданно для лимитов контейнера, необходимо использовать в спецификации VPA-объекта | To limit the maximum amount of resources, set the |