Я использую nginx-ingress-controller: 0.24.1 ( Вдохновлен )
Я хотел бы установить запись DNS A на LB IP-адрес,поэтому он подключил бы его к общедоступной корзине облака Google (my-back-end-bucket
), которая имеет открытый index.html в корне, и к бэк-энду с помощью другого правила URL.
kind: Service
apiVersion: v1
metadata:
name: ingress-nginx
namespace: ingress-nginx
labels:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
spec:
externalTrafficPolicy: Local
type: LoadBalancer
selector:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
ports:
- name: http
port: 80
targetPort: http
- name: https
port: 443
targetPort: https
---
kind: Service
apiVersion: v1
metadata:
name: google-storage-buckets-service
namespace: ingress-nginx
spec:
type: ExternalName
externalName: storage.googleapis.com
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: proxy-assets-ingress
namespace: ingress-nginx
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /my.bucket.com
nginx.ingress.kubernetes.io/secure-backends: "true"
nginx.ingress.kubernetes.io/upstream-vhost: "storage.googleapis.com"
spec:
rules:
- http:
paths:
- path: /*
backend:
serviceName: google-storage-buckets-service
servicePort: 443
- path: /c/
backend:
serviceName: hello-world-service
servicePort: 8080
Достигнув https://my.ip.add.ress/c - получил оба выхода: Привет, мир!содержимое корзины.
«Привет, мир!» из службы hello-world-service
«содержимое корзины» из файла bucket 'index.html
Вопрос: как заставить его работать так, чтобы к ip / - я получил содержимое корзины и ip / c - внутреннее содержимое ответа?