繁体   English   中英

NGINX Ingress Controller 和默认后端为 nginx 服务的 Ingress 有什么区别?

[英]What is the difference between NGINX Ingress Controller and Ingress with default backend as nginx service?

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: hello-kubernetes-ingress
  annotations:
    kubernetes.io/ingress.class: nginx
spec:
  rules:
  - host: hw1.your_domain
    http:
      paths:
      - backend:
          serviceName: hello-kubernetes-first
          servicePort: 80
  - host: hw2.your_domain
    http:
      paths:
      - backend:
          serviceName: hello-kubernetes-second
          servicePort: 80

对比

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: ingress
spec:
  backend:
    serviceName: nginx-svc
    servicePort: 80

在第二个 yaml 文件中,nginx-svc 指向一个 nginx 控制器,该控制器具有配置请求路由和其他 nginx 相关配置的 configMap。

Ingress 系统是对简单 HTTP 扇出代理的抽象,在主机名和 URL 前缀上进行路由。 Nginx 可以是这种代理,但也可以是 HTTP 服务器。 第一个 Ingres 是两个后端服务之间基于主机名的扇出。 第二个是当没有其他规则匹配时的回退路由,大概是针对将发回某种简单 HTTP 页面的 Nginx 服务器。

tl; dr Nginx 既可以是代理,也可以是服务器。 Ingress 是代理,nginx-svc 可能是服务器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM