Ingress——1

k8s 1.30 通过helm部署ingress-controller-4.12.1 文章摘要: Kubernetes Ingress是集群内服务对外暴露的访问接入点,负责管理外部访问内部服务的方式。Ingress资源仅支持HTTP流量规则,高级特性需在Ingress Controller中配置。Ingress Controller通过解析Ingress规则,将请求转发到对应Service,最终由Pod处理。配置示例展示了一个基于阿里云镜像的Ingress Controller部署方案,包含资源限制、健康检查、自动扩展等参数设置。该配置采用DaemonSet部署模式,使用HostNetwor 阅读详情

目录

基本概念

一、技术原理

二、核心特性

三、技术演进意义

基本部署

 部署Nginx Ingress Controller

ingress资源

‌关键操作命令‌


基本概念

一、技术原理

网络流量管理核心

  • 基于Kubernetes的七层反向代理机制
  • 通过声明式API配置路由规则(YAML/JSON)
  • 核心组件包含Ingress Controller和Ingress资源对象

工作流程

客户端请求 → Ingress Controller → 路由规则匹配 → 服务发现 → 负载均衡 → 后端Pod

二、核心特性

高级路由能力

  • 基于Host/Path的路由分发
  • 正则表达式路径匹配
  • 流量镜像(Canary发布)
  • 自定义Header重写

安全防护体系

  • TLS终止与证书自动续期(Let's Encrypt集成)
  • 速率限制(Rate Limiting)
  • 基于OAuth2.0的身份验证
  • IP黑白名单控制

可视化监控

  • 实时流量热力图
  • 请求耗时百分位统计
  • 错误代码分布分析
  • 自动生成OpenAPI文档

三、技术演进意义

云原生架构转型

  1. 实现从传统负载均衡器到声明式配置的范式转移
  2. 推动Service Mesh与Ingress的融合(如Gloo Mesh)
  3. 支持混合云流量管理

开发效率提升

  1. 配置版本化(GitOps工作流)
  2. 自助式路由管理(开发者门户)
  3. 环境一致性保障(Dev/Test/Prod)

成本优化

  1. 硬件LB替代方案(节约60%+成本)
  2. 智能流量调度(基于地理位置/运营商)
  3. 自动伸缩能力(HPA联动)

行业影响

  1. 成为CNCF毕业项目标准组件
  2. 催生新一代API网关产品(如Kong, Traefik)
  3. 推动云服务商标准化Ingress实现(ALB Ingress Controller等)

基本部署

 部署Nginx Ingress Controller


apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-ingress-controller
  namespace: ingress-nginx
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx-ingress
  template:
    metadata:
      labels:
        app: nginx-ingress
    spec:
      containers:
      - name: nginx-ingress
        image: registry.k8s.io/ingress-nginx/controller:v1.8.1
        args:
          - /nginx-ingress-controller
          - --publish-service=$(POD_NAMESPACE)/nginx-ingress-controller
          - --election-id=ingress-controller-leader
        ports:
          - name: http
            containerPort: 80
          - name: https
            containerPort: 443

‌逐行解释‌:

  1. apiVersion: apps/v1:使用Deployment的API版本
  2. kind: Deployment:声明资源类型为无状态部署
  3. namespace: ingress-nginx:指定命名空间(需提前创建)
  4. replicas: 1:控制器副本数(生产环境建议≥2)
  5. image: registry.k8s.io...:官方Ingress-NGINX镜像
  6. args:启动参数,--publish-service指定服务暴露方式
  7. ports:暴露HTTP(80)和HTTPS(443)端口

ingress资源


apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: example-ingress
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  rules:
  - host: demo.example.com
    http:
      paths:
      - path: /app
        pathType: Prefix
        backend:
          service:
            name: my-service
            port:
              number: 8080

‌逐行解释‌:

  1. apiVersion: networking.k8s.io/v1:Ingress的API版本
  2. annotations:控制器特定配置(此处为Nginx路径重写)
  3. host: demo.example.com:域名绑定规则
  4. path: /app:URL路径前缀匹配
  5. backend:将流量转发到名为my-service的Service的8080端口

‌关键操作命令‌

# 创建命名空间 
kubectl create ns ingress-nginx 
# 部署Controller(需提前下载YAML) 
kubectl apply -f ingress-controller.yaml 
# 应用Ingress规则 
kubectl apply -f my-ingress.yaml 
# 验证状态 
kubectl get ingress -n ingress-nginx 

‌说明‌:

  • 实际部署前需确保集群已配置StorageClass(如需持久化日志)
  • 生产环境建议通过Helm管理Controller部署
  • 域名需提前解析到集群入口IP(如LoadBalancer的EXTERNAL-IP)
k8s v1.16.2中部署ingress-nginx 环境与软件版本 OS Centos 7 软件 ingress-nginx https://github.com/kubernetes/ingress-nginx (commit:43fa61cabdba39f81c0f3d38edc8bdb5892027f1) k8s 使用kubeadm部署k8s(v1.16.2) 安装 修改配置文件 修改deploy/baremetal/service-node... 阅读详情

相关推荐

AI原生应用在UGC内容审核中的实战经验

AI原生应用(AI-Native Application)——以机器学习模型为核心驱动力,深度整合数据、算法、工程架构的完整系统——为破解这一三角难题提供了全新范式。全链路数据驱动:从数据采集、模型训练到决策优化,形成闭环自治系统,无需人工规则干预多模态深度理解:同时处理文本、图像、音频、视频等多类型内容,理解语义而非简单匹配特征自适应进化能力:通过人机协同反馈持续学习新型违规模式,模型周级迭代成为常态审核效率提升300%:单条视频审核耗时从2.3秒降至0.7秒。

AI算力网络与通信的博客 1149

从版本变迁看Kubernetes Ingress配置:v1beta1到v1的演进与适配

本文深入解析Kubernetes Ingress配置从v1beta1到v1版本的演进过程,重点介绍pathType引入、后端服务定义重构等关键变更点。通过实战案例展示如何解决webhook验证失败等常见迁移问题,并提供多版本兼容策略与高级配置模式,帮助开发者顺利完成API版本升级。

weixin_28842367的博客 294

深入解析Gerber RS274X文件格式:从基础语法到实战应用

本文深入解析PCB制造的核心标准Gerber RS274X文件格式,详细介绍了其基础语法、坐标系统、功能码以及嵌入式光圈定义等关键特性。通过实战案例演示了如何解析和手写Gerber指令,并总结了常见错误与调试技巧,帮助PCB工程师掌握这一与制造工厂沟通的“通用语言”,确保设计准确无误地转化为实体电路板。

weixin_29252171的博客 94

k8s-ingress对外添加验证登录配置

安装http工具 yum -y install httpd-tools 生成密钥文件 htpasswd -c auth <user> #密文输入passwd 创建集群密钥 kubectl -n <namespace> create secret generic basic-auth --from-file=auth ingress 添加配置 ... annotations: nginx.ingress.kubernetes.io/auth-type: basic

大鹅的博客 1239

海思方案定制hi3531dv200/SS528 DVR方案解析:从硬件选型到编解码实战应用

海思方案,Hi3518EV100,Hi3518CV100,Hi3515CV100,Hi3516CV100,Hi3516ECV100,Hi3516D,Hi3516A,Hi3519,Hi3520D,Hi3521A,Hi3535,Hi3531,Hi3536,Hi3536C,Hi3536D,Hi3518EV200,Hi3518EV201,Hi3520DV200,Hi3516CV200,Hi3516CV300,Hi3516AV200,Hi3520DV300,Hi3519V101,sd3403,hi3519av200

1585

SAR成像系列:【3】合成孔径雷达(SAR)的二维回波信号与简单距离多普勒(RD)算法 (附matlab代码)

二维回波信号分析

zr2006_7的专栏 2万+

Kubernetes集群——(k8s)ingress+加密认证+地址重写

一、ingress的认证 参考官网信息 https://kubernetes.github.io/ingress-nginx/examples/auth/basic/ 首先安装工具,生成一个基于Basic认证的用户和密码 [root@server2 ~]# yum install -y httpd-tools 注意:第一次创建用户需要使用-c参数,当文件中含有其他用户时,不要使用-c参数,否则会覆盖之前的信息 htpasswd生成的文件的秘钥在Ingress规则中添加身份验证。生成的文件必须命名为au

qq_46089299的博客 1361

高速DAC时钟与配置实战:DAC5681Z硬件设计与寄存器编程详解

在高速数据转换系统中,时钟信号是决定系统性能的核心要素,其稳定性和纯净度直接影响数模转换器(DAC)的输出频谱纯度与动态范围。时钟电路的设计原理涉及信号完整性、阻抗匹配与直流偏置,而内部锁相环(PLL)和延迟锁相环(DLL)的配置则是实现精确时序控制的关键技术。这些技术的价值在于,它们共同保障了高速通信、雷达和任意波形生成等应用对信号实时性与精度的严苛要求。本文聚焦于德州仪器(TI)的DAC5681Z,深入解析其外部时钟输入电路的硬件设计要点,包括端接电阻的计算与选型,并详细拆解通过串行外设接口(SPI)对

weixin_30342363的博客 186

k8s v1.22版本中Ingress配置

kubernetes v1.22版本中Ingress配置 部署Ingress-nginx过程中,在Ingress配置文件部署时遇到问题,网上的配置文件例子都是相对较旧的版本,于是查看官方文档,发现Ingress所在的apiServer和配置文件参数都有所更改。 kubernetes在1.19版本中已经将Ingress的apiVersion从extensions/v1beta1中移到了networking.k8s.io/v1中,并且在1.22版本中只能从networking.k8s.io/v1中获取,原话:

qq_37504183的博客 4052

drm 之modes

#define _GNU_SOURCE #include <errno.h> #include <fcntl.h> #include <stdbool.h> #include <stdint.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/mman.h> #include <time.h&...

u012794472的专栏 3716

如何创建属于自己的大语言模型:从零开始的指南

随着人工智能的快速发展,大语言模型(LLM)在各种场景中表现出了卓越的能力,例如文本生成、对话交互和内容总结等。本文将带你了解创建 LLM 的核心步骤,从理论到实践,让你拥有一个自己的智能助手。

赵大仁的博客 3280

在K8S集群中使用NGINX Ingress V1.7

在K8S集群中使用NGINX Ingress V1.7 NGINX Ingress控制器有两个项目一个K8S官网维护(官方项目github地址),另一个是NGINX, Inc.维护的项目(NGINX项目github地址),因为差异很多两个项目不要弄混,以下示例是用NGINX维护的项目(部署说明资料),我们采用Manifests文件部署方式Installation with Manifests。 K8S的环境已经部署完成,详情请看安装Kubernetes V1.18.2 希望可以达到的效果示意图 如果增加N

bluersw的博客 1136

RK3588开发笔记-Buildroot编译Qt5WebEngine-5.15.10

Rockchip RK3588是一款强大的多核处理器,广泛应用于边缘计算、人工智能、嵌入式系统等领域。为了在RK3588上运行自定义的Linux系统,并使用Qt5WebEngine进行Web内容渲染,Buildroot是一个非常合适的工具。本文将详细介绍如何使用Buildroot编译并配置Qt5WebEngine-5.15.10。Qt5WebEngine是Qt框架中的一个模块,它提供了一个功能强大的Web浏览器引擎,允许开发者在Qt应用程序中嵌入和显示现代网页内容。

flypig has a dream! 1157

Apache APISIX Ingress v1.5-rc1 发布

Apache APISIX Ingress Controller v1.5-rc1 版本正式发布。此版本历时 7 个月左右的时间,由 36 位贡献者进行了 144 次提交。接下来就让我们一起看下,在 APISIX Ingress v1.5 版本中有哪些重要更新。

ApacheAPISIX的博客 446

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

k8s1.22.3 traefik | ingress | Ingress controller

k8s1.22.3 traefik + ingress

qq_15138049的博客 1541

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

K8S 七 kubernetes-1.29 部署 ingress-nginx1.10、nginx1.25

K8S Nginx-Ingress

Lyndon的专栏 1349

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

云原生Kubernetes: K8S 1.29版本 部署ingress-nginx

原因是node1节点的cni容器出现了异常无法为pod分配ip导致的卡在ContainerCreating的状态。ingress-nginx-controller部署到node1节点的IP为10.244.166.140。ingress-nginx-controller部署到node2节点的IP为10.244.104.13。ingress-nginx-controller部署到node1节点的IP为10.244.104.13。④在自己的仓库中可以看到上传的镜像,默认上传到公共仓库中。

cronaldo91的博客 2665

k8s 1.28.2 集群部署 ingress 1.11.1 包含 admission-webhook

此时会返回 created,说明 ingress 的规则配置成功了。正常会返回下面的内容,是 nginx 的默认页面。通过官方 helm 做了一些修改。验证 ingress。

以梦为马|越骑越傻 1051

k8s1.27部署ingress 1.11.2

参考链接:https://blog.youkuaiyun.com/qq_38448681/article/details/142637646。k8s1.27部署ingress 1.11.2。ingress1.11.2支持版本。

那个那个 633

Kubernetes1.18.3 使用ingress

Kubernetes1.18.3 使用ingress 1-下载配置文件包 链接: github下载 百度网盘 2-找到deploy文件夹下7个yaml文件提取出来 3-分别修改default-backend.yaml和with-rbac.yaml 4-创建 kubectl create -f namespace.yaml kubectl create -f default-backend.yaml kubectl create -f configmap.yaml kubectl create -f t

yyl的博客 1686

Ingress2Gateway 1.0 发布:从 Ingress 到 Gateway API 的平滑迁移之路

Kubernetes Ingress即将退役,Ingress2Gateway 1.0提供平滑迁移方案。该工具自动将Ingress配置转换为Gateway API资源,支持HTTP路由、TLS等常见功能。通过实战演示了从部署应用到转换配置的全过程,帮助用户低成本过渡到新一代网络方案。相比手动重构,Ingress2Gateway显著降低了迁移复杂度。

kguogao的博客 423

k8s 1.22 ingress 变化

k8s 1.22 ingress 变化

柠是柠檬的檬的博客 628

K8S(1.28)--部署ingress-nginx(1.9.1)

本文介绍K8S部署ingress-nginx的方法。 本文使用的K8S和ingress-nginx都是最新的版本。

IT利刃出鞘的博客 3853

Apache APISIX Ingress Controller 首个 GA 版本 v1.0 正式发布!

关于 Apache APISIX Ingress ControllerApache APISIX Ingress Controller 是一个使用 Apache APISIX 作为数据面承...

k8s 生态 862

kubernetes 1.18 部署 ingress-nginx

1️⃣ 准备一个 hello-world 镜像,并使用他的 9000 端口,创建一个 service hello-server 并将 9000 端口指向对外暴露的 8000 端口。在 GitHub 下载完成之后可以直接使用,不需要修改文件内容,如果下载不了也可直接粘贴本文中内容。的端口号,80和443分别对应不同的端口。2️⃣ nginx 镜像也是同样的操作。3️⃣ 配置 ingress 规则。个人测试时可以将域名配置在。

D的博客 1439

k8s 升级后创建Ingress 报错:no matches for kind “Ingress“ in version “extensions/v1beta1“

【代码】k8s 升级后创建Ingress 报错:no matches for kind "Ingress" in version "extensions/v1beta1"

码农的专栏 758
上一篇: K8s Pod调度基础——2
下一篇: Ingress——2
霖檬ing
博客等级 码龄2年 701粉丝 75原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值