默认情况下,在kubernetes中创建了哪些环境变量

时间:2017-08-18 14:33:51

标签: environment-variables containers kubernetes

我无法在k8s文档中找到这个,我只是想知道k8s在每个容器中创建的默认环境变量是什么。不是用户创建的默认值,但是像(这只是一个例子)可能像{service_name}_PORT之类的东西。我只想知道默认情况下容器中可用的信息。

1 个答案:

答案 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/