google-cloud-platform - 在 GCP 中找不到托管实例组的滚动更新选项
问题描述
我在 GCP 中创建了一个托管实例组(无状态)。MIG 有一个启动脚本,像这样
apt-get install -y apache2
apt-get install -y php7.0
service apache2 restart
echo "Hi" > /var/www/html/index.html
然后将 MIG 保留为负载均衡器的后端。
- 创建 MIG 后,我正在尝试添加新的实例模板并更新 MIG
- 我选择了 MIG 并在页面顶部我希望看到一个滚动更新按钮,但这是不可见的。
- 有一个 Update Vms 选项,我可以通过它添加新模板。那么,滚动更新和更新虚拟机选项有什么区别呢?什么时候会选择一个而不是另一个?还是它们是相同的选择?
解决方案
您可以参考MIG文档中的更新实例,这将帮助您选择更适合您的实施的更新。
滚动更新MIG 自动向 MIG 中的所有托管实例或随机子集推出实例模板的新版本。
您可以按照后续步骤处理您需要的滚动更新。
- 转到 [Compute Engine > 实例组]。
- 选择要更新的实例组。
- 在顶部,您会找到“更新 VMS”。
- 创建一个新模板。
- 更新虚拟机。
选择性更新您可以专门针对选定的实例进行更新。如果要手动编排更新,请使用此方法。
因此,对于选择性更新,您可以对其进行控制,如果您需要对更新进行一些测试,这将很有帮助。
对于此更新,需要在 gcloud 中使用以下命令设置新模板。
gcloud compute instance-groups managed set-instance-template
INSTANCE_GROUP_NAME \
--template=INSTANCE_TEMPLATE \
[--zone=ZONE | --region=REGION]
要将更新应用到特定实例,可以执行以下命令。
gcloud compute instance-groups managed update-instances
INSTANCE_GROUP_NAME \
--instances INSTANCE_NAMES \
--most-disruptive-allowed-action DISRUPTION_LEVEL \
--minimal-action DISRUPTION_LEVEL
推荐阅读
- copy - 如何使用工作表中的下一行以 15-16 的间隔编写代码以复制、粘贴、自上而下?
- node.js - 使用 child_process 模块执行文件时了解 child_process 模块和 exec 功能
- javascript - 同步的 Highchart 数据加载问题
- php - 从输入创建数组?
- javascript - Javascript 控制台不打印返回
- javascript - 如何对具有依赖性的函数进行单元测试(角度)
- php - 是否可以在使用 webpack 构建的 vue.js 项目中使用 index.php 而不是 index.html?
- c++ - c++模板模板推断类型参数
- sql - 在字符串中拆分子字符串
- gradle - Gradle 中的 Extensions 和 Extra 属性之间的区别