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