Kubernetes入口条件路由

时间:2018-12-07 17:20:54

标签: kubernetes kubernetes-ingress

是否可以在Kubernetes中配置一个入口控制器,以仅在传入请求的标头具有特定值时才将HTTP请求路由到服务?

示例

带有以下标头的HTTP请求

X-MY-CUSTOM-HEADER: accepted-value

应转发给service1

带有以下标头的HTTP请求

X-MY-CUSTOM-HEADER: invalid-value

应被阻止

如果可能的话,您能详细介绍一下还是指向一些文档,因为我找不到此类用例的文档?

2 个答案:

答案 0 :(得分:2)

如果您使用的是Nginx入口控制器,则可以使用Configuration snippet注释。然后,您可以添加如下内容:

nginx.ingress.kubernetes.io/configuration-snippet: |
  map $http_x_custom_header $not_ok {
      default "1";
      Value1  "0";
      Value2  "0";
      Value3  "0";
  }

  if ($not_ok) {
      return 403; 
  }

更多信息here

答案 1 :(得分:0)

Traefik 2.0,Istio和Ambassador支持基于Header的路由。

来自https://discuss.kubernetes.io/t/header-based-ingress-routing/6322

的更多信息