Kubernetes - 在一个 Pod 中创建两个容器

Urm*_*Lmn 3 deployment docker kubernetes

我正在开发一个包含两个容器的应用程序。我想将它们在 Kubernetes 中部署到一个 Pod 中,因为我希望这两个服务位于一个 IP 地址之后。但是,我很难尝试将 kubernetes 服务与容器连接起来。我怎么能写一个deployment.yml文件,这样当用户调用 a 时x.x.x.x:port1,请求被转发到第一个容器,当x.x.x.x:port2被调用时,请求被转发到第二个容器。我如何指定服务?

这是我到目前为止所拥有的:

apiVersion:v1
kind: Pod
metadata:
  name: my_app
spec:
  containers:
  - name: first_container
    image: first_image

  - name: second_container
    image: second_image
---
apiVersion: v1
kind: Service
...
Run Code Online (Sandbox Code Playgroud)

先感谢您!

Rya*_*son 6

在您的容器部分,您需要为每个容器定义一个容器端口:

  containers:
  - name: first_container
    image: first_image
    ports:
    - containerPort: port1
  - name: second_container
    image: second_image
    ports:
    - containerPort: port2
Run Code Online (Sandbox Code Playgroud)

然后在服务定义的端口部分,您需要将服务的 targetPorts 指向这些端口,如/sf/answers/2959078321/

  • 根据此处针对容器端口的 K8S 文档 - https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#container-v1-core - `在此处公开端口可为系统提供附加信息关于容器使用的网络连接,但主要是提供信息。在此处不指定端口不会阻止该端口被公开。任何侦听容器内默认“0.0.0.0”地址的端口都可以从网络访问。` (3认同)

归档时间:

查看次数:

2936 次

最近记录:

7 年,1 月 前