Kubernetes入口重定向到一个目录
使用kubernetes中的入口示例。我一直在尝试浏览,但不明白如何重写Ingres,从文件夹中获取需要的文件,该文件包含kubernetes中的Ingres对象 以下是一个例子:Kubernetes入口重定向到一个目录,kubernetes,kubernetes-ingress,nginx-ingress,Kubernetes,Kubernetes Ingress,Nginx Ingress,使用kubernetes中的入口示例。我一直在尝试浏览,但不明白如何重写Ingres,从文件夹中获取需要的文件,该文件包含kubernetes中的Ingres对象 以下是一个例子: apiVersion: extensions/v1beta1 kind: Ingress metadata: annotations: nginx.ingress.kubernetes.io/rewrite-target: /$1 name: tomcat-i
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /$1
name: tomcat-ingress
namespace: default
spec:
rules:
- host: rewrite.bar.com
http:
paths:
- backend:
serviceName: tomcat-deployment-service
servicePort: 8080
path: /tomcat/?(.*)
- backend:
serviceName: nginx-deployment-service
servicePort: 80
path: /nginx/?(.*)
下面是如何在本地nginx服务器中完成的:
location ~* /company/logo/[0-9]*/.*\.(jpg|jpeg|gif|png)$ {
root /opt/comapny/docs-branch/;
rewrite /company/logo/([0-9]*)/(.*) /$1/$2 break;
我试图弄清楚,当访问这个端点时,如何重定向到一个文件夹,以便它可以在需要时获取其文件。还应尝试从nginx控制器吊舱或具有入口服务的吊舱访问它们。可以添加:
您可以很容易地在此处中断内容,因此要查看入口控制器吊舱中的最终配置文件,请执行以下操作:
kubectl get pods
kubectl exec mingress-nginx-ingress-controller-8f57f66d-mm9j7 cat /etc/nginx/nginx.conf | less
假设它将尝试使用/opt/copany/docs branch/;它会在入口控制器吊舱中查找该文件夹吗?是的,控制器上没有内容。
root
在这里没有任何用处,只要您需要重定向,它就会将客户端发送到您服务的正确URL。在尝试保存入口yaml时,它对我说:#*:无效值:“编辑的文件验证失败”:[yaml:第8行:在此上下文中不允许映射值,查找值开头的字符“a”无效]听起来引号块|
可能不正确。请查找以a
开头的行。我也不是想暗示这是正确的重定向配置,我只是将您的配置复制到代码段中。一旦您可以正确获得yaml,请检查配置文件,看看这是否正常。
kubectl get pods
kubectl exec mingress-nginx-ingress-controller-8f57f66d-mm9j7 cat /etc/nginx/nginx.conf | less