yaml中如下配置,可以将pod name注入容器中的名为POD_NAME的环境变量中:
containers:
- name: iag
image: xxx.image
env:
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
项目容器中的服务均由systemctl 拉起,在服务调用的脚本中,无法环境到全局变量,因此上面注入到容器中的POD_NAME无法拿到,有如下两种方法可以解决该问题:
1、服务调用的脚本获取变量改env为cat /proc/1/environ | tr '\0' '\n' > /home/22,从文件中获取
2、设置在systemctl调用的service文件中设置Environment,参考链接:https://blog.csdn.net/tmaccs/article/details/105636028