首页 > 系统相关 >一文读懂Ingress-Nginx以及实践攻略

一文读懂Ingress-Nginx以及实践攻略

时间:2024-09-27 11:20:15浏览次数:9  
标签:Ingress 攻略 kubernetes nginx app ingress Nginx io name

一文读懂Ingress-Nginx以及实践攻略

目录

❤️ 摘要: Ingress-Nginx 是 Kubernetes 中用于管理 HTTP 和 HTTPS 流量的强大工具。通过配置 Ingress 资源,用户可以灵活地路由流量到后端服务,增强了集群的可访问性和可扩展性。本文将深入探讨 Ingress-Nginx 的工作原理、基本配置及最佳实践,并通过实际案例来验证其功能。

1 概念

1.1 什么是Ingress?

Ingress是Kubernetes的 一种 API 对象,用于管理集群内服务的外部访问。Ingress 可以提供从集群外部到集群内Service的 HTTP 和 HTTPS 路由,并可以基于域名、路径等规则将请求转发到集群内的Service上。

下面是 Ingress 的一个简单示例,可将外部的流量导流到K8S集群的同一 Service, 再由Service将流量发送到后端的Pod:

1.1.1 主要功能:

  • HTTP/HTTPS 路由: Ingress 允许外部 HTTP 和 HTTPS 请求根据预定义的路由规则访问集群内部的服务。路由规则可以基于主机名、URL 路径等进行配置。
  • 反向代理: Ingress 控制器通常会充当反向代理,将外部请求路由到集群内部的服务。Ingress 不会公开任意端口或协议,通常使用Service.Type=NodePortService.Type=LoadBalancer类型的服务。
  • 域名支持: 通过 Ingress,可以为集群中的服务配置域名,从而提供更友好的访问方式。例如,可以将 foo.example.com 指向集群内的 foo-service 服务。
  • 负载均衡: Ingress 控制器可以将流量分配给多个服务实例,实现负载均衡,从而提高服务的可用性和性能。在云环境中,Ingress 通常会与云提供商的负载均衡器集成,以确保流量能够从外部访问集群。
  • TLS/SSL 支持: Ingress 支持 HTTPS 协议,允许为服务配置 TLS 证书,以确保传输的安全性。TLS 证书可以使用 Kubernetes 的 Secret 对象进行管理。
  • 虚拟主机: Ingress 可以配置虚拟主机,使得多个服务可以通过不同的域名或子域名进行访问。

1.2 Ingress的组件

  • Ingress 控制器: 为了使 Ingress 资源正常工作,集群必须运行一个 Ingress 控制器。类似Kubernetes集群的kube-apiserver服务,负责管理和执行 Ingress 资源定义的路由规则。常见的 Ingress 控制器包括 NGINX Ingress ControllerTraefikHAProxy 等,还有公有云厂商的Ingress 控制器包括Azure的AKS Application Gateway、阿里云的Alibaba Cloud MSE Ingress
  • Ingress 对象: 用户自定义的 Kubernetes 对象,描述了外部流量访问集群内Service的规则集。

1.3 什么是ingress-nginx

Ingress nginx是 Kubernetes 中最常用的 Ingress 控制器之一,由 NGINX 官方提供支持(备注:nginx和k8s官方各自维护了一套 nginx ingress controller)。

NGINX Ingress Controller 是 NGINX 和 NGINX Plus 的Ingress Controller实现,可以对Websocket、gRPC、TCP 和 UDP 应用程序进行负载平衡。它支持标准Ingress功能,例如基于内容的路由和 TLS/SSL 终止。

1.4 ingress-nginx优点和限制

优点限制
经过市场广泛使用,社区支持活跃。需要对 NGINX 配置有一定的理解,以便充分利用其功能。
与 NGINX 的成熟生态系统兼容,提供稳定和高性能的 HTTP/HTTPS 处理。在非常复杂的路由场景中,配置可能变得繁琐。
丰富的配置选项和灵活的路由机制。

1.5 版本兼容性矩阵

ingress-nginx 项目支持的版本意味着官方已经完成了 E2E 测试,并且它们正在通过列出的版本。 Ingress-Nginx 版本可能适用于旧版本,但该项目不做出这种保证。

支持Ingress-NGINX版本k8s支持版本Alpine 版本Nginx版本Helm Chart 版本

标签:Ingress,攻略,kubernetes,nginx,app,ingress,Nginx,io,name
From: https://blog.csdn.net/u013522701/article/details/142589291

相关文章

  • ingress-https
     apiVersion:networking.k8s.io/v1kind:Ingressmetadata:annotations:nginx.ingress.kubernetes.io/backend-protocol:HTTPSnginx.ingress.kubernetes.io/force-ssl-redirect:"true"creationTimestamp:"2024-09-26T07:34:58Z"......
  • 毕业论文写作全攻略,让你轻松过关!
    姐妹们,毕业论文是大学旅程的最后一站,也是展示我们学术成果的重要时刻。但是,毕业论文该怎么写呢?别担心,我来告诉你!......
  • 如何打造Java SpringBoot民宿山庄农家乐系统?2025最新毕业设计攻略
    ✍✍计算机毕业编程指导师**⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流!⚡⚡Java、Python、小程序、大数据实战项目集⚡⚡文末获取......
  • 《尼尔:机械纪元》dxgi.dll文件去哪里了?告别《尼尔:机械纪元》dxgi.dll错误,游戏稳定运行
    《尼尔:机械纪元》中的dxgi.dll文件是DirectX图形接口库中的一个重要组件,它负责处理游戏的图形渲染等任务。如果在运行《尼尔:机械纪元》时遇到dxgi.dll文件丢失或损坏的错误,这通常会导致游戏无法正常运行或频繁崩溃。以下是一些解决这一问题的步骤和策略,旨在帮助玩家告别dxgi.dl......
  • NGINX 代理grafana-server
    一、grafana修改配置在root_url后边添加路径/grafana(该路径可自定义,和nginx配置中保持一致即可)vim/etc/grafana/default.ini#后缀与nginx代理后缀保持一致root_url=%(protocol)s://%(domain)s:%(http_port)s/grafana#允许跨域allowed_origins=*#允许iframe嵌入all......
  • vue项目部署到nginx后一刷新页面就404
    在Vue项目部署到Nginx服务器上时,遇到刷新页面显示404的问题,通常是因为Nginx无法正确地处理Vue路由。Vue应用的路由是前端路由,依赖于JavaScript来动态解析URL,当直接访问除根路径外的URL时,Nginx默认会尝试在服务器上找到对应的文件或目录,如果找不到就会返回404错误。为了解决这个问......
  • 《刀剑江湖路》风灵月影怎么打?详细指南攻略介绍
    本攻略旨在帮助玩家更好地理解和运用风灵月影版修改器,以便在这款游戏中获得更加自由和丰富的游戏体验。请注意,使用修改器可能会影响游戏的平衡性和乐趣,建议适度使用以保持游戏的原汁原味。修改器下载安装1.下载地址:访问正规的软件或游戏修改器平台进行下载。2.安装过程:下......
  • FastDFS+Nginx+fastdfs-nginx-module集群搭建
    一、实验环境说明 操作系统:Centos6.6x64FastDFS相关版本:fastdfs-5.05fastdfs-nginx-module-v1.16libfastcommon-v1.0.7web服务器软件:nginx-1.7.8角色分配:2个tracker,地址分别为:10.1.1.24310.1.1.244两块磁盘2个group:G1:10.1.1.24510.1.1......
  • nginx: 限流中连接和请求的区别:
    一,关于limit_req和limit_conn的区别whatisthedifference betweenconnectionandrequest? connection是连接,即常说的tcp连接,通过三次握手而建立的一个完整状态机。建立一个连接,必须得要三次握手。断开连接时要有四次挥手的操作.request是指请求,即http请求,tcp连接是......
  • Nginx 配置
    nginx配置文件的的组成Nginx配置文件主要由以下部分组成:全局块、events块、http块.......等组成。全局块:nginx的全局配置作用:从配置文件开始到event块之间的内容,主要会设置影响nginx服务整体运行的配置指令。主要配置包括:运行nginx服务的用户(组)、允许生成的worker_process......