os.Getenv(“ENV”)没值,可能是环境变量没有配置

通过下面的方式进行配置

lizhen@C02G73ZGMD6M ~ % vim ~/.bash_profile 

在 bash_profile文件里加上 export ENV= test,然后用下面的命令使其生效

lizhen@C02G73ZGMD6M ~ % source ~/.bash_profile

这时候 echo $ENV有值了。
然后重启IDE, 不重启os.Getenv(“ENV”)是拿不到值的。

pod里 echo $ENV有值,但是找了所有的配置文件都没值,怎么回事?

ubuntu环境变量的所有配置文件位置: ~/.bashsrc, ~/.profile, /etc/profile, /etc/bashsrc
都没有的话,可能是k8s导致的。
原因可能有以下几种:

  • $ENV是一个环境变量,它可能是在pod的定义中通过env或envFrom设置的,而不是在配置文件中。你可以使用kubectl describe pod 来查看pod的环境变量。
  • $ENV是一个动态变量,它可能是在pod启动时或运行时由其他程序或命令设置的,而不是在配置文件中。你可以使用kubectl exec pod – env | grep ENV来查看pod内部的环境变量。
  • $ENV是一个本地变量,它可能是在你的本地shell中定义的,而不是在pod中。当你使用kubectl exec pod – echo E N V 时, ENV时, ENV时,ENV会被你的本地shell展开,而不是pod内部的shell。
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐