【k8s】ing-rules-path
环境
- kubernetes 1.20.6
- Spring Boot 2.5.0-M3
目标
rules 规则下的 path 可以设置路径,并且可以将不同的路径转换到不同的服务上,还可以截取部分路径进行转发。
示例
前提
[root@master ~]# kubectl get deployments,pod,service
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/spring-k8s 1/1 1 1 10d
NAME READY STATUS RESTARTS AGE
pod/spring-k8s-79f74b55d7-tjh7c 1/1 Running 2 10d
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 10d
service/spring-k8s ClusterIP 10.105.119.22 <none> 80/TCP 10d
[root@master ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
ing.yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: spring-k8s
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /$2
spec:
rules:
- http:
paths:
- path: /test1(/|$)(.*)
pathType: Prefix
backend:
service:
name: spring-k8s
port:
number: 80
- path: /test2(/|$)(.*)
pathType: Prefix
backend:
service:
name: spring-k8s
port:
number: 80
查看
[root@master ~]# kubectl describe ing spring-k8s
Name: spring-k8s
Namespace: default
Address: 10.105.218.18
Default backend: default-http-backend:80 (<error: endpoints "default-http-backend" not found>)
Rules:
Host Path Backends
---- ---- --------
*
/test1(/|$)(.*) spring-k8s:80 (10.244.2.20:8080)
/test2(/|$)(.*) spring-k8s:80 (10.244.2.20:8080)
Annotations: nginx.ingress.kubernetes.io/rewrite-target: /$2
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Sync 2m18s (x15 over 80m) nginx-ingress-controller Scheduled for sync
访问测试
[root@master ~]# curl spring.k8s.jiangbo:31136/test2/hostname;echo
spring-k8s-79f74b55d7-tjh7c
[root@master ~]# curl spring.k8s.jiangbo:31136/test1/hostname;echo
spring-k8s-79f74b55d7-tjh7c
总结
path 可以指定路径对应的服务,并且可以将路径进行截取后转发。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2020-05-30 JavaWeb:Filter