k8s设置容器环境变量&service服务无法获取到环境变量的解决方法

yaml中如下配置,可以将pod name注入容器中的名为POD_NAME的环境变量中:

      containers:
      - name: iag
        image: xxx.image
        env:
          - name: POD_NAME
            valueFrom:
              fieldRef:
                fieldPath: metadata.name

参考链接:https://kubernetes.io/zh/docs/tasks/inject-data-application/environment-variable-expose-pod-information/

项目容器中的服务均由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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章