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

时间:2018-10-08 14:53:55

标签: docker deployment kubernetes

我正在开发一个包含两个容器的应用程序。我希望将它们在Kubernetes中部署到一个Pod中,因为我希望这两项服务都位于一个IP地址后面。但是,我很难尝试将kubernetes服务与容器连接。如何编写deployment.yml文件,以便当用户调用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
...

提前谢谢!

1 个答案:

答案 0 :(得分:3)

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

AggregationOperation match = Aggregation.match(Criteria.where("key.carrier").is(carrierId));
AggregationOperation group = Aggregation.group("status").count().as("count");
AggregationOperation project = Aggregation.project("count").andExclude("_id").andInclude(Fields.from(Fields.field("status", "_id")));


Aggregation agg = Aggregation.newAggregation(match,group,project);

List<YourPojo> results = mongoTemplate.aggregate(agg, colname, YourPojo.class).getMappedResult();

然后在服务定义的端口部分中,将服务的targetPorts指向https://stackoverflow.com/a/42272547/9705485

中的那些端口