浏览 1.1k
原文作者:NGINX
原文链接:在 Kubernetes 上实现高速应用交付
转载来源:NGINX 官方网站
运行于 Kubernetes 之上的应用需要一个经过验证的生产级应用交付解决方案。NGINX Ingress Controller将值得信赖的 NGINX Open Source 和 NGINX Plus 软件负载均衡器与基于标准 Kubernetes Ingress 或自定义 NGINX Ingress 资源的简化配置结合在一起,可确保 Kubernetes 集群中的应用可靠、安全且高速地交付。
较之标准 Kubernetes Ingress 资源,自定义 NGINX Ingress 资源(VirtualServer 和 VirtualServerRoute)能够为您提供更高的流量分类和路由决策控制能力。NGINX Ingress 资源支持:
upstreams:
- name: webapp-v1 service: webapp-svc-v1 port: 80
- name: webapp-v2 service: webapp-svc-v2 port: 80
routes:
- path: / splits:
- weight: 90 action:
pass: webapp-v1
- weight: 10 action:
pass: webapp-v2
upstreams:
- name: webapp-v1 service: webapp-svc-v1 port: 80
- name: webapp-v2 service: webapp-svc-v2 port: 80
routes:
- path: / matches:
- conditions:
- cookie: debug value: true
action:
pass: webapp-v2 action:
pass: webapp-v1
NGINX Ingress 资源允许将各种流量配置组件委派给不同的团队,同时仍支持对所有公开的服务执行全局配置。例如,这支持安全运营团队对某资源 (VirtualServer) 上的所有公开服务执行 TLS 设置,同时通过将相应资源 (VirtualServerRoute) 部署至单独的 Kubernetes 命名空间而将上游配置委派给一个或多个应用所有者。此类委派将使用 Kubernetes 的原生 RBAC 机制执行。
VirtualServer 定义主机的 TLS 设置,并将路由定义委派给引用的 VirtualServerRoute 资源
apiVersion: k8s.nginx.org/v1 kind: VirtualServer metadata:
name: api-fe namespace: frontend-ns
spec:
host: api.example.com tls:
secret: api-ssl-secret routes:
- path: /games/api
route: games-ns/games-route
- path: /stats/api
route: stats-ns/stats-route
VirtualServerRoute 定义路由,但无法覆盖全局主机 TLS 设置
apiVersion: k8s.nginx.org/v1 kind: VirtualServerRoute metadata:
name: games-route namespace: games-ns
spec:
host: api.example.com upstreams:
- name: games service: games-svc port: 80
subroutes:
- path: /games/api action:
pass: games
想要更及时全面地获取 NGINX 相关的技术干货、互动问答、系列课程、活动资源?
请前往 NGINX 开源社区:
微信公众号:https://mp.weixin.qq.com/s/XVE5yvDbmJtpV2alsIFwJg
微信群:https://www.nginx.org.cn/static/pc/images/homePage/QR-code.png?v=1621313354
按点赞数排序
按时间排序