k8s Nginx Ingress 常用的 9个 配置(annotation)
off999 2025-02-03 14:31 43 浏览 0 评论
上一篇文章介绍了 ingress vhost这个annotation的使用,趁热打铁我们一口气介绍 9 个常用的annotation。
1、ingress class
如果一个k8s 集群里面部署多个ingress controller的时候,如果配置ingress 希望指定到某个ingress controller的时候,ingress claas就发挥巨大作用了。
一方面在controller启动的时候需要通过参数指定ingress class
--ingress-class=ngx-ds另一方面,在创建ingress的时候,通过annotation指定ingress class,如下所示
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: other-ngx-k8s
namespace: other-ngx
annotations:
kubernetes.io/ingress.class: "ngx-ds"
spec:
rules:
- host: other-ngx-k8s.demo.com.cn
http:
paths:
- path: /
backend:
serviceName: other-ngx-k8s-ngx-svc
servicePort: 90012、 强制https
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"通过这个annotation可以强制 https,如果是http请求,会通过 301 redirect到 https。
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: test-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
nginx.ingress.kubernetes.io/ssl-redirect: "true"
nginx.ingress.kubernetes.io/preserve-trailing-slash: "true"
spec:
rules:
- http:
paths:
- path: /testpath
backend:
serviceName: test
servicePort: 803、请求超时
nginx.org/proxy-connect-timeout 和nginx.org/proxy-read-timeout 这两个参数分别设置nginx的建立连接以及等待结果的超时时间。
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: cafe-ingress-with-annotations
annotations:
nginx.org/proxy-connect-timeout: "30s"
nginx.org/proxy-read-timeout: "20s"
spec:
rules:
- host: cafe.example.com
http:
paths:
- path: /tea
backend:
serviceName: tea-svc
servicePort: 80
- path: /coffee
backend:
serviceName: coffee-svc
servicePort: 804、跨域访问
我们经常将nginx作为api的网关,支持跨域必不可少。通过nginx.ingress.kubernetes.io/cors-allow-methods 设置支持跨域请求的方法。
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: test-ingress
annotations:
nginx.ingress.kubernetes.io/enable-cors: "true"
nginx.ingress.kubernetes.io/cors-allow-methods: "PUT, GET, POST, OPTIONS"
nginx.ingress.kubernetes.io/cors-allow-headers: "X-Forwarded-For, X-app123-XPTO"
nginx.ingress.kubernetes.io/cors-expose-headers: "*, X-CustomResponseHeader"
nginx.ingress.kubernetes.io/cors-max-age: 600
nginx.ingress.kubernetes.io/cors-allow-credentials: "false"
spec:
rules:
- http:
paths:
- path: /testpath
backend:
serviceName: test
servicePort: 805、限流
限流也经常使用,通过 rps 限制每秒请求数,rpm 限制每分钟请求数,connections限制连接数。
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: test-ingress
annotations:
nginx.ingress.kubernetes.io/limit-rps: "5"
nginx.ingress.kubernetes.io/limit-rpm: "300"
nginx.ingress.kubernetes.io/limit-connections: "10"
spec:
rules:
- http:
paths:
- path: /testpath
backend:
serviceName: test
servicePort: 806、最大body
这个主要是针对外部请求,防止将流量打满,proxy-body-size 设置最大请求 body,如果超过则会返回 413 请求错误。
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: test-ingress
annotations:
nginx.ingress.kubernetes.io/proxy-body-size: 8m
spec:
rules:
- http:
paths:
- path: /testpath
backend:
serviceName: test7、客户端白名单
这个主要是用于安全限制,只允许特定的客户端请求,但由于现在网络中NAT的广泛应用,这个参数使用的场景比较有限。
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: test-ingress
annotations:
ingress.kubernetes.io/whitelist-source-range: "10.0.0.0/24,172.10.0.1"
spec:
rules:
- http:
paths:
- path: /testpath
backend:
serviceName: test8、默认服务
这个经常使用,当客户端请求一个不存在的path的时候,我们不希望返回 404 ,跳转到一个默认的服务上。
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: test-ingress
annotations:
nginx.ingress.kubernetes.io/default-backend: <svc name>
spec:
rules:
- http:
paths:
- path: /testpath
backend:
serviceName: test9、access log开关
nginx ingress 默认是开启access log的,如果你想关闭,可以通过将 nginx.ingress.kubernetes.io/enable-access-log 设置成false。
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: test-ingress
annotations:
nginx.ingress.kubernetes.io/enable-access-log: "false"
spec:
rules:
- http:
paths:
- path: /testpath
backend:
serviceName: test相关推荐
- app下载注册(app下载注册d39qdf7)
-
1,电脑注册:打开QQ登录页面,点击立即注册。2,会弹出一个网页,填写上昵称、密码、手机号码等信息后,点击立即注册,即可注册QQ账号。3,手机注册,打开QQ进入登录页面,点击新用户注册。然后会提示输入...
- 第三方视频播放器哪个软件好
-
风雷影音播放器2.1.0.5风雷影音II独创双播放内核,聚合MPlayer和MPC强大优势功能,全面支持高清影片流畅播放,无需安装第三方软件,采用级联式多层过滤解码,全面提升影片兼容播放。能够完美播放...
- nba2k22安卓版下载(nba2k24苹果版下载免费)
-
①可能是下载的版本与手机系统不匹配,系统运行不了,用户无法进行安装和使用。②可能是网络线路方面的原因,用户在对其进行使用过程中,网络数据出现故障等情况。③软件厂商没有对安卓系统进行开发,导致安卓用户不...
- 手机勒索病毒下载(下载木马病毒)
-
下载抖音极速版是没有病毒的,抖音极速版就跟抖音一样,都是刷视频的一种娱乐软件而且两个软件都是一家公司开发的,抖音极速版刷视频还可以赚金币得现金,每天所赚的金币第二天凌晨系统会自动兑换成现金,很多人下载...
- store软件下载(store软件下载最新版)
-
在OPPO手机里应用商城里头搜索appstore都可以一键下载了,大家写下载的软件或者是APP都要在你手机里的应用商城里头下载,这样里头是没有木马和病毒的而且下载的都是正规的软件和APP,而且安装是...
- qq五笔输入法官方下载(qq五笔输入法手机版官方正式版)
-
打开应用安装目录,打开程序文件在里面再设置一下,让qq拼音为首选输入法,记住切换输入法的切换键,再不行的话从新安装一下即可遇到这种问题可以尝试以下几种办法:1、重装输入法并从重启一下电脑。有些输入法...
- 查找iphone官网入口(查找iphone官网入口的详细指南)
-
查找我的苹果官网入口:http://www.apple.com.cn/并点击页面右上角的技术支持选项。2.选择您要查询的设备比如说您要查询iPhone的话就选择iPhone3.在iPhone的技术支持...
-
- nba比赛直播(nba比赛直播免费观看直播jrs)
-
NBA比赛直播可以在多个渠道观看,包括电视、网络直播和手机应用等。在电视方面,国内的CCTV-5和湖南卫视等频道都有播出NBA比赛的节目;在网络直播方面,腾讯体育、优酷体育、爱奇艺体育等平台都有提供NBA比赛的直播服务;在手机应用方面,NB...
-
2026-01-21 14:03 off999
- 电脑版ps免费安装包(电脑免费安装photoshop)
-
1.在搜索引擎中输入adobe并点击搜索。2.点击adobe官网。3.点击支持并点击下载与安装。4.点击开始免费试用并点击下载。5.打开文件夹并点击打开进行安装即可。6.根据以上步骤即可下载安装ps。...
- cad制图手机版免费(手机cad制图软件中文免费2020年)
-
手机上看CAD图纸的软件有很多,应用商店一搜一大堆,有几个我觉得不错的,CAD迷你看图最早之前用过,安装包小,确实迷你,看一般小的图纸还可以,大了就不太好用,经常会卡。CAD快速看图,软件就像名字一样...
- 七龙珠游戏格斗手机版(七龙珠游戏格斗手机版破解版)
-
龙珠的卡带对打游戏一共有3个;FC的一个:天下第一武道会GBA两个:对决,舞空斗剧补充;SFC游戏超武斗传.已经知道了.....游戏平台为PS2(虽然wii也有点可能...)....里面龙珠系列的游...
- ocr文字识别(ocr文字识别软件)
-
从广义上说,OCR文字识别也算是人工智能技术,随处可见的人脸识别、OCR识别、指纹识别和虹膜识别技术等人工智能,错落应用在各大领域之中,促进当代企业服务向智能化、自动化转型。云脉OCR开发者平台开放人...
- 手机微信网页版登录(微博官网网页版入口)
-
手机微信网页登陆的入口:1、电脑浏览器地址输入wx点qq点com,回车进入微信网页版登录页;2、手机打开登录自己微信,打开扫一扫功能,扫描网页版上的二维码;3、然后手机点击确定,即可成功登录微信网页版...
- qq影音播放器官方下载(qq影音播放器2018 免费版)
-
因为放到手机内存里面只是个压缩文件,所以本身的播放器是用不了的,只能qq音乐才可以用--,用视频下载软件来下载吧,视频下载软件可以直接下载到MP4格式的文件。qlv格式是没有转换器可以转换格式的。你...
- 一张照片生成3d模型软件(一张照片生成3d模型软件然后把它做出来)
-
DAZStudio是一款功能强大且非常专业的三维人物动画制作软件,通过该软件用户可以快速创建3D人物模型,可选用虚拟人物、动物、道具、环节等道具模型进行创作设计,该软件内置多种方法的三维模型编辑...
欢迎 你 发表评论:
- 一周热门
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
