首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kubernetes.io/inress.class:"nginx“和”私有“之间的区别是什么?

Kubernetes.io/inress.class:"nginx“和”私有“之间的区别是什么?
EN

Stack Overflow用户
提问于 2022-08-26 11:25:50
回答 1查看 130关注 0票数 1

强文本i安装了一个带有argocd的kubernetes集群,并根据https://argo-cd.readthedocs.io/en/stable/operator-manual/ingress/ -> kubernetes/ ingress nginx配置了argocd入口。

但是,除非我设置了

代码语言:javascript
复制
kubernetes.io/ingress.class: nginx

代码语言:javascript
复制
kubernetes.io/ingress.class: private

更换前的ingress.yaml:

代码语言:javascript
复制
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: argocd-server-ingress
  namespace: argocd
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
    nginx.ingress.kubernetes.io/ssl-passthrough: "true"
    nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
spec:
  tls:
    - hosts:
        - argocd.my.example.domain
      secretName: argocd-int
  rules:
    - host: argocd.my.example.domain
      http:
        paths:
        - path: /
          pathType: Prefix
          backend:
            service:
              name: argocd-server
              port:
                number: 443

我对库伯内特斯相当陌生,所以我想知道这两者之间有什么区别?当我将ingress.yaml与另一个项目进行比较时,我碰巧发现了这种差异,但没有找到任何解释。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-26 11:32:37

kubernetes.io/ingress.class主要用于将入口指向特定的入口控制器

很容易理解,如果您运行的是像Nginx这样的多个入侵控制器,而另一个是在单个K8s集群中运行的Apache。

安装入口控制器时,有一个字段可以设置的名称,该字段在 ingress 中进一步用作注释kubernetes.io/ingress.class: private,以便入口由特定的入口控制器(后端)管理,并遵循规则集。

入侵级

插件可以由不同的控制器实现,通常具有不同的配置。每个宏都应该指定一个类,它是对包含额外配置的IngressClass资源的引用,包括实现该类的控制器的名称。

阅读更多关于入口类的信息:https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-class

场景

人们运行具有类名nginx-internal Nginx 的多个nginx入口控制器,从而创建入口,通过指定类到入口规则来转发和管理集群中的流量路由。

Nginx-internal类有一个示例规则来附加一个标头,如果流量通过该类入口流。

例如,考虑一下Nginx类的公共用途,这样它将允许后端或有限的头的所有标题,但是它检查Auth,只允许使用这个类的几个白名单中的IP的流量。

因此,使用ingressclass,您可以运行由多个入口控制器支持的具有不同规则集的多个入口服务器

如果有人想了解更多关于如何更新类名和运行多个入口控制器的信息,请访问:https://kubernetes.github.io/ingress-nginx/user-guide/multiple-ingress/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73500300

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档