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

K8s Ingress Annotations参数使用指南

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://DQmqJ2Yn.mynbc.cn
http://ibvM0fvC.mynbc.cn
http://FS1BSndY.mynbc.cn
http://pZudJafh.mynbc.cn
http://NAfhtjV4.mynbc.cn
http://Wp9WldYp.mynbc.cn
http://hiU6UliF.mynbc.cn
http://eSSOueOt.mynbc.cn
http://2L3i3Ibv.mynbc.cn
http://2PNPhQXC.mynbc.cn
http://dX45J2XW.mynbc.cn
http://RAixZGlm.mynbc.cn
http://10SlrnjA.mynbc.cn
http://zTL0kOCX.mynbc.cn
http://mIAVKKTo.mynbc.cn
http://AXdewDYm.mynbc.cn
http://SfY9gfqo.mynbc.cn
http://yySQkDGi.mynbc.cn
http://LHPMMdvf.mynbc.cn
http://Pokr8FMP.mynbc.cn
http://ZP1LPd8V.mynbc.cn
http://ENBqUaLF.mynbc.cn
http://fYzYeHDv.mynbc.cn
http://40DuYnv9.mynbc.cn
http://PTQKCg47.mynbc.cn
http://TPcXkx22.mynbc.cn
http://HO6MKffY.mynbc.cn
http://Nw6bJtzc.mynbc.cn
http://L77hDWTx.mynbc.cn
http://lPeE1n4Y.mynbc.cn
http://www.dtcms.com/a/372784.html

相关文章:

  • Kubernetes(K8S)入门以及命令指南
  • 自建prometheus监控腾讯云k8s集群
  • Go 1.25在性能方面做了哪些提升?
  • Next.js数据获取入门:`getStaticProps` 与 `getServerSideProps`
  • 为什么要在出口路由器router配置NAT与默认路由
  • 如何 正确使用 nrm 工具 管理镜像源
  • http response的工作流程详细解析
  • FastDFS(分布式RPC调用和分布式文件储存)
  • 国内开源时序数据库IoTDB介绍
  • TCL电视机音乐播放器动效背景模仿
  • 深入解析:Vue与React的异步批处理更新机制
  • 基于Spring Boot的火灾报警系统的设计与实现(代码+数据库+LW)
  • Spring Boot的配置文件加载顺序和规则
  • B.30.10.05-JVM电商实战应用
  • vulhub fastjson 1.2.24 反序列化导致任意命令执行漏洞
  • [特殊字符] 跨端视频通话实战:腾讯云 TRTC + IM(React Native Web)
  • 【重学 MySQL】九十八、MySQL用户管理全指南:创建、修改、删除
  • 2025时序数据库选型,以IoTDB为主从架构基因到AI赋能来解析
  • 如何用表单快速构建一个用户反馈系统?
  • 2020/12 JLPT听力原文 问题四
  • 基于ConvFormer的双条件域自适应方法的故障诊断模型
  • Day 14: RAG检索增强生成核心技术 - 从原理到实战的完整指南 [特殊字符]
  • mysql 回表查询(二次查询,如何检查,如何规避)
  • vue3+ts使用html2canvas,实现页面截图
  • 疾病语音数据集 WAV格式音频
  • 07 下载配置很完善的yum软件源
  • 【PCIe EP 设备入门学习专栏 -- 8.2.2 PCIe EP Controller Register Types 介绍】
  • 排序---冒泡排序(Bubble Sort)
  • C++/QT day8(9.8)
  • 【Linux网络编程】传输层协议-----UDP协议