Kubernetes 获取所有POD的当前和最新CPU和内存使用情况

Kubernetes 获取所有POD的当前和最新CPU和内存使用情况,kubernetes,redhat,kubernetes-helm,redhat-containers,hawkular,Kubernetes,Redhat,Kubernetes Helm,Redhat Containers,Hawkular,我想知道如何获取所有POD的CPU和内存使用的当前或上次读取度量值 我试着打电话给霍克勒终点站。我点击f12进入浏览器开发者模式,并从pod的metrics页面加载时发出的调用列表中获取该端点 https://metrics.mydev.abccomp.com/hakular/metrics/gauges/myservice%dfjlajdflk-lkejre-12112kljdfkl%2Fcpu%2Fusage_rate/data?bucketDuration=1mn&start=-1

我想知道如何获取所有POD的CPU和内存使用的当前或上次读取度量值

我试着打电话给霍克勒终点站。我点击f12进入浏览器开发者模式,并从pod的metrics页面加载时发出的调用列表中获取该端点

https://metrics.mydev.abccomp.com/hakular/metrics/gauges/myservice%dfjlajdflk-lkejre-12112kljdfkl%2Fcpu%2Fusage_rate/data?bucketDuration=1mn&start=-1mn
然而,这将给我最后一分钟的cpu使用指标,对于那个特定的pod。我正在尝试查看是否有一个命令或方法存在,它只提供所有POD的cpu使用率和内存统计的当前快照,如下所示:

pod        memory usage     memory max       cpu usage         cpu max
pod1       0.4 mb            2.0 mb            20 m cores       25 m cores
pod2       1.5 mb            2.0 mb            25 m cores       25 m cores 

列出所有容器吊舱的资源CPU和内存利用率

kubectl top pods-所有名称空间-容器=true

默认的管理、编辑、查看和群集读取器群集角色支持群集角色聚合,其中每个角色的群集规则在创建新规则时动态更新。只有通过创建自定义资源来扩展Kubernetes API时,此功能才相关


要查看使用最多cpu和内存的pod,您可以使用该命令,但该命令尚未排序,并且还缺少配额限制和每个pod的请求。您只能看到当前的用法

执行以下命令:

$ kubectl top pods --all-namespaces --containers=true
由于这些限制,而且您希望持续收集和存储这些资源使用情况信息,因此使用监视工具非常方便。这允许您实时和历史地分析资源使用情况,还允许您对容量瓶颈发出警报

解决问题的方法服务器错误禁止:未知获取服务http:heapster

确保heapster部署没有忘记为heapster安装服务,否则您将不得不手动安装

例如:


我没有安装kubectl。可以像下面这样做:oc top pods-所有名称空间-containers=trueyea,oc adm top pods-所有名称空间-containers=trueBtw,当您安装oc时,它也会立即安装kubectli installed kubectl。下面是我得到的$kubectl top pods-all namespace-containers=true服务器错误禁止:未知获取服务http:heapster:所以,您需要一个RBAC。似乎您只能访问项目资源,请让您的群集管理员为您提供一个角色群集读取器来访问这些端点,
$ kubectl top pods --all-namespaces --containers=true
$ kubectl create -f /dev/stdin <<SVC
apiVersion: v1
kind: Service
metadata:
  name: heapster
  namespace: kube-system
spec:
  selector:
    whatever-label: is-on-heapster-pods
  ports:
  - name: http
    port: 80
    targetPort: whatever-is-heapster-is-listening-on
SVC