Я использую nginx-ingress-controller: 0.24.1 (На основе)
Я хотел бы установить запись DNS A для IP-адреса LB, чтобы он подключал ее к общедоступному сегменту облака 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 - получили оба выхода: < strong> Привет, мир! содержимое корзины.
«Hello, world!» из hello-world-service
"содержимое корзины" из файла bucket 'index.html
Вопрос: как сделать так, чтобы по ip / я получал содержимое корзины, а по ip / c - содержимое ответа серверной части?