我无法在k8s文档中找到这个,我只是想知道k8s在每个容器中创建的默认环境变量是什么。不是用户创建的默认值,但是像(这只是一个例子)可能像{service_name}_PORT
之类的东西。我只想知道默认情况下容器中可用的信息。
答案 0 :(得分:3)
来自K8S文档;
容器信息 - ENV
Container的主机名是运行Container的Pod的名称。它可以通过hostname命令或libc中的gethostname函数调用获得。
Pod名称和命名空间可用作环境变量。
这些是我运行的MiniKube群集中的附加ENV:
HOSTNAME=something-api-234234234-skm70
SHLVL=1
HOME=/root
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
KUBERNETES_SERVICE_PORT_HTTPS=443
KUBERNETES_SERVICE_HOST=x.x.x.x
PWD=/
Pod定义中的用户定义环境变量也可用于Container,Docker镜像中静态指定的任何环境变量也是如此。
群集信息 - ENV
创建Container时运行的所有服务的列表可作为环境变量提供给该Container。这些环境变量与Docker链接的语法相匹配。
对于名为foo
的服务,该服务映射到名为bar
的容器端口,定义了以下变量:
FOO_SERVICE_HOST=<the host the service is running on>
FOO_SERVICE_PORT=<the port the service is running on>
参考:https://kubernetes.io/docs/concepts/containers/container-environment-variables/