我希望我的入口Nginx在每个请求上都返回$ source .bash_profile
$ python
>>>import os
>>> os.environ.get("variable")
"/Users/myUser/Library/Application Support"
>>>
。
如果我可以访问nginx配置,则可以执行以下操作:
200
但是我不确定如何在入口配置YAML中做到这一点
答案 0 :(得分:1)
考虑到使用Nginx控制器时,Kubernetes的ingress
对象主要用于路由,而不是自己服务。实际为他们提供服务的是部署在集群中的后端,而这部分是返回状态代码的内容,而不是ingress
。
控制器has a feature something similar to what you want, but for errors only。这只会使ingress
添加一些标头,以便后端可以解释它们,并返回一些非标准的代码响应。
如果您modify this backend,可能可以使他们回复200
。但是,我发现ingress
中的所有传入请求将其重定向到始终响应{{1的自定义Nginx后端}的破坏性较小,并且更加直接“ catch-all ” }}(您已经具有Nginx的配置):
200
使用这种方法,您甚至可以向其中添加非200的后端,并使用正则表达式进行匹配,这样apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: nginx
ingress.kubernetes.io/rewrite-target: /
nginx.ingress.kubernetes.io/use-regex: "true"
labels:
app: all-good
name: happy-ingress
spec:
rules:
- host: "*"
http:
paths:
- path: /(.*)
backend:
serviceName: ok-status-test
servicePort: 80
就可以完全重用。