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... 阅读详情

相关推荐

电芯外观及体系设计(Cell Design)-①容量平衡设计(Cell Balance Design)

全面获取并正确解读客户需求,将需求进行分解和预判,结合公司现有资源、技术,给出设计方案。一个优秀的电芯设计方案,应该是稳健的,可操作的,满足客户需求的同时,并能为公司带来较多利润。电芯设计需同时考虑周期,性能,品质,加工性,成本,及安全与稳健性。设计人员时刻要有成本控制观念,但利润则是由公司战略所决定。

FDC1303864002的博客 1352

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

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

weixin_28842367的博客 294

案例分析|一篇文章带你看懂养鸡场智慧管理系统

养鸡场智慧管理系统是为了满足现代化养鸡业对精细化管理的需求而设计的一款专业软件。随着科技的发展和农业产业的升级,传统的手工记录和管理方式已无法满足高效、准确和实时的数据跟踪需求。本软件旨在通过集成各种功能模块,帮助养鸡场主实现从鸡苗孵化、饲养管理、饲料控制到销售结算等全链条的智能化操作。该系统的核心目标是提升养鸡场的运营效率和盈利能力,通过自动化数据处理,减少人工误差,节省时间和精力。例如,孵化报表和记录模块可以帮助管理者实时监控孵化过程,及时调整策略;

muyu2980的专栏 930

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

保姆级教程:用AI辅助反编译Python3.9+的EXE文件(兼容新版pycdc工具)

本文详细介绍了如何利用AI技术辅助反编译Python 3.9+的EXE文件,解决传统工具如uncompyle6无法处理新版字节码的问题。通过pycdc工具和AI大模型的结合,开发者可以高效还原代码逻辑,并提供了从EXE解包到字节码解析的完整流程,适用于逆向工程和代码分析场景。

hill8的博客 1223

NXP实战笔记(十五):32K3xx基于RTD-SDK在S32DS上安装HSE之后,进行AB SWAP功能实现OTA升级。

1.HSE 切换服务相关的变量,要放在合理的内存空间,可以参照HSE 安装的潜在失败原因分析。例如,在切换过程中,存在下面的变量,如果不放在dtcm或者no-cable的话,可能会导致切换不成功(非常重要)。链接文件里面设置2.连续两次操作,间隔时间太短,一般认为小于1s.如果连续两次切换,会导致程序死掉。但是重新上电reset之后,程序仍然会执行切换后block的程序。解释如下图:3.切换时未获取SU权限。但在实际的项目工程中,经调试发现如果不获取SU权限,也可以实现。

梦想技术家 3114

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

华为昇腾云平台适配Baichuan2大模型记录

文件发现报错:ValueError: The pipeline stage 2 in auto_parallel_context is not equal to the pipeline_stage 1 in the config.run_baichuan2_7b.yaml`,发现默认设备数是16卡,对应的pipeline_stage为2,但实际是8卡,那就改成下面的试试看。,将Baichuan2_7B_Chat.ckpt文件复制进去,将。点击镜像管理,突然发现有个2_2_0,赶紧新建了一个,成功。

羊城迷鹿的博客 2390

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

Qt 【window udp 高频采集丢包问题】

使用Asio + 无锁队列或者环形缓存区方案可以解决 qt udp 在window平台高速采集 (128k)丢包问题。

weixin_45397344的博客 177

8、 使用TPM密钥:从理论到实践的全面指南

本文全面介绍了如何使用TPM(可信平台模块)进行密钥管理,涵盖密钥的创建、存储、加载、迁移以及特殊密钥类型的使用。通过详细的操作步骤和代码示例,帮助读者掌握TPM密钥管理技术,确保系统的安全性和可靠性。

weixin_36212459的博客 242

在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

芒果YOLO11改进44:主干Backbone篇之MobileViT::结合最新 ICLR2022 顶会|轻量通用的MobileViT结构(一)Transformer,轻量级、通用且移动友好的视觉转换

MobileViT::结合最新 ICLR2022 顶会|轻量通用的MobileViT结构(一)Transformer,轻量级、通用且移动友好的视觉转换

包括YOLOv5、YOLOv7、YOLOv8等模型改进 369

Apache APISIX Ingress v1.5-rc1 发布

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

ApacheAPISIX的博客 446

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

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

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

k8s1.22.3 traefik | ingress | Ingress controller

k8s1.22.3 traefik + ingress

qq_15138049的博客 1541

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

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

K8S Nginx-Ingress

Lyndon的专栏 1349

NTscan扫描工具

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

云原生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、付费专栏及课程。

余额充值