在Kubernetes集群中,可以从其他容器内部获取容器/容器IP地址

时间:2019-03-12 14:44:51

标签: kubernetes

是否可以确定邻居容器或Pod IP地址,例如给定名字?更具体地说,如果我有两个正在运行的容器/容器C1(ip = 1.2.3.4)和C2(ip = 5.6.7.8),则执行:

  ME$ kubectl exec -it C1 bash
  C1$ magic_command_to_get_ip C2
  5.6.7.8

是否有magic_command_to_get_ip?

我是Kubernetes的新手,我曾经使用getent hosts tasks.$SERVICE将名称解析为Docker中的地址,但显然它不适用于KB。

2 个答案:

答案 0 :(得分:1)

每个吊舱都已安装了一个服务帐户。

您可以使用

进行检查
kubectl decsribe pod pod_name

输出:

Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from xxxxx-token-xxx (ro)

如果您的服务帐户有权执行该命令,则Raunak建议的命令应该可以使用。

请确保您使用的服务帐户具有运行该命令的权限。

注释(禁止)中所述的错误:禁止“ cassandra-0”窗格:用户“ system:serviceaccount:default:default”

有关服务帐户docs

的更多信息

答案 1 :(得分:0)

该线程的可能重复项-How to know a Pod's own IP address from inside a container in the Pod?

虽然您可以使用delete from my_table where date < '2018-12-12' ,其中bash_variable可以是集群中所有可用pod的枚举。