零基础拿下云原生 CKA 认证
王雪飞
前东软高级工程师
590 人已学习
新⼈⾸单¥59
零基础拿下云原生 CKA 认证
15
15
1.0x
00:00/00:00
登录|注册

10|网络篇:通过Ingress提供URL访问

你好,我是雪飞。
上节课我介绍了 Service,它主要负责集群的服务发现和负载均衡。对于来自集群外部的访问,可以使用 NodePort 或者 LoadBalance 类型的 Service,K8s 会自动绑定集群节点的端口号,通过 “< 节点 IP>:< 节点端口 >” 来访问 Service,从而最终访问到 Service 代理的应用 Pod。但是在微服务架构中,由于集群中通常运行着多个需要暴露到外部访问的应用,如果每个应用都通过这种 Service 绑定节点端口的方式访问,可能会导致节点端口管理变得复杂且存在安全隐患。
此外,Service 是通过 IP 地址和端口来提供网络访问,这是一种四层的负载均衡,我们在实际开发项目中,更多时候是通过 URL 地址来访问应用,这需要七层的负载均衡,例如我们常用的 Nginx Web 服务就可以使用域名来代理到不同的网络应用。
负载均衡可以分为四层和七层,分别对应 OSI 模型的传输层和应用层。
四层负载均衡工作在传输层,负责处理 TCP/UDP 协议。根据源 IP、源端口号以及目的 IP 和目的端口号来转发流量到应用服务器。而七层负载均衡工作在应用层,可以根据 HTTP、HTTPS、DNS 等应用层协议来进行负载均衡,还可以基于 URL、浏览器类型、语言等内容来制定负载均衡策略。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
  • 解释
  • 总结

1. Ingress 在 Kubernetes 中用于处理集群外部访问请求的七层负载均衡机制,通过定义路由规则,将外部的 HTTP/HTTPS 请求分配到集群内不同的 Service 上。 2. Ingress 由 Ingress、Ingress Controller 和 Ingress Class 三个核心组件组成,共同实现高级路由策略,更高效地管理集群外部流量。 3. Ingress Controller 是负责实现 Ingress 规则的组件,监听 Ingress 的变化,并确保路由规则被正确应用。Kubernetes 官方并没有实现自己的 Ingress Controller,而是定义了 Ingress Controller 的实现标准,如 Nginx Ingress Controller。 4. 创建 Ingress 规则需要先部署应用的 Deployment 和对应的 Service 网络访问代理,然后使用 kubectl 命令或 YAML 文件创建 Ingress 规则,指定路由规则和后端服务。 5. Ingress 提供七层的负载均衡,可以根据应用层协议和内容进行负载均衡策略制定,支持处理集群外部的 HTTPS 请求。 6. 配置 HTTPS 请求时,需要在 Ingress 中配置一个 Secret 来提供 SSL/TLS 的证书和私钥,以确保安全可靠的网络通信协议。 7. 通过 Ingress 规则的创建和配置,可以实现集群外部流量的高效管理和处理,满足不同项目需求的灵活配置和管理。 8. 通过 Ingress Controller 的 Service,可以实现外部访问请求的转发到不同的 Service,实现流量的正确转发和处理。 9. 在本地机器上配置域名解析,可以在本地机器的浏览器中输入域名访问,从而测试 Ingress 路由规则的生效情况。 10. Ingress 支持处理集群外部的 HTTPS 请求,可以为 Ingress 配置一个 Secret 来提供 SSL/TLS 的证书和私钥,确保安全的网络通信协议。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《零基础拿下云原生 CKA 认证》
新⼈⾸单¥59
立即购买
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
显示
设置
留言
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部