是否可以通过Ingress的标签选择服务/舱位(以将流量定向到)?
假设我有2个具有不同标签的类似pod /服务,但我只想将流量引导至其中一个
我正在寻找类似的东西:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: Ingress-name
labels:
owner: me
selector:
matchLabels:
podlabel: pod-label
spec:
rules:
- host: ${INGRESS_HOST}
http:
paths:
- path: /api
backend:
serviceName: <something>
servicePort: <something>
我应该如何支持这一部分:
selector:
matchLabels:
podlabel: pod-label
答案 0 :(得分:1)
如果要从入口选择服务名称,则可以使用
apiVersion: extensions/v1beta1
kind: Ingress
spec:
rules:
- host: ${INGRESS_HOST}
http:
paths:
- path: /api
backend:
serviceName: <service name>
servicePort: <service name>
如果您要管理流量以重定向到特定的Pod,则可以在服务层实现此目的。
如果您要进行蓝/绿部署等,则只能管理流量并将其从服务转移到特定的容器。
因此,入口将指向同一服务,但服务将更改容器的指向。
检查此蓝绿色部署:https://www.ianlewis.org/en/bluegreen-deployments-kubernetes,您可以了解服务如何基于蓝色和绿色标签管理交通路线。