在kubernetes中使用入口示例。我一直在尝试浏览,但是不明白如何重写Ingress以从网站获取需要的文件,该文件带有文件夹中kubernetes中的ingress对象

这是示例:

 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 Controller 容器或具有入口服务的容器访问它们

最佳答案

可以添加custom config snippets to an Ingress via annotations:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    nginx.ingress.kubernetes.io/server-snippet: |
      location ~* /company/logo/[0-9]*/.*\.(jpg|jpeg|gif|png)$ {
          rewrite /company/logo/([0-9]*)/(.*) /$1/$2 break;
      }

您可以在此处轻松地进行操作,以便在ingress-controller Pane 中查看最终的配置文件:
kubectl get pods
kubectl exec mingress-nginx-ingress-controller-8f57f66d-mm9j7 cat /etc/nginx/nginx.conf | less

关于kubernetes - Kubernetes Ingress重定向到目录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56242057/

10-12 23:37