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


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文件中,nginxsvc指向一个nginx控制器,该控制器具有配置请求路由和其他nginx相关配置的configMap。

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

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

最新更新