【问题标题】:Can gcloud be used to change the instance group a LB is pointing to?可以使用 gcloud 更改 LB 指向的实例组吗?
【发布时间】:2021-10-27 04:52:31
【问题描述】:

我正在尝试自动化我目前正在手动执行的流程。 我有一个 TCP 负载均衡器,我需要更改它引导流量的实例组。 手动操作时,非常简单直接,我只需在 Web 界面中编辑 LB 设置,然后在“后端配置”下切换实例组: Manually changing via web interface

我正在尝试使用 gcloud 复制该过程,使用以下命令:

gcloud compute backend-services update-backend BACKEND-SERVICE-NAME --instance-group=INSTANCE-GROUP-NAME --instance-group-region=us-east4  --project=PROJECT

但是得到以下错误:

(gcloud.compute.backend-services.update-backend) At least one property must be modified.

gcloud compute backend-services update-backend 的文档中说:

要添加、删除或交换后端,请使用 gcloud compute backend-services remove-backend 和 gcloud compute backend-services add-backend 命令。

这是否意味着无法使用 gcloud 复制该过程? 我必须先删除实例组,然后添加新的实例组,这将意味着 LB 的部分流量丢失。 如何在不停机的情况下在后端之间进行交换,尽可能通过 Web GUI 进行?

【问题讨论】:

    标签: google-cloud-platform gcloud google-cloud-sdk


    【解决方案1】:

    gcloud compute backend-services update-backend 根据 GCP 官方 documentation 更新已与后端服务关联的后端的属性。它不能删除实例组或向 LB 后端服务添加新的实例组。为此,以下命令将帮助您实现此方案,但正如您所提到的,LB 会造成流量损失。

    • 移除 LB 后端服务的实例组。
     gcloud compute backend-services remove-backend BACKEND_SERVICE_NAME --instance-group=INSTANCE_GROUP   --instance-group-zone=INSTANCE_GROUP_ZONE --region=REGION --project=PROJECT
    
    • 将新的实例组添加到 LB 后端服务。
     gcloud compute backend-services add-backend BACKEND_SERVICE_NAME --instance-group=INSTANCE_GROUP --instance-group-zone=INSTANCE_GROUP_ZONE --region=REGION --project=PROJECT
    
    • 获取可用的 LB 后端服务列表。
     gcloud compute backend-services list.
    

    为避免停机,您可以使用 GCE 实例组中的滚动更新功能。此document 解释了如何自动向 MIG 中的实例推出更新。

    【讨论】:

    • 我设法通过使用gcloud compute backend-services export 导出配置文件,在本地文件上进行更改,然后使用gcloud compute backend-services import 导入它来更改后端服务实例组这是否与以下效果相同在 Web 界面中交换实例组,意味着没有停机时间?
    • @SimpleNiko 我已经测试了上述场景,我可以观察到几秒钟的停机时间,即使我在 LB 中手动更改实例组我也观察到几秒钟的停机时间,因为我们正在对 LB 进行更改根据我的理解,可能需要几秒钟才能进入就绪状态。我认为为了避免停机,您可以在 GCE 实例组中使用滚动更新功能。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-03
    • 1970-01-01
    • 1970-01-01
    • 2021-12-17
    相关资源
    最近更新 更多