[英]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.