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

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