我想知道如何获取所有Pod的CPU和内存使用情况的当前值或最后读取的度量值。
我试图称小贩终端。我通过按f12进入浏览器开发人员模式,并从加载Pod的度量标准页面时发出的呼叫列表中提取了此端点。
https://metrics.mydev.abccomp.com/hakular/metrics/gauges/myservice%dfjlajdflk-lkejre-12112kljdfkl%2Fcpu%2Fusage_rate/data?bucketDuration=1mn&start=-1mn
但是,这将为我提供该特定pod在最后一分钟的cpu使用情况指标。我正在尝试查看是否存在命令或方法退出,这些命令或方式仅会给我以下所有集合的CPU使用情况和所有Pod的内存状态的当前快照:
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
答案 0 :(得分:0)
列出所有容器(容器)的资源CPU和内存利用率
kubectl top pods --all-namespaces --containers=true
默认的admin,edit,view和cluster-reader集群角色支持集群角色聚合,其中每个角色的集群规则在创建新规则时动态更新。仅当您通过创建自定义资源扩展Kubernetes API时,此功能才有意义。 Cluster-role-aggregator
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: top-pods-admin
labels:
rbac.authorization.k8s.io/aggregate-to-admin: "true"
rbac.authorization.k8s.io/aggregate-to-edit: "true"
rbac.authorization.k8s.io/aggregate-to-view: "true"
rules:
- apiGroups:
- metrics.k8s.io
resources:
- pods
verbs:
- get
- list
- watch
答案 1 :(得分:0)
要查看使用最多CPU和内存的容器,可以使用kubectl top命令,但该命令尚未排序,并且缺少配额限制和每个容器的请求。您只会看到当前的用法。
执行以下命令:
$ kubectl top pods --all-namespaces --containers=true
由于这些限制,而且由于您希望持续收集和存储此资源使用情况信息,因此可以使用监视工具。这样,您可以实时和历史地分析资源使用情况,还可以提醒您容量瓶颈。
要解决问题“服务器错误(禁止):未知(获取服务http:heapster”)
请确保不要将heapster部署忘记忘记安装Service for Stackster,否则您将必须手动进行安装。
例如:
$ 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