Kubernetes入口重定向到一个目录

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

使用kubernetes中的入口示例。我一直在尝试浏览,但不明白如何重写Ingres,从文件夹中获取需要的文件,该文件包含kubernetes中的Ingres对象

以下是一个例子:

 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