【问题标题】:Google Cloud Compute - Virtual Machine Scaling and Load Balancing谷歌云计算 - 虚拟机扩展和负载平衡
【发布时间】:2015-12-25 02:47:36
【问题描述】:
前几天我使用他们的免费试用促销活动注册了 Google Cloud。到目前为止我喜欢它。我有几个可能是云计算通用的问题,我是新手。我使用 Ubuntu Linux 启动了我的测试虚拟机,没有任何问题。
我对云概念的问题是 - 首先:
- 如何扩展实例。您可以从微型扩展到小型(反之亦然)吗?
感谢您的帮助!
【问题讨论】:
标签:
virtual-machine
google-compute-engine
google-cloud-console
【解决方案1】:
第一个问题:如何垂直缩放实例?答:您必须重新创建实例并销毁旧实例。您不能只是使现有实例变小或变大。幸运的是,您可以编写整个设置的脚本。 GCE 允许您添加一个名为--metadata-from-file 的标志。如果您使用的是 systemd,我建议您使用--metadata-from-file user-data=cloud-config.yaml 的效果。由于您使用的是 Ubuntu,并且 Ubuntu 对 systemd 的支持充其量只是粗略的,您可能只想执行以下操作:--metadata-from-file startup-script=my-startup-script.sh 为您的部署编写脚本将允许您扩展、重新创建和记录您的部署,这是一个最佳实践云计算。
第二个问题:实例组和负载平衡组如何工作?答:GCE 中的实例组几乎总是属于“托管”类型。这允许您创建一个模板来定义您希望实例如何工作。然后您可以在负载均衡器后面水平扩展它们(即添加更多或删除一些)。您甚至可以利用抢占式实例来节省一些现金。
第三个问题:如何推送更新?这取决于您的部署方式。但总的来说,我会说:
- 如果您使用 Docker,请将新映像推送到 GCR 并让您的实例拉取它。
- 如果您使用 CM(如 Salt 或 Ansible),请正常使用这些工具。他们在 GCE 上运行良好
- 如果您使用启动脚本,请执行
gcloud compute instances myinstance add-metadata metadata-from-file startup-script=newScript.sh 之类的操作(然后重新启动)
- 如果托管实例模板中包含所有内容,请更新您的模板。