【发布时间】:2020-12-28 11:14:38
【问题描述】:
我们正在使用 Python Docker SDK 在 Kubernetes 中创建临时容器。我的问题是这些新容器是否也将与 pod 中的其他容器共享相同的网络?换句话说,这个新创建的临时容器可以访问使用 localhost 创建它的原始容器吗?
【问题讨论】:
我们正在使用 Python Docker SDK 在 Kubernetes 中创建临时容器。我的问题是这些新容器是否也将与 pod 中的其他容器共享相同的网络?换句话说,这个新创建的临时容器可以访问使用 localhost 创建它的原始容器吗?
【问题讨论】:
我的问题是这些新容器是否也将与 pod 中的其他容器共享相同的网络?
是的。虽然是短暂的container networking is not documented per se 的特殊性质。本质上,一个临时容器在 Pod 中运行,well described in the docs Pod 中的容器共享 IP 地址和网络空间。
✌️
【讨论】:
为未来的访问者提供有关容器和 Pod 的更多信息:
我的问题是这些新容器是否也会共享相同的 像 pod 中的其他容器一样联网?
@Rico 说得对 - 是的。基本上,当 Kubernetes 调度 Pod 在节点上运行时,它会在节点的 Linux 内核中为 Pod 创建一个“网络命名空间”。同一个 Pod 中的所有 Container 共享同一个网络命名空间。
换句话说,这个新创建的临时容器是否可以访问 使用 localhost 创建它的原始容器?
我认为你不能这样改写你的第一个问题,它们都是不同的问题。这个问题的答案是否定的——一旦一个容器被销毁,这个容器(或其任何状态)就不能被访问,这就是短暂的全部意义所在。另外,您说的是“创建它的原始容器” - 它不是创建另一个容器的容器,而是当旧容器由于某些原因崩溃时创建新容器的 Kubernetes。
【讨论】: