kubernetes 默认创建了哪些环境变量

Lui*_*dez 8 containers environment-variables kubernetes

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

ajt*_*rds 10

来自 K8S 文档;

容器信息 - ENV

Container 的主机名是运行 Container 的 Pod 的名称。它可以通过主机名命令或 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=/
Run Code Online (Sandbox Code Playgroud)

来自 Pod 定义的用户定义的环境变量也可用于容器,就像在 Docker 镜像中静态指定的任何环境变量一样。

集群信息 - ENV

创建容器时正在运行的所有服务的列表可作为该容器作​​为环境变量使用。这些环境变量与 Docker 链接的语法相匹配。

对于foo映射到名为的容器端口的名为 的服务bar,定义了以下变量:

FOO_SERVICE_HOST=<the host the service is running on>
FOO_SERVICE_PORT=<the port the service is running on>
Run Code Online (Sandbox Code Playgroud)

参考:https : //kubernetes.io/docs/concepts/containers/container-environment/

  • 您还应该考虑 [discovering-services](https://kubernetes.io/docs/concepts/services-networking/service/#discovering-services) 上的这些变量,因为这些变量是为 `enableServiceLinks` 注入的(默认值为 true ) (2认同)