У нас есть кластер k8s с установленными nginx Ingress и Minio. В Minio у меня есть корзина tester
с файлом hello world index.html
. Я использовал клиент Minio MC, чтобы сделать корзину tester
общедоступной. Теперь я могу видеть файл hello world, когда захожу на свой (измененный) URL-адрес minio, например: https://minio.example.com/tester/index.html
.
Моя цель — настроить ресурс Ingress для доступа к общедоступной корзине. Вот мой манифест, чтобы попытаться сделать это, однако я получаю только ошибку 404. . .
ingress.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: frontend-site
namespace: "default"
labels:
type: "frontend"
awesomeness: "super-mega"
annotations:
kubernetes.io/ingress.class: "nginx"
spec:
rules:
- host: app.example.com
http:
paths:
- path: /tester/
backend:
serviceName: minio-svc
servicePort: 9000
- path: /tester/*
backend:
serviceName: minio-svc
servicePort: 9000
tls:
- hosts:
- app.example.com
secretName: ssl-certs
Я также пытался установить пути с индексным файлом, но безрезультатно:
path: /tester/index.html
path: /tester/index.html/*
У меня есть еще один Ingress, который указывает на Minio в целом, и он отлично работает с URL-адресом, таким как minio.example.com
. У minio есть служба под названием minio-svc
на порту 9000.
К сожалению, до сих пор я получил только 404 от моего Ingress. Кто-нибудь еще развертывает статические сайты с помощью Ingress в общедоступной корзине Minio? Что я делаю неправильно???
Обновления
Так что я куда-то попал. Я добавил аннотацию и указал пути просто /
и /*
.
Вот мой новый конфиг:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: frontend-site
namespace: "default"
labels:
type: "frontend"
awesomeness: "super-mega"
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /tester/index.html
spec:
rules:
- host: app.example.com
http:
paths:
- path: /
backend:
serviceName: minio-svc
servicePort: 9000
- path: /*
backend:
serviceName: minio-svc
servicePort: 9000
tls:
- hosts:
- app.example.com
secretName: ssl-certs
Теперь я просто получаю отказ в доступе от Minio, несмотря на то, что корзина является общедоступной, и я все еще могу получить доступ с https://minio.example.com/tester/index.html
!?