Kubernetes Ingress Annotations 是与特定 Ingress 控制器(如 Nginx、Traefik、HAProxy 等)配合使用,用于扩展和定制 Ingress 资源行为的关键配置项。它们通常以键值对的形式添加在 Ingress 资源的 metadata部分。

Ingress Annotations参数速查表

下面我用一个表格汇总常见的、主要用于 ​Nginx Ingress 控制器​​ 的 Annotations,并按其功能分类,方便你快速查阅:

功能分类

注解名称 (Annotation)

类型

说明与示例值

路由与路径​

nginx.ingress.kubernetes.io/rewrite-target

URI

重写请求路径​。例: /old重写为 /new

nginx.ingress.kubernetes.io/app-root

string

将根路径重定向​。例: 访问 /重定向到 /home

nginx.ingress.kubernetes.io/use-regex

bool

启用正则表达式匹配路径​。例: "true"

SSL/TLS​

nginx.ingress.kubernetes.io/ssl-redirect

bool

将HTTP请求重定向到HTTPS​ (需配置TLS)。例: "true"

nginx.ingress.kubernetes.io/force-ssl-redirect

bool

强制所有HTTP重定向到HTTPS​ (即使未配置TLS)。例: "true"

nginx.ingress.kubernetes.io/ssl-passthrough

bool

SSL流量直接透传到后端​。例: "true"

认证与安全​

nginx.ingress.kubernetes.io/auth-type

string

认证类型​。例: "basic"(基本认证) 或 "digest"(摘要认证) 

nginx.ingress.kubernetes.io/auth-secret

string

包含认证凭据的Secret​。例: "namespace/secret-name"

nginx.ingress.kubernetes.io/auth-realm

string

认证域提示信息​。例: "Authentication Required"

nginx.ingress.kubernetes.io/auth-url

string

外部认证服务URL​。例: "http://auth-service/auth"

nginx.ingress.kubernetes.io/whitelist-source-range

string

IP白名单​。例: "192.168.0.0/24"

流量控制​

nginx.ingress.kubernetes.io/limit-rps

number

限制每秒请求数​。例: "50"

nginx.ingress.kubernetes.io/limit-connections

number

限制单个IP的并发连接数​。例: "100"

nginx.ingress.kubernetes.io/proxy-body-size

string

请求体最大大小​。例: "20m"

nginx.ingress.kubernetes.io/proxy-connect-timeout

number

与上游服务器连接超时时间(秒)​。例: "30"

nginx.ingress.kubernetes.io/proxy-read-timeout

number

读取上游响应的超时时间(秒)​。例: "60"

会话保持​

nginx.ingress.kubernetes.io/affinity

string

启用会话保持​。例: "cookie"(目前仅支持cookie方式) 

nginx.ingress.kubernetes.io/session-cookie-name

string

自定义会话Cookie名称​。例: "MYCOOKIE"

nginx.ingress.kubernetes.io/affinity-mode

string

会话保持模式​。例: "balanced"(均衡) 或 "persistent"(持久) 

Canary发布​

nginx.ingress.kubernetes.io/canary

bool

启用金丝雀发布​。例: "true"

nginx.ingress.kubernetes.io/canary-weight

number

流量权重 (0-100)​。例: "30"(30%流量到Canary) 

nginx.ingress.kubernetes.io/canary-by-header

string

基于请求头路由​。例: "X-Canary"

nginx.ingress.kubernetes.io/canary-by-header-value

string

指定请求头的值​。例: "enable"

nginx.ingress.kubernetes.io/canary-by-cookie

string

基于Cookie路由​。例: "canary"(Cookie存在即路由到Canary) 

CORS​

nginx.ingress.kubernetes.io/enable-cors

bool

启用跨域资源共享(CORS)​。例: "true"

nginx.ingress.kubernetes.io/cors-allow-origin

string

允许的跨域来源​。例: "*"或 "https://example.com"

nginx.ingress.kubernetes.io/cors-allow-methods

string

允许的HTTP方法​。例: "GET, PUT, POST"

nginx.ingress.kubernetes.io/cors-allow-headers

string

允许的请求头​。例: "DNT,User-Agent,X-Requested-With"

后端协议​

nginx.ingress.kubernetes.io/backend-protocol

string

指定与后端服务通信的协议​。例: "HTTPS""GRPC""GRPCS"

自定义配置​

nginx.ingress.kubernetes.io/server-snippet

string

在Nginx的server块中插入自定义配置​ 

nginx.ingress.kubernetes.io/configuration-snippet

string

在Nginx的location块中插入自定义配置​ 

使用注意事项

  • 注解值格式​:所有注解的键和值都必须是字符串。​​布尔值​​(如 true/false)或​​数字​​(如权重、超时时间)必须用​​引号​​包裹(例如 "true""100")。

  • 控制器特异性​:绝大多数注解都依赖于特定的 Ingress 控制器(如 Nginx、Traefik、HAProxy),​​不同控制器的注解前缀和名称可能不同​​(例如 Nginx 使用 nginx.ingress.kubernetes.io/,Traefik 使用 traefik.ingress.kubernetes.io/,AWS ALB 使用 alb.ingress.kubernetes.io/)。使用时请确认你的集群使用的控制器类型,并查阅其官方文档 。

  • 金丝雀发布优先级​:当同时配置多种金丝雀规则(如按头、按Cookie、按权重)时,​​优先级通常为:请求头 > Cookie > 权重​​。

  • 会话保持​:基于 Cookie 的会话保持是目前常见的方式,可通过 affinity-mode选择 balanced(均衡)或 persistent(持久)模式 。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/921810.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/921810.shtml
英文地址,请注明出处:http://en.pswp.cn/news/921810.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CodeBuddy Code深度实战:从零构建智能电商推荐系统的完整开发历程

项目背景与挑战作为一名有着多年全栈开发经验的技术人员,我最近接手了一个具有挑战性的项目:为某中型服装电商平台开发一套智能商品推荐系统。该系统需要在2个月内完成,包含以下核心功能:前端:React TypeScript构建的…

Day 19: 算法基础与面试理论精通 - 从思想理解到策略掌握的完整体系

Day 19: 算法基础与面试理论精通 - 从思想理解到策略掌握的完整体系 🎯 课程概述 核心目标:深度理解算法设计思想和核心原理,掌握面试高频算法概念,建立完整的算法知识体系 学习重点: ✅ 核心数据结构的本质理解和应用场景分析 ✅ 经典算法设计模式的思想精髓和解题策…

AI与AR融合:重塑石化与能源巡检的未来

在石化企业和新能源电站的巡检工作中,传统模式正被一场技术革命所颠覆。AI与AR( www.teamhelper.cn )的深度融合,不仅提升了巡检效率,更将巡检工作从被动响应转变为预测预防,开启了智能运维的新篇章。一、透…

滴滴二面(准备二)

手写防抖函数并清晰阐述其价值,确实是前端面试的常见考点。下面我将为你直接呈现防抖函数的代码,并重点结合滴滴的业务场景进行解释,帮助你向面试官展示思考深度。 这是防抖函数的一个基本实现,附带注释以便理解: func…

Kubernetes(四):Service

目录 一、定义Service 1.1 typeClusterIP 1.2 typeNodePort 1.3 typeLoadBalancer 1.4 typeExternalName 1.5 无标签选择器的Service 1.6 Headless Service 二、Kubernetes的服务发现 2.1 环境变量方式 2.2 DNS方式 Kubernetes 中 Service 是 将运行在一个或一组 Pod 上的应用…

在 Python 中实现观察者模式的具体步骤是什么?

在 Python 中实现观察者模式可以遵循以下具体步骤,这些步骤清晰地划分了角色和交互流程: 步骤 1:定义主题(Subject)基类 主题是被观察的对象,负责管理观察者和发送通知。需实现以下核心方法: 存…

分布式方案 一 分布式锁的四大实现方式

Java分布式锁实现方式详解 什么是分布式锁 基于数据库的分布式锁基于Redis的分布式锁基于ZooKeeper的分布式锁基于Etcd的分布式锁 各种实现方式对比最佳实践建议多节点/线程调用结果展示 基于数据库的分布式锁 - 多线程测试基于Redis的分布式锁 - 多节点测试基于ZooKeeper的分…

基于Room+RESTful的双权限Android开机时间监控方案

概述 以下是使用Kotlin实现的商业级Android开机时间记录功能,包含现代Android开发最佳实践。 系统架构 组件设计 // BootReceiver - 接收开机广播 class BootReceiver : BroadcastReceiver() {override fun onReceive(context: Context, intent: Intent?) {if (int…

水库大坝安全监测系统的作用

水库大坝作为重要的水利基础设施,承担着防洪、供水、发电、灌溉等多重功能,其安全性直接关系到人民生命财产安全和社会经济发展。然而,由于自然环境变化、材料老化、荷载作用以及人为因素的影响,大坝在长期运行过程中可能出现裂缝…

《Kubernetes 构建 MySQL MGR 集群实战教程》

#### 一、前言 MySQL Group Replication (MGR) 是 MySQL 官方提供的高可用集群方案,基于 Paxos 协议实现多节点数据强一致性。本教程将指导如何在 Kubernetes 上部署 MySQL MGR 集群,适用于生产级高可用场景。---#### 二、环境准备 1. **Kubernetes 集…

影视APP源码 SK影视 安卓+苹果双端APP 反编译详细视频教程+源码

内容目录一、详细介绍二、效果展示1.部分代码2.效果图展示三、学习资料下载一、详细介绍 影视APP源码 SK影视 安卓苹果双端APP 反编译详细视频教程源码 自带对接优效SDK广告(已失效)。域名和IP都可以搭建。 自带一起看和短剧页面功能,三种…

pyqt+python之二进制生肖占卜

目录 一、引言 二、GUI界面设计 1.效果演示 2.相关提示 3.界面设计.py 三、主要程序详解 1.导入相关模块 2.初始化设置 3.组内判断 4.猜测过程 四、总程序代码 一、引言 在数字时代,传统文化与编程语言的碰撞总能迸发奇妙火花。本项目以PyQtPython为技术…

人工智能-python-深度学习-经典网络模型-LeNets5

文章目录LeNet-5(详解)—— 从原理到 PyTorch 实现(含训练示例)简介LeNet-5 的核心思想LeNet-5 逐层结构详解逐层计算举例📌 输入层📌 C1 卷积层📌 S2 池化层📌 C3 卷积层&#x1f4…

机器视觉的手机柔性屏贴合应用

在智能手机制造领域,柔性屏逐渐成为智能手机的主流选择,柔性屏因其轻便、易于弯曲的特性,已成为现代电子设备的重要组成部分,但同时也带来了前所未有的制造挑战。柔性屏与传统刚性玻璃屏有本质区别,它容易形变&#xf…

贪心算法应用:数字孪生同步问题详解

Java中的贪心算法应用:数字孪生同步问题详解 贪心算法是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致结果是全局最好或最优的算法。下面我将全面详细地讲解贪心算法在数字孪生同步问题中的应用。…

UOS20系统安装与 SSH/XRDP 远程访问功能配置指南

UOS20系统安装与 SSH/XRDP 远程访问功能配置指南 一、UOS 20 系统安装​ ​1. 下载系统镜像​ 访问统信官网下载 UOS 20 专业版镜像(推荐适配当前硬件的版本): https://www.chinauos.com/resource/download-professional 2. 系统安装与硬件配…

【Python】S1 基础篇 P5 字典模块指南

目录字典的本质与底层实现基础语法结构使用字典访问字典中的值添加键值对修改字典中的值删除键值对使用 get() 来访问值遍历字典遍历所有键值对遍历字典中的所有键遍历字典中的所有值嵌套字典列表在字典中存储列表字典(Dictionary)是Python中灵活且强大的…

计算机视觉之多模板匹配

简介 计算机视觉第一课opencv(四)保姆级教学 之前说过模糊匹配只是对于单个目标进行匹配,今天我们就来学习一下如何对多个目标进行匹配 一、多目标匹配 对于这个图片我们要匹配下面那个箭头,我们可以发现图中是有两个位置相同的…

封装日期选择器组件,带有上周,下周按钮

ui图组件代码如下&#xff1a; <template><div><el-date-pickerv-model"dateRange"type"daterange"align"right"size"mini":editable"false"unlink-panelsrange-separator"至"start-placeholder&q…

基于SpringBoot+MYSQL开发的AI智能大数据医疗诊断平台

角色&#xff1a; 管理员、医生、居民 技术&#xff1a; SpringBoot、MyBatis、MySQL、Shiro、Beetl、Swagger、jQuery、Bootstrap 核心功能&#xff1a; 这是一个基于SpringBoot的社区医疗管理平台&#xff0c;旨在为管理员提供用户、角色、部门、菜单、日志等系统管理功能&am…