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