gpt4 book ai didi

kubernetes - 使用Traefik在Kubernetes Ingress上为每个规则添加自定义 header

转载 作者:行者123 更新时间:2023-12-02 11:58:36 30 4
gpt4 key购买 nike

我将使用kubernetes作为我的Ingress Controller移至traefik

我有一个后端,可以响应3000多个网站。根据主机的不同,我需要在将请求传递给后端之前将自定义 header 添加到请求。

我可以使用ingress.kubernetes.io/custom-request-headers批注为请求添加自定义 header ,但这是整个Ingress的批注,因此我需要创建3000多个Ingress,每个网站一个。

还有另一种方法吗?创建3000个以上的Ingress与创建具有3000多个规则的一个Ingress是一回事吗?

最佳答案

是的,如果您要为每个主机创建不同的 header ,则需要为每个主机创建一个Ingress对象。

您可以通过Traefik做到:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: traeffic-custom-request-header
annotations:
ingress.kubernetes.io/custom-request-headers: "mycustomheader: myheadervalue"
spec:
rules:
- host: custom.configuration.com
http:
paths:
- backend:
serviceName: http-svc
servicePort: 80
path: /

同样,您可以通过 Nginx入口 Controller 执行相同的操作。

它支持 configuration snipperHere是使用它为每个Ingress对象设置自定义 header 的示例:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: nginx-configuration-snippet
annotations:
nginx.ingress.kubernetes.io/configuration-snippet: |
more_set_headers "Request-Id: $request_id";
spec:
rules:
- host: custom.configuration.com
http:
paths:
- backend:
serviceName: http-svc
servicePort: 80
path: /

顺便说一句,您可以在集群上使用多个不同的入口 Controller ,因此它不需要将所有内容都迁移到仅一种入口类型。

关于kubernetes - 使用Traefik在Kubernetes Ingress上为每个规则添加自定义 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49365392/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com