我有一个静态网站包,我想在我的集群上提供服务。捆绑包存储在谷歌云存储桶中,这让我觉得我实际上可能不需要单独的“服务器”来返回文件。
我已经能够让 Python-Flask 引用存储桶中的文件,但我似乎无法弄清楚如何让大使做同样的事情。我可以做一些事情,比如将包添加到 nginx 实例中,但我不想将 JS 包构建到任何 docker 映像中,这样我就可以进行快速更新。
我不知道如何设置大使路线来执行以下操作:
如果用户去
他们index.html
从我的 Google Bucket 获得服务my-bucket/index.html
当 index.html 在内部引用文件 (/static/js/main.js) 时,Ambassador 会提供在以下位置找到的文件my-bucket/static/js/main.js
我试过设置这样的服务:
apiVersion: v1
kind: Service
metadata:
annotations:
getambassador.io/config: |
---
apiVersion: ambassador/v0
kind: Mapping
name: website_mapping
prefix: /website/
service: https://my-bucket-url/index.html
name: website-service
labels:
app: website-service
spec:
ports:
- port: 80
targetPort: 80
name: http-website
selector:
app: website
但是导航到my-website.com/website/
只会给我一个 503 错误,控制台抱怨“未声明纯文本文档的编码字符”
我觉得我做错了。我可以像这样使用大使直接从桶中提供服务,还是我真的需要像 nginx 这样的东西?