Kubernetes 我是否必须使用Linkerd为每个服务定义入口?
查看LinkedIngress文档,它说我需要创建一个带有注释的入口Kubernetes 我是否必须使用Linkerd为每个服务定义入口?,kubernetes,traefik-ingress,linkerd,Kubernetes,Traefik Ingress,Linkerd,查看LinkedIngress文档,它说我需要创建一个带有注释的入口 ingress.kubernetes.io/custom-request-headers: l5d-dst-override:web-svc.emojivoto.svc.cluster.local:80 此注释是特定于单个服务的,这使它听起来好像每个服务都必须有一个新的入口,带有它自己的注释。例如,我不能有如下内容: spec: rules: - host: example.com http:
ingress.kubernetes.io/custom-request-headers: l5d-dst-override:web-svc.emojivoto.svc.cluster.local:80
此注释是特定于单个服务的,这使它听起来好像每个服务都必须有一个新的入口,带有它自己的注释。例如,我不能有如下内容:
spec:
rules:
- host: example.com
http:
paths:
- path: /path-one
backend:
serviceName: service-1
servicePort: 80
- path: /path-two
backend:
serviceName: service-2
servicePort: 80
我可以在一个入口类中定义不同服务的路径
我对这些文件的阅读准确吗?还是我遗漏了什么?我希望避免为我在linkerd中运行的每个服务创建入口。是的,不幸的是,如果您想使用
ingres.kubernetes.io/custom request headers,您对为每个服务创建单独入口的理解是正确的。
是的,如果您有1000个服务,您应该创建1000个入口以使其正常工作
入口1:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: web-ingress
namespace: marcus
annotations:
kubernetes.io/ingress.class: "traefik"
ingress.kubernetes.io/custom-request-headers: l5d-dst-override:service1.marcus.svc.cluster.local:80
spec:
rules:
- host: example.com
http:
paths:
- backend:
serviceName: service1
servicePort: 80
path: /
入口2:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: web-ingress
namespace: marcus
annotations:
kubernetes.io/ingress.class: "traefik"
ingress.kubernetes.io/custom-request-headers: l5d-dst-override:service2.marcus.svc.cluster.local:80
spec:
rules:
- host: example.com
http:
paths:
- backend:
serviceName: service2
servicePort: 80
path: /
Traefik是一个很好的解决方案,在这种情况下,如果它可以选择在头中动态设置服务,那就太好了
在已经开放了一段时间的traefik项目中有一个关于这一点的讨论。最后一个更新是在这些场景中使用每个服务的入口
给你