13.3. 使用 Downward API 消耗巨页资源
您可以使用 Downward API 注入容器消耗的巨页资源的信息。
您可以将资源分配作为环境变量、卷插件或两者都注入。您在容器中开发和运行的应用可以通过读取指定卷中的环境变量或文件来确定可用的资源。
流程
创建一个类似以下示例的
hugepages-volume-pod.yaml
文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow <.> 指定从
requests.hugepages-1Gi
读取资源使用,并将值公开为REQUESTS_HUGEPAGES_1GI
环境变量。< .> 指定从requests.hugepages-1Gi
读取资源使用,并将值公开为文件/etc/podinfo/hugepages_1G_request
。从
hugepages-volume-pod.yaml
文件创建 pod:oc create -f hugepages-volume-pod.yaml
$ oc create -f hugepages-volume-pod.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
检查
REQUESTS_HUGEPAGES_1GI
环境变量的值:oc exec -it $(oc get pods -l app=hugepages-example -o jsonpath='{.items[0].metadata.name}') \ -- env | grep REQUESTS_HUGEPAGES_1GI
$ oc exec -it $(oc get pods -l app=hugepages-example -o jsonpath='{.items[0].metadata.name}') \ -- env | grep REQUESTS_HUGEPAGES_1GI
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
REQUESTS_HUGEPAGES_1GI=2147483648
REQUESTS_HUGEPAGES_1GI=2147483648
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检查
/etc/podinfo/hugepages_1G_request
文件的值:oc exec -it $(oc get pods -l app=hugepages-example -o jsonpath='{.items[0].metadata.name}') \ -- cat /etc/podinfo/hugepages_1G_request
$ oc exec -it $(oc get pods -l app=hugepages-example -o jsonpath='{.items[0].metadata.name}') \ -- cat /etc/podinfo/hugepages_1G_request
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
2
2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow