我们目前在Kubernetes中托管了大量的容器化网站,我们正在探索使用Google App Engine来托管这些网站,但我们无法弄清楚如何在一个Google App Engine帐户中托管大量(数百个)网站。
乍一看,似乎每个网站都是一个独立的项目,但后来很明显,有20个项目的软限制(我们可能最终会托管数百个网站),所以这似乎不是正确的方法。然后,我们探索了如何使用带有dispatch.yaml的单个项目在站点之间进行路由。Dispatch.yaml只允许10个条目,这意味着它将无法工作。我们还遗漏了其他方法吗?我们的dispatch.yaml路由如下所示:
- url: "example2.com/*"
service: my-second-website我们探索的选项都没有提供可扩展或可行的解决方案。任何帮助或建议都将非常感谢。
发布于 2019-03-29 20:37:07
您需要的是一个具有多个服务的App Engine实例(每个网站一个)和每个服务中的多个版本(如果需要)。
例如:
App Engine instance
├── website01-service
│ ├── website01-version01
│ ├── website01-version02
│ └── website01-version03
│
└── website02-service
├── website02-version01
├── website02-version02
└── website02-version03这是Quickstart for Python 3 in the App Engine Standard Environment文档中的示例设置。
hello_world示例文件复制到两个不同的目录中。例如,website01和应该有这样的内容:├── website01
│ ├── app.yaml
│ ├── main.py
│ ├── main_test.py
│ └── requirements.txt
└── website02
├── app.yaml
├── main.py
├── main_test.py
└── requirements.txtwebsite01/app.yaml add service: website01和in website02/app.yaml add service: website02。这会将每个app部署到不同的App Engine服务中,website01/main.py change return 'First website!'和website02/main.py change return 'Second website!'中(这只是为了在部署后确认有两个不同的网站在运行),/website01目录下执行$ gcloud app deploy --version website01-version01,在/website02目录下执行code成功部署。你应该会在谷歌云控制台>应用程序引擎>服务页面中看到两个不同的版本运行。website01 -> https://website01-dot-[PROJECT_ID].appspot.com/
website02 -> https://website02-dot-[PROJECT_ID].appspot.com/发布于 2019-03-28 06:05:44
您是否尝试过请求增加您的项目限制?我认为这是唯一有效的方法。
如果您尝试超出您的项目限制,控制台将提示您填写一份申请表。当您尝试创建项目但已达到配额时,就会发生这种情况。该表单将要求您指定所需的附加项目数量,以及相应的电子邮件帐户、帐单帐户和预期用途。
https://support.google.com/cloud/answer/6330231?hl=en
您可以使用单个项目和单个服务/app.yaml完成此操作,如果您同意每个网站的url如下所示:
然后,您可以使用app.yaml中的handlers进行路由(以及一些轻量级服务器代码,以便在有人试图访问www.website1.com/website2/时进行重定向)。这样做的最大问题是,每次部署时,您都会部署所有100个站点。
https://stackoverflow.com/questions/55386844
复制相似问题