我正在开发一个包含两个容器的应用程序。我希望将它们在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
...
提前谢谢!
答案 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
中的那些端口