docker - Kubernetes - 将多个镜像部署到一个 Pod 中
问题描述
我遇到了一个问题,因为应用程序最初配置为在 docker-compose 上执行。我设法将 .yaml 部署文件移植并重写到 Kubernetes,但是问题在于 pod 的通信。
前端与后端通信以访问服务,我假设它应该在同一个网络中,前端从本地主机调用服务。我无权访问代码,因为它是由公司开发的专有应用程序,并且不支持 Kubernetes,因此修改代码是不可能的。
我相信主要原因是因为前端和后端运行在不同的 Pod 上,具有不同的 IP。
当前端尝试调用 API 时,找不到服务,并返回错误。因此,我尝试将前端映像和后端映像部署到同一个 pod 中,以便它们共享同一个集群 IP。
不幸的是,我不知道如何制作一个 yaml 文件来在一个 pod 中创建两个容器。
是否可以在同一个 pod 上同时运行前端和后端容器,或者是否有另一种方式使容器进行通信(可能是代理)?
解决方案
是的,您只需将条目添加到containers
yaml 文件中的部分,例如:
apiVersion: v1
kind: Pod
metadata:
name: two-containers
spec:
restartPolicy: Never
containers:
- name: nginx-container
image: nginx
- name: debian-container
image: debian
推荐阅读
- django - django.db.utils.IntegrityError:关系“movie_movie”的“author_id”列中的空值违反非空约束不知道为什么会发生这种情况
- express - 如何使用 require.js 定义一个类似 vue 组件的模板并连接数据
- php - 在 PHP 中使用数组
- python - 给定一个列表,我如何构造一个新列表,使得新列表的每个元素都是旧列表中每两个数字的总和?
- python - fastapi 和 jinja 加载一个 html
- javascript - 在 jquery 中使用 onclick 的动画在我的浏览器中不起作用
- python - 如何在 Mac 终端上安装 catboost-0.14.2-cp36-none-manylinux1_x86_64.whl 轮文件?
- c - 如何用c减少paho mqtt回调函数中else if的数量?
- c++ - 它是如何工作的
- docker - 气流网络服务器在 docker-compose 中找不到调度程序