【问题标题】:Kubernetes Ingress redirect to a directoryKubernetes Ingress 重定向到一个目录
【发布时间】:2019-05-21 15:51:18
【问题描述】:

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

【问题讨论】:

    标签: kubernetes kubernetes-ingress nginx-ingress


    【解决方案1】:

    可以加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 pod 中查看最终的配置文件:

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

    【讨论】:

    • 假设它将尝试使用 /opt/comapny/docs-branch/;它会在入口控制器 pod 中查找该文件夹吗?
    • 是的,控制器上没有内容。 root 在这里没有用处,只是您需要重定向的任何内容,以便它将客户端发送到您的服务的正确 URL。
    • 它在尝试保存入口 yaml 时告诉我:# *:无效值:“编辑的文件验证失败”:[yaml:第 8 行:在此上下文中不允许映射值,无效字符 'a' 寻找值的开始]
    • 听起来像引用块| 可能不正确。查找以a开头的行
    • 另外,我并不是要暗示这是正确的重定向配置,我只是将您的配置复制到 sn-p 中。一旦您可以正确设置 yaml,请检查配置文件以查看它是否正常。
    猜你喜欢
    • 1970-01-01
    • 2022-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多