Cloudrun的force-override参数不生效,如何实现域名映射单步覆盖?
问题原因
--force-override参数仅支持覆盖同一服务下已有的同域名映射配置,无法实现跨服务的域名映射强制替换,因此当目标域名已经绑定到其他Cloud Run服务时,仍然会报域名已存在的错误。
替代方案
目前没有原生的单条gcloud命令支持同时完成旧映射删除+新映射创建的操作,你可以使用shell命令拼接的方式实现单行执行:
gcloud beta run domain-mappings delete --domain=stutzen.co --region='us-central1' --quiet && gcloud beta run domain-mappings create --service=ms-stutzen --domain=stutzen.co --region='us-central1'
- 命令中的
--quiet参数会跳过删除操作的人工确认提示,适合自动化场景使用 - 如果需要兼容旧映射不存在的场景,可以将命令中的
&&替换为;,这样即使删除步骤执行失败,后续的创建步骤仍然会正常执行 - 注意:删除旧映射到新映射生效的间隔期内,域名会出现短暂的不可访问情况
内容的提问来源于stack exchange,提问作者arvindwill
相关产品推荐
相关产品推荐

