容器环境变量

本文介绍容器环境中对容器可用的资源。

容器环境

Kubernetes 容器环境为容器提供了几类重要的资源:

  • 一个文件系统,其中包含一个镜像和一个或多个
  • 容器本身相关的信息。
  • 集群中其他对象相关的信息。

容器信息

容器的 hostname 是容器所在的 Pod 名称。 可以通过 hostname 命令或调用 libc 中的 gethostname 函数来获取。

Pod 名称和名字空间可以通过 downward API 以环境变量方式访问。

与 Docker 镜像中静态指定的环境变量一样,Pod 中用户定义的环境变量也可用于容器。

集群信息

容器创建时运行的所有服务的列表都会作为环境变量提供给容器。 这些环境变量与 Docker 链接语法相匹配。

对一个名为 foo ,映射到名为 bar 的容器端口的服务, 会定义如下变量:

  1. FOO_SERVICE_HOST=<服务所在的主机地址>
  2. FOO_SERVICE_PORT=<服务所启用的端口>

服务具有专用 IP 地址,如果启用了 DNS 插件,还可以在容器中通过 DNS 进行访问。

接下来