在容器内获取 Pod 信息
容器 获取 信息 Pod
2023-06-13 09:11:15 时间
文章目录
可供使用的 Pod 信息
1)可供 feildRef 设置的元数据如下:
metadate.name # Pod 名称
metadate.namespace # Pod 所在的命名空间
metadate.uid # Pod 的 UID
metadate.labels # Pod 的 label
metadate.labels['key'] # Pod 的某个 Label
metadate.annotations # Pod 的 annotation
metadate.annotations['key'] # Pod 的某个 annotation
2)可以通过 resourceFieldRef 设置的数据如下:
Container 级别的 CPU Limit
Container 级别的 CPU Request
Container 级别的 Memory Limit
Container 级别的 Memory Request
Container 级别的 临时存储空间 Limit
Container 级别的 临时存储空间 Request
3)可供 feildRef 设置的其他数据如下:
status.podIP
spec.serviceAccountName # Pod 使用的 ServiceAccount 名称
spec.nodeName # Pod 所在的 Node 的名称
status.hostIP # Pod 所在的 Node 的 IP 地址
环境变量方式
将 pod 信息设置为容器内的环境变量
apiVersion: v1
kind: pod
metadate:
name: depi-envvars-fieldref
spec:
containers:
- name: test-container
image: busybox
command: [ "sh", "-c" ]
args:
- while true; do
echo -en '\n';
printenv MY_NODE_NAME MY_POD_NAME MY_POD_IP;
sleep 10;
done;
env:
- name: MY_NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
- name: MY_POD_NAME
valueFrom:
fieldRef:
fieldPath: metadate.name
- name: MY_POD_IP
valueFrom:
feildRef:
fieldPath: status.podIP
restartPolicy: Never
注意:env 不直接设置 value,而是使用 valueFrom 对 Pod 的元数据进行引用
将 Container 信息设置为容器内环境变量
apiVersion: v1
kind: pod
metadate:
name: depi-envvars-resourcefieldref
spec:
containers:
- name: test-container
image: busybox
command: [ "sh", "-c" ]
args:
- while true; do
echo -en '\n';
printenv MY_CPU_REQUEST MY_MEMORY_LIMIT;
sleep 10;
done;
resources:
requests:
memory: "1Gi"
cpu: "250m"
limits:
memory: "2Gi"
cpu: "500mi"
env:
- name: MY_CPU_REQUEST
valueFrom:
resourceFieldRef:
containerName: test-container
resource: requests.cpu
- name: MY_MEMORY_LIMIT
valueFrom:
resourceFieldRef:
containerName: test-container
resource: limits.memory
restartPolicy: Never
相关文章
- C++STL容器string
- 定时备份Docker容器内MySQL数据库 备份报错the input device is not a TTY
- 多云容器编排 Karmada-Operator 实践
- set/map/multiset/multimap-C++容器
- 部署kubernetes-v1.25.3(k8s)- 基于containerd容器运行时
- Docker设置容器开机自启
- 小程序容器与前端中间件的关系
- 容器开启特权模式后无法通过cadvisor获取GPU metrics指标
- 小程序容器,推动国产操作系统技术创新
- 获取Spring容器Bean对象工具类详解编程语言
- C++容器(STL容器)
- 部署基于K8s的Oracle容器云(k8s 安装oracle)
- 如何正确测试Redis容器性能(如何测试redis容器)
- javascript客户端遍历控件与获取父容器对象示例代码
- Jquery获取元素的父容器对象示例代码