Kubernetes 中的容器是否可以确定自己的资源利用率和限制?
Can a container in Kubernetes determine its own resource utilization and limits?
我的容器化应用程序如何确定自己当前的资源利用率,以及 Kubernetes 分配的最大限制?是否有 API 从 cAdvisor and/or Kubelet 获取此信息?
例如,我的容器允许使用最多 1 个内核,而它目前正在消耗 800 毫内核。在这种情况下,我想 drop/reject 所有标记为 "low priority" 的传入请求。
-如何从我的容器中查看我的资源利用率和限制?
请注意,这假设自动缩放不可用,例如当集群资源耗尽时,或者我们的应用程序不允许自动缩放(进一步)。
您可以使用 Kubernetes Downward Api 获取限制和请求。语法是:
volumes:
- name: podinfo
downwardAPI:
items:
- path: "cpu_limit"
resourceFieldRef:
containerName: client-container
resource: limits.cpu
divisor: 1m
我的容器化应用程序如何确定自己当前的资源利用率,以及 Kubernetes 分配的最大限制?是否有 API 从 cAdvisor and/or Kubelet 获取此信息?
例如,我的容器允许使用最多 1 个内核,而它目前正在消耗 800 毫内核。在这种情况下,我想 drop/reject 所有标记为 "low priority" 的传入请求。
-如何从我的容器中查看我的资源利用率和限制?
请注意,这假设自动缩放不可用,例如当集群资源耗尽时,或者我们的应用程序不允许自动缩放(进一步)。
您可以使用 Kubernetes Downward Api 获取限制和请求。语法是:
volumes:
- name: podinfo
downwardAPI:
items:
- path: "cpu_limit"
resourceFieldRef:
containerName: client-container
resource: limits.cpu
divisor: 1m