使用 Podman 通信不同的 pod

2024-01-02

我正在使用 podman-compose 部署多个 Pod。为此,每个 pod 在 podman-compose.yaml 文件中都有自己的定义,我以无根模式执行该文件(因此 Pod 中的所有容器共存于同一主机/IP 中)。但是,我希望 Pod 中的容器能够访问另一个 Pod 中的容器公开的服务。

我知道 Kubernetes 有一个 Service 对象,可以让 Pod 之间进行通信。但我不想用K8S...

所以我的问题是:是否有任何“等效”或解决方法可以用来在 Pod 之间实现此类通信?不仅在 Podman 生态系统中,而且在 Linux 生态系统中也是如此。

理想情况下,我想使用 DNS 来让容器解析其他 pod 中其他容器的 IP。我应该使用我的机器(所有 Pod 都在其中运行)DNS 来代理 Pod 之间的请求吗?更重要的是,这是一个好的做法吗?

抱歉,如果答案很明显,我是 IT 世界的新手。

不管怎样,先谢谢大家了!


创建一个网络并让所有 Pod 在启动时使用该网络。然后,如果您使用 --name 来命名 pod,则可以使用该名称作为其他人的 DNS 条目。

Eg

podman network create $NETWORK_NAME

podman pod create --name $POD1 --network $NETWORK_NAME

podman pod create --name $POD2 --network $NETWORK_NAME

podman run -it --detach --pod $POD1 --name $CONTAINER1 --network $NETWORK_NAME image_name

podman run -it --detach --pod $POD2 --name $CONTAINER2 --network $NETWORK_NAME image_name

现在如果你从 CONTAINER2 进行冰壶运动,你可以使用 curl http://$POD1 它将解析为该 POD 的 IP(创建的网络上的私有 IP)。

如果您不想使用 pod,只需删除 podman run 的所有 pod create 和 --pod 标志,然后使用 $CONTAINER1 或 $CONTAINER2 与同一网络中的其他容器进行通信。

这样,您不需要公开大量端口,并且可以让容器与主机通信并返回到公开的端口。只需通过 pod/容器名称引用它们即可。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Podman 通信不同的 pod 的相关文章

随机推荐

  • 如何使用带有按钮的角度材质选择(没有表单字段)

    我想使用有角的材料mat select组件没有mat form field 我希望它在概念上类似于本机选择元素 有办法实现吗 一个简单的方法是使用mat menu并在单击按钮时更新触发器 使用 mat menu 组件的演示 https st
  • vb6: 当尝试在另一个项目中使用时,错误控件 xxx 的类 xxx 不是加载的控件类

    在一个 vb6 项目中 我创建了一个用户控件并放入了一个表单 当我尝试在另一个项目中使用该表单 与我的控件一起 时 IDE 给出错误 控件 xxx 的类 xxx 不是加载的控件类 我在网络上进行了研究 但没有找到解决方案 谢谢 首先 您需要
  • 使用 PHP 进行视频编辑

    是否可以使用 PHP 将声音录制到上传的视频上 你可以使用 MLT 库和我的课程 您可以从此链接下载https github com 1fer mlt https github com 1fer mlt Features 剪切和合并视频 通
  • AVQueuePlayer 的预缓冲

    有谁知道如果AVQueuePlayer开始缓冲下一个AVPlayerItem当前项目何时即将结束播放 我知道文档中没有任何内容表明这一点 我主要是问是否有人观察到这种行为 好的 我再次查看了这个问题并编写了一些代码来检查AVQueuePla
  • FFmpeg 和黑白转换 [关闭]

    Closed 这个问题是与编程或软件开发无关 help closed questions 目前不接受答案 如何使用将视频转换为黑白ffmpeg 去饱和 Use the 色调滤镜 https ffmpeg org ffmpeg filters
  • 如何在 Spring Web 应用程序中实现文件夹上传?

    我想在我的网络应用程序中实现类似于 Google Drive 风格的文件 目录上传 我认为这是解释我想要的最好的例子 所以我想上传 单个文件 多个选定的文件 选定的文件夹 其中包含的所有文件 在客户端我想我必须使用 HTML5 我错了吗 但
  • jQuery DateTimePicker 在输入模糊时减去一小时

    我有一个奇怪的恼人的问题 This jQuery 日期时间选择器 https xdsoft net jqplugins datetimepicker 输入减去 1 小时blur 仔细看 选择日期 然后选择时间 在您将焦点移出输入字段之前 它
  • DropDownListFor 从模型中默认选择的项目

    我有一个绑定到模型成员的 DropDownListFor 以及可供选择的项目列表 与该成员的绑定有效 但我似乎无法弄清楚如何在页面加载时显示模型的当前值 View Html DropDownListFor model gt model Me
  • 如何消除同名类型和模块的歧义?

    我正在尝试使用 K roly L rentey 的基于B树OrderedSet https github com lorentey BTree在一个项目中 但是 我遇到了一个问题 我无法声明不合格OrderedSet
  • Angular DI:将价值代币注入工厂提供者

    是否可以将 InjectionToken 注入工厂提供程序 目前 我已经编码 export const HOST TOKEN new InjectionToken
  • 为什么 PyTorch 模型在模型内部采用多个图像尺寸?

    我在 PyTorch 中使用简单的对象检测模型 并使用 Pytorch 模型进行推理 当我在代码上使用简单的迭代器时 for k image path in enumerate image list image imgproc loadIm
  • alsa_aplay 不在 Android 上录制

    我刚刚开始研究 android 我试图了解 android 音频子系统 alsa 是如何工作的 我正在 windows 7 64 位 上运行的虚拟盒中运行 android 映像 我正在摆弄 alsa utils 来录制声音 我试过alsa
  • 如何在 Go 模板中修剪空行?

    go版本go1 16 3 windows amd64 我使用 template html 包 如果我在 html 中设置一个变量 Example range kk vv Users if eq vv Id performedBy pSurn
  • Node.js 标准输出刷新

    也许我在复制this https stackoverflow com questions 6471004 how can i write blocking in stdout with node js问题 但提供的答案可能指的是旧版本的节点
  • 向多个收件人发送电子邮件

    我已将一些旧代码从旧的 unix 盒子移至新的 unix 盒子 并且我在使用 perl 脚本向多个收件人发送电子邮件时遇到了一些困难 它适用于旧盒子 旧盒子 perl 为 PA RISC2 0 构建的版本 5 004 04 新框 perl
  • 如何使用 Python 显示 OSM 图块?

    我正在使用generate tiles py 生成图块 我想编写一个Python 应用程序来显示它们 而不是使用Web 界面 是否已经存在类似的东西 或者是否有关于如何自己编写此类应用程序的信息 您可以使用 Tilemill 或 QGIS
  • 图像字段不会显示在活动管理表单中

    gem formtastic gt 2 1 1 gem activeadmin gt 0 4 2 宝石 回形针 照片字段不会显示在活动管理表单 app views admin products form html erb 中 但是 app
  • 声明数组的不同语法:带和不带维度声明[重复]

    这个问题在这里已经有答案了 我在用着gfortran版本 7 2 0 我对 Fortran 很陌生 我知道 Fortran 有不同的版本 在下面的代码中 我使用不同的语法声明数组 或实际上是张量 program arrays implici
  • cmake 非常令人沮丧的问题

    我在 Windows 上使用 cmake 时遇到了令人沮丧的问题 我已经安装了 kde 库 当我尝试使用 cmake 编译我的项目时 这一次又一次地爆发 Found Qt Version 4 7 0 using C Qt 2010 05 q
  • 使用 Podman 通信不同的 pod

    我正在使用 podman compose 部署多个 Pod 为此 每个 pod 在 podman compose yaml 文件中都有自己的定义 我以无根模式执行该文件 因此 Pod 中的所有容器共存于同一主机 IP 中 但是 我希望 Po