从Ingress的标签中选择服务/吊舱

时间:2019-05-20 23:32:37

标签: kubernetes kubernetes-ingress kubernetes-pod

是否可以通过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

1 个答案:

答案 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,您可以了解服务如何基于蓝色和绿色标签管理交通路线。