7.4.3. 从 pod 中查找内存请求和限制

希望从 pod 中动态发现内存请求和限制的应用程序应该使用 Downward API。

流程

  1. 配置 pod,以添加 MEMORY_REQUESTMEMORY_LIMIT 小节:

    apiVersion: v1
    kind: Pod
    metadata:
      name: test
    spec:
      containers:
      - name: test
        image: fedora:latest
        command:
        - sleep
        - "3600"
        env:
        - name: MEMORY_REQUEST 1
          valueFrom:
            resourceFieldRef:
              containerName: test
              resource: requests.memory
        - name: MEMORY_LIMIT 2
          valueFrom:
            resourceFieldRef:
              containerName: test
              resource: limits.memory
        resources:
          requests:
            memory: 384Mi
          limits:
            memory: 512Mi
    1
    添加此小节来发现应用程序内存请求值。
    2
    添加此小节来发现应用程序内存限制值。
  2. 创建 pod:

    $ oc create -f <file-name>.yaml
  3. 使用远程 shell 访问 pod:

    $ oc rsh test
  4. 检查是否应用了请求的值:

    $ env | grep MEMORY | sort

    输出示例

    MEMORY_LIMIT=536870912
    MEMORY_REQUEST=402653184

注意

内存限制值也可由 /sys/fs/cgroup/memory/memory.limit_in_bytes 文件从容器内部读取。