Kubernetes为每个容器分配一个IP地址,但是如何从Pod中的容器获取IP地址呢?我从文档中找不到方法。
编辑:我将在 Kubernetes 中运行 Aerospike 集群。并且配置文件需要有自己的IP地址。我正在尝试使用 confd 来设置主机名。如果设置了环境变量,我将使用它。
最佳答案
最简单的答案是确保您的 pod 或复制 Controller yaml/json 文件通过添加下面定义的配置 block 将 pod IP 添加为环境变量。 (下面的 block 还使名称和命名空间可供 pod 使用)
env:
- name: MY_POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: MY_POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: MY_POD_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
重新创建 pod/rc,然后尝试
echo $MY_POD_IP
还可以运行 env
来查看 kubernetes 还为您提供了什么。
关于kubernetes - 如何从 Pod 中的容器内部获知 Pod 自己的 IP 地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30746888/