【问题标题】:Kubernetes -> Memory consumption per namespaceKubernetes -> 每个命名空间的内存消耗
【发布时间】:2020-02-11 14:36:19
【问题描述】:

有没有办法在 Kubernetes 上获取每个命名空间的内存消耗?

【问题讨论】:

标签: kubernetes kubectl


【解决方案1】:

在高层次上,我们可以从 kubectl 获得这个

$ kubectl describe resourcequota -n my-namespace

Name:            compute-resources
Namespace:       default
Resource         Used    Hard
--------         ----    ----
limits.cpu       12      48
limits.memory    1024M   120Gi
requests.cpu     250m    24
requests.memory  512M    60Gi

注意:仅当您创建资源配额时才有效。

【讨论】:

    【解决方案2】:

    可以像这样创建资源配额对象:

    apiVersion: v1
    kind: ResourceQuota
    metadata:
      name: mem-cpu-demo
    spec:
      hard:
        requests.cpu: "1"
        requests.memory: 1Gi
        limits.cpu: "2"
        limits.memory: 2Gi
    

    但是,为了检查 pod 消耗,有一些先决条件:

    1. 每个Container都必须有内存请求、内存限制、cpu 请求和 CPU 限制。
    2. 所有容器的内存请求总量不得超过 1 GiB。
    3. 所有容器的总内存限制不得超过 2 GiB。
    4. 所有容器的 CPU 请求总数不得超过 1 个 cpu。
    5. 所有容器的 CPU 限制总数不得超过 2 cpu。

    Pod 示例模板

    apiVersion: v1
    kind: Pod
    metadata:
      name: quota-mem-cpu-demo
    spec:
      containers:
      - name: quota-mem-cpu-demo-ctr
        image: nginx
        resources:
          limits:
            memory: "800Mi"
            cpu: "800m" 
          requests:
            memory: "600Mi"
            cpu: "400m"
    

    要检查资源消耗,请使用以下命令:

    kubectl --context <cluster_context> describe resourcequota -n my-namespace
    

    来源: https://kubernetes.io/docs/tasks/administer-cluster/manage-resources/quota-memory-cpu-namespace/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-12
      • 2017-02-16
      相关资源
      最近更新 更多