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

标签 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。

最佳答案

每个Pod都装有一个服务帐户。

你可以用

kubectl decsribe pod pod_name

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

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

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

注释(禁止)中指出的错误:禁止pods“cassandra-0”:用户“system:serviceaccount:default:default”是的原因。

有关服务帐户docs的更多信息

关于kubernetes - 在Kubernetes集群中,可以从其他容器内部获取容器/容器IP地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55124269/

相关文章:

azure - 创建集群后将 RBAC 添加到 Azure Kubernetes (AKS)

kubernetes - 无法在Kubernetes上安装gitlab

azure - API 的部署和故障排除

apache-spark - 本地提交 Spark 作业(2.3)到 Kubernetes 时如何使用本地 Docker 镜像?

ssl - ssl-passthrough 是在主机级别配置的,kubernetes ingress

java - 通过Java获取特定Kubernetes服务的节点IP

kubernetes - 如何运行 Kubernetes pod,其唯一目的是对其运行 exec?

kubernetes - "kubectl apply"的反面是什么?

kubernetes - 在GCP上更新K8之后,丢失外部IP

kubernetes - 如何使用带有 helm 或其他工具的参数化模板生成 OpenShift/Kubernetes 对象定义?