带多个容器的Kubernetes烧瓶应用程序

时间:2019-10-24 16:56:10

标签: kubernetes kubernetes-pod

我有一个带有1个Pod和3个容器的kubernetes集群。一个容器是flask应用程序,它根据请求将适当的请求重定向到其他两个容器之一。

问题是我的烧瓶应用程序只能访问一个容器。以下是我的部署文件:

apiVersion: v1
kind: Service
metadata:
  name: flask-service
  labels:
    run: flask-service
spec:
  selector:
    app: flask
  ports:
  - protocol: "TCP"
    port: 5000
    targetPort: 5000
  type: LoadBalancer
---  
apiVersion: apps/v1
kind: Deployment
metadata:
  name: flask
spec:
  selector:
    matchLabels:
      app: flask  
  replicas: 1
  template:
    metadata:
      labels:
        app: flask
    spec:
      containers:
      - name: flask
        image: gcr.io/translatefx/flask
        ports:
        - containerPort: 5000
      - name: tagatag-container
        image: gcr.io/XXX/tagatag
        ports:
        - containerPort: 8501
      - name: defined-terms-container
        image: gcr.io/XXX/defined_terms
        ports:
        - containerPort: 8501

如果我的部署同时包含两个容器(如下所示),则只能使用一个。

      - name: tagatag-container
        image: gcr.io/XXX/tagatag
        ports:
        - containerPort: 8501
      - name: defined-terms-container
        image: gcr.io/XXX/defined_terms
        ports:
        - containerPort: 8501

我可能做错了什么?

1 个答案:

答案 0 :(得分:1)

如果您只想在一个Pod中运行多容器。

您应该在Pod中运行多个容器以侦听不同的端口

        image: gcr.io/XXX/tagatag
        ports:
        - containerPort: 8501
      - name: defined-terms-container
        image: gcr.io/XXX/defined_terms
        ports:
        - containerPort: 8502