Kubernetes ingress-nginx LoadBalancer 指向云存储桶

ses*_*ses 5 load-balancing gcloud kubernetes nginx-ingress

我使用nginx-ingress-controller:0.24.1 (灵感来自)

我想将 DNS A 记录设置为 LB IP 地址,以便将其连接到my-back-end-bucket根目录中有公共 index.html的 Google 云公共存储桶 ( ) 并通过另一个 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
Run Code Online (Sandbox Code Playgroud)

通过访问https://my.ip.add.ress/c - 得到两个输出:你好,世界!桶内容。

“你好,世界!” 形成hello-world-service

来自存储桶的 index.html 文件的“存储桶内容”

问题:如何使它工作,通过ip/ - 我得到一个存储桶内容和通过ip/c - 后端响应内容?