Kubernetes 获取所有POD的当前和最新CPU和内存使用情况
我想知道如何获取所有POD的CPU和内存使用的当前或上次读取度量值 我试着打电话给霍克勒终点站。我点击f12进入浏览器开发者模式,并从pod的metrics页面加载时发出的调用列表中获取该端点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
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