小编UDI*_*SHI的帖子

如何从 pod 内部公开 kubernetes metric server api 以进行curl?

我正在使用指标服务器来获取 Kubernetes 集群的使用情况。但为了从主机外部使用它,我需要使用“kubectl proxy”。但我不想这样做,因为它不打算在后台运行。我希望它作为服务持续运行

我怎样才能实现这些

预期输出 curl clusterip:8001/apis/metrics.k8s.io/v1beta1/nodes

{
  "kind": "NodeMetricsList",
  "apiVersion": "metrics.k8s.io/v1beta1",
  "metadata": {
    "selfLink": "/apis/metrics.k8s.io/v1beta1/nodes"
  },
  "items": [
    {
      "metadata": {
        "name": "manhattan-master",
        "selfLink": "/apis/metrics.k8s.io/v1beta1/nodes/manhattan-master",
        "creationTimestamp": "2019-11-15T04:26:47Z"
      },
      "timestamp": "2019-11-15T04:26:33Z",
      "window": "30s",
      "usage": {
        "cpu": "222998424n",
        "memory": "3580660Ki"
      }
    }
  ]
Run Code Online (Sandbox Code Playgroud)

我尝试使用LoadBalancig 服务 metrics-server-service.yaml

apiVersion: v1
kind: Service
metadata:
  name: metrics-server
  namespace: kube-system
  labels:
    kubernetes.io/name: "Metrics-server"
    kubernetes.io/cluster-service: "true"
spec:
  selector:
    k8s-app: metrics-server
  ports:
  - port: 443
    protocol: TCP
    targetPort: main-port
  externalTrafficPolicy: Local
  type: LoadBalancer
Run Code Online (Sandbox Code Playgroud)

kubectl …

kubernetes kubectl kubernetes-service

5
推荐指数
1
解决办法
6763
查看次数

如何使用指标服务器计算 kubernetes 中特定 pod 的利用率百分比?

我想计算 Kubernetes 中单个 Pod 的 CPU 和内存资源利用率百分比。为此,我使用指标服务器 API

  1. 从指标服务器,我通过此命令获取利用率

kubectl top pods --all-namespaces

kube-system   coredns-5644d7b6d9-9whxx                   2m           6Mi
kube-system   coredns-5644d7b6d9-hzgjc                   2m           7Mi
kube-system   etcd-manhattan-master                      10m          53Mi
kube-system   kube-apiserver-manhattan-master            23m          257Mi
Run Code Online (Sandbox Code Playgroud)

但我想要单个 Pod 的利用率百分比 CPU % 和 MEM%

从 top 命令的输出中,不清楚它消耗了多少 cpu 和内存?

我不想使用 Prometheus 运算符,我看到了一个公式

sum (rate (container_cpu_usage_seconds_total{image!=""}[1m])) by (pod_name)
Run Code Online (Sandbox Code Playgroud)

我可以使用MetricsServer API来计算吗?

我想这样计算

CPU% = ((2+2+10+23)/ CPU 总核数)*100

MEM% = ((6+7+53+257)/可分配内存)* 100

请告诉我我是对还是错。因为我在 Kubernetes 文档中没有看到任何计算 pod 利用率的标准公式

kubernetes kubectl

5
推荐指数
1
解决办法
8737
查看次数

标签 统计

kubectl ×2

kubernetes ×2

kubernetes-service ×1