当前位置: 首页 > news >正文

K8s 1.27.1 实战系列(十二)Ingress

一、Ingress介绍

1、Ingress 的核心概念

Ingress 是 Kubernetes 中管理外部流量访问集群内服务的 API 对象,通过 7 层(HTTP/HTTPS)协议实现流量路由、负载均衡和 SSL 终止。它弥补了传统 Service(如 NodePort 和 LoadBalancer)的不足,例如端口占用过多、不支持路径路由等问题。

核心功能

  • 7 层负载均衡:基于域名、URL 路径等规则分发流量到后端服务。
  • SSL/TLS 终止:支持 HTTPS 加密,证书可通过 Kubernetes Secret 管理。
  • 虚拟主机与路径路由:单入口支持多域名或子路径映射不同服务(如 example.com/service1example.com/service2)。
  • 动态配置更新:自动感知后端服务变化并更新代理规则(如 Nginx 配置)。

2、Ingress 的架构与组件

  • Ingress 资源对象

    • 定义路由规则的 YAML 文件,例如将 myapp.example.com 的流量导向 myapp-service
      • yaml

        apiVersion: networking.k8s.io/v1
        kind: Ingress
        metadata:
          name: example-ingress
        spec:
          rules:
            - host: myapp.example.com
              http:
                paths:
                  - path: /
                    backend:
                      service:
                        name: myapp-service
                        port: 80
  • Ingress Controller

    • 作用:监听 Ingress 规则变化,动态生成反向代理配置(如 Nginx、Traefik)并重载生效。
    • 部署形式
      • DaemonSet:每个节点运行一个 Pod,通过 hostNetwork 直接暴露端口。
      • Deployment + Service:以 NodePort 或 LoadBalancer 类型对外提供服务。
  • 反向代理工具

    • 常见工具:Nginx(官方维护版本和社区版)、HAProxy、Traefik。

3、Ingress 和 Service 区别

Ingress 和 Service都是 Kubernetes 中用于将流量路由到应用程序的机制,但它们在路由层面上有所不同:
http://www.dtcms.com/a/62042.html

相关文章:

  • Redis----大key、热key解决方案、脑裂问题
  • 【教学类-43-25】20240311 数独3宫格的所有可能(图片版 12套样式,空1格-空8格,每套510张,共6120小图)
  • DTL698电表数据 转 EthernetIP协议项目案例
  • 大模型安全新范式:DeepSeek一体机内容安全卫士发布
  • 【数据结构】1数据结构基本概念 【作业1数据结构综述】
  • C++【类和对象】(超详细!!!)
  • 【外部链接跳转uniapp开发的App内指定页面】实现方案
  • git切换版本
  • 微信小程序使用的SSL证书在哪里申请?
  • Mybatis的一级缓存和二级缓存
  • 【MySQL】库和表的操作
  • css的背景图和背景色混用;rgba和opacity区别
  • 如何使用logrotete定时切割mysql的慢日志
  • 【SpringMVC】深入解析使用 Postman 在请求中传递对象类型、数组类型、参数类型的参数方法和后端参数重命名、及非必传参数设置的方法
  • Spring Cloud Alibaba 实战:Sentinel 保障微服务的高可用性与流量防护
  • React 性能优化
  • 使用Python实现量子计算实验工具的全景指南
  • WHAT - 前端性能指标
  • 记录一次解决日期格式引起的SQL失效的问题
  • Python Flask 开发用于访问数据库的 REST API
  • 深度学习与大模型-矩阵的运算
  • Trae AI 自动升级项目Nuxt版本
  • 其他元素的乘积(前后缀积)
  • C++ 编程指南27 - 始终将 mutex 与它所保护的数据一起定义,并尽可能使用 synchronized_value<T>
  • Linux网络 五种 IO 模型
  • Netty基础—2.网络编程基础四
  • Linux运维(三)Linux命令行操作:从菜鸟到高手
  • 【性能测试】Jmeter如何做一份测试报告(3)
  • C++ 布尔类型(bool)深度解析
  • PHP+redis 优雅实现加锁机制