如何在无根网络上 Pods 之间进行通信
How to Communicate Between Pods on a Rootless Network
我正在尝试创建一组 pods 通过 REST 相互通信,但似乎无法在 pods 之间建立 DNS 解析。我查看了 ,但提供的答案似乎不起作用...
has a similar solution, with a caveat that the provided podman run
commands don't even execute/return correctly. It also has a comment with negative upvotes indicating that the solution is to use the dnsname plugin. I looked into the plugin, and it hasn't been updated in ~8 months. Furthermore, this issue 似乎表明在无根操作时不需要插件(由于 infra 容器)。
以下是我用来创建 network/pods 的代码。我也尝试过将 network=test-network
与 运行 命令一起使用,但是当我这样做时 pods 最终处于降级状态(大概是因为基础设施最终处于配置状态但是不是运行宁州)。
podman network create test-network
podman pod create --name test-pod1 --network test-network --share net
podman run \
--pod=test-pod1 -d \
--name=test-container1 \
--network-alias=test-pod1-alias \
--add-host test-container1:127.0.0.1 \
--entrypoint='["/bin/sh","-c", "while true; do echo hello; sleep 10;done"]' \
ubi/ubi8:latest test-container1
podman pod create --name test-pod2 --network test-network --share net
podman run \
--pod=test-pod2 -d \
--name=test-container2 \
--network-alias=test-pod2-alias \
--add-host test-container2:127.0.0.1 \
--entrypoint='["/bin/sh","-c", "while true; do echo hello; sleep 10;done"]' \
ubi/ubi8:latest test-container2
通过使用 dnf install podman-plugins
从 rhel8-appstream
安装 podman-plugins
,我似乎已经成功解决了这个问题。
container-tools 或 containernetworking-plugins 中似乎没有包含 dnsname 插件,但 DNS 实际工作需要它。一旦我安装了 podman-plugins,我就成功地执行了从 test-container1 到 test-pod2 的 ping 调用。但是,我在 test-container1 和 test-container2 或 test-container2-alias 之间仍然没有任何 DNS。
我正在尝试创建一组 pods 通过 REST 相互通信,但似乎无法在 pods 之间建立 DNS 解析。我查看了
podman run
commands don't even execute/return correctly. It also has a comment with negative upvotes indicating that the solution is to use the dnsname plugin. I looked into the plugin, and it hasn't been updated in ~8 months. Furthermore, this issue 似乎表明在无根操作时不需要插件(由于 infra 容器)。
以下是我用来创建 network/pods 的代码。我也尝试过将 network=test-network
与 运行 命令一起使用,但是当我这样做时 pods 最终处于降级状态(大概是因为基础设施最终处于配置状态但是不是运行宁州)。
podman network create test-network
podman pod create --name test-pod1 --network test-network --share net
podman run \
--pod=test-pod1 -d \
--name=test-container1 \
--network-alias=test-pod1-alias \
--add-host test-container1:127.0.0.1 \
--entrypoint='["/bin/sh","-c", "while true; do echo hello; sleep 10;done"]' \
ubi/ubi8:latest test-container1
podman pod create --name test-pod2 --network test-network --share net
podman run \
--pod=test-pod2 -d \
--name=test-container2 \
--network-alias=test-pod2-alias \
--add-host test-container2:127.0.0.1 \
--entrypoint='["/bin/sh","-c", "while true; do echo hello; sleep 10;done"]' \
ubi/ubi8:latest test-container2
通过使用 dnf install podman-plugins
从 rhel8-appstream
安装 podman-plugins
,我似乎已经成功解决了这个问题。
container-tools 或 containernetworking-plugins 中似乎没有包含 dnsname 插件,但 DNS 实际工作需要它。一旦我安装了 podman-plugins,我就成功地执行了从 test-container1 到 test-pod2 的 ping 调用。但是,我在 test-container1 和 test-container2 或 test-container2-alias 之间仍然没有任何 DNS。