Kubernetes Ingress重定向到目录

时间:2019-05-21 15:51:18

标签: kubernetes kubernetes-ingress nginx-ingress

在kubernetes中使用入口示例。我一直在尝试浏览,但无法理解如何重写入口以从网站上将需要的文件与文件夹中的kubernetes中的入口对象一起获取

这里是示例:

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

1 个答案:

答案 0 :(得分:2)

可以添加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;
      }

您可以在此处轻松地进行操作,以便在入口控制器窗格中查看最终的配置文件:

kubectl get pods
kubectl exec mingress-nginx-ingress-controller-8f57f66d-mm9j7 cat /etc/nginx/nginx.conf | less