Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes 我是否必须使用Linkerd为每个服务定义入口?_Kubernetes_Traefik Ingress_Linkerd - Fatal编程技术网

Kubernetes 我是否必须使用Linkerd为每个服务定义入口?

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:

查看LinkedIngress文档,它说我需要创建一个带有注释的入口

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项目中有一个关于这一点的讨论。最后一个更新是在这些场景中使用每个服务的入口

给你