Kubernetes / Helm进入路径与nginx和正则表达式
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Kubernetes / Helm进入路径与nginx和正则表达式,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1836字,纯文字阅读大概需要3分钟。
内容图文
![Kubernetes / Helm进入路径与nginx和正则表达式](/upload/InfoBanner/zyjiaocheng/964/dc6db5fb587a4a9eb6211f88d1b7930e.jpg)
我们的生态系统中有许多微服务,其中两个处理用户数据:
>用户服务 – >
> POST /用户
> GET / users / [[:alnum:]]
>文件服务 – >
> POST / users / [[:alnum:]] / documents
> GET / users / [[:alnum:]] / documents / [[:alnum:]]
因此我想在Ingress中定义它:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: {{.Release.Name}}
annotations:
kubernetes.io/ingress.class: "nginx"
kubernetes.io/tls-acme: "true"
ingress.kubernetes.io/enable-cors: "false"
ingress.kubernetes.io/ssl-redirect: "true"
labels:
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
app: "{{ template "fullname" . }}"
heritage: "{{ .Release.Service }}"
release: "{{ .Release.Name }}"
tier: frontend
spec:
tls:
- secretName: {{ template "tls.fullname" . }}
hosts:
- "staging.ourhost.com"
rules:
- host: "staging.ourhost.com"
http:
paths:
- path: "/users/[[:alnum:]]+"
backend:
serviceName: {{ .Values.api.services.user_service | quote }}
servicePort: 8080
- path: "/users/[[:alnum:]]+/documents"
backend:
serviceName: {{ .Values.api.services.document_service | quote }}
servicePort: 8888
这导致在ngix.conf中设置以下内容:
location /users/[[:alnum:]]+ {
...
}
location /users/[[:alnum:]]+/documents{
...
}
即正则表达式未得到解决.
我尝试将其拆分为单独的入口并使用注释
ingress.kubernetes.io/rewrite-target: "/users/$1/documents"
但这导致了nginx.conf中的以下内容
location ~* ^/users/[[:alnum:]]+/documents/(?<baseuri>.*) {
set $proxy_upstream_name "default-dev-document_service-8888";
...
rewrite /users/[[:alnum:]]+/documents/(.*) /users/$1/documents/$1 break;
proxy_pass http://default-dev-document_service-8888;
}
问题(最后):
>为什么总是追加$1?这对我来说很奇怪
>有人知道另一种让路径与正则表达式一起工作的方法吗?
任何建议都会大大贬低
解决方法:
经过大量的搜索,似乎我试图做的事情在入口中是不可能的.我和他们一起开了一个PR,我正等着看它是否会被合并.
我尚未公开部署具有此更改的版本,但可以使用k8s中的dev docs构建分支
内容总结
以上是互联网集市为您收集整理的Kubernetes / Helm进入路径与nginx和正则表达式全部内容,希望文章能够帮你解决Kubernetes / Helm进入路径与nginx和正则表达式所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。