• 注册
    • 查看作者
    • k8s设置Ingress Controller 为默认控制器

      如果您想将 Ingress Controller 设置为默认控制器,请取消注释 ingressclass.kubernetes.io/is-default-class。 将此注释设置为 true 后,所有未指定 ingressClassName 字段的新 Ingress 都将分配此 IngressClass。

      注意:如果没有 IngressClass 资源,Ingress Controller 将无法启动。

      cat ingress-class.yaml
      apiVersion: networking.k8s.io/v1   
      kind: IngressClass   
      metadata:   
      name: nginx   
       annotations:   
         ingressclass.kubernetes.io/is-default-class: "true"   
      spec:   
      controller: nginx.org/ingress-controller

      apiVersion: networking.k8s.io/v1
      kind: IngressClass
      metadata:
        labels:
          app.kubernetes.io/component: controller
        name: nginx-example
        annotations:
          ingressclass.kubernetes.io/is-default-class: "true"
      spec:
        controller: k8s.io/ingress-nginx

      默认 IngressClass

      您可以将特定的 IngressClass 标记为集群的默认值。 在 IngressClass 资源上将 ingressclass.kubernetes.io/is-default-class 注释设置为 true 将确保未指定 ingressClassName 字段的新 Ingress 将被分配此默认 IngressClass。

      注意:如果您有多个 IngressClass 标记为集群的默认值,准入控制器会阻止创建未指定 ingressClassName 的新 Ingress 对象。 您可以通过确保在集群中最多将 1 个 IngressClass 标记为默认值来解决此问题。

      有一些入口控制器,在没有定义默认 IngressClass 的情况下工作。 例如,可以使用标志--watch-ingress-without-class 配置 Ingress-NGINX 控制器。 但建议指定默认的 IngressClass:

    • 0
    • 0
    • 0
    • 283
    • 请登录之后再进行评论

      登录
    • 做任务
    • 实时动态
    • 偏好设置
    • 单栏布局 侧栏位置: