首页 > 解决方案 > Kubernetes - 将多个镜像部署到一个 Pod 中

问题描述

我遇到了一个问题,因为应用程序最初配置为在 docker-compose 上执行。我设法将 .yaml 部署文件移植并重写到 Kubernetes,但是问题在于 pod 的通信。

前端与后端通信以访问服务,我假设它应该在同一个网络中,前端从本地主机调用服务。我无权访问代码,因为它是由公司开发的专有应用程序,并且不支持 Kubernetes,因此修改代码是不可能的。

我相信主要原因是因为前端和后端运行在不同的 Pod 上,具有不同的 IP。

当前端尝试调用 API 时,找不到服务,并返回错误。因此,我尝试将前端映像和后端映像部署到同一个 pod 中,以便它们共享同一个集群 IP。

不幸的是,我不知道如何制作一个 yaml 文件来在一个 pod 中创建两个容器。

是否可以在同一个 pod 上同时运行前端和后端容器,或者是否有另一种方式使容器进行通信(可能是代理)?

标签: dockerkubernetes

解决方案


是的,您只需将条目添加到containersyaml 文件中的部分,例如:

apiVersion: v1
kind: Pod
metadata:
name: two-containers
spec:
    restartPolicy: Never
containers:
    - name: nginx-container
      image: nginx
    - name: debian-container
      image: debian

推荐阅读