Ingress和Ingress Controller之间有什么关联?

3
在Kubernetes中,如果我有以下入口资源,在没有指定特定控制器的情况下,如何知道使用哪种Ingress控制器或哪个Ingress控制器(如果我有多个)?

apiVersion:extensions/v1beta1 kind:Ingress metadata:name: test-ingress spec:rules:

  • http: paths:
    • path:/testpath backend: serviceName:test servicePort:80“

2
它们被“入口类”概念所绑定。每个入口控制器都由其“类”定义,并且每个入口规则可以用相应的ingress.class注释标记。此外,您可以在集群中设置默认的入口类,然后没有类注释的入口规则将假定此默认类。 - Olesya Bolobova
2
入口类别 https://kubernetes.io/docs/concepts/services-networking/ingress/#default-ingress-class - Olesya Bolobova
2
通过注释建立关联 https://kubernetes.io/docs/concepts/services-networking/ingress-controllers/#using-multiple-ingress-controllers - Olesya Bolobova
@OlesyaBolobova你能把这些评论发布为答案吗?这是正确的答案。 - Jakub
1个回答

4
他们被Ingress Class概念所联系。
每个入口控制器都由一些IngressClass定义。
简而言之,IngressClass是一个简单的包装对象,其中包含:
  • 必需的controller字段,它是指向实际入口控制器二进制文件的指针,
  • 可选的parameters字段用于额外的配置。
通常,您会使用随标准控制器一起提供的预定义IngressClasses,但没有什么阻止您定义自己的(虽然在实践中很少需要)。
每个入口规则都可以用相应的ingress.class注释标记。
例如:kubernetes.io/ingress.class: nginx 此外,您可以在集群中设置默认进入类
在这种情况下,没有类注释的进入规则将假定该默认类。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接