在完成资源组部署期间,如果未在模板中指定资源,则期望资源将被删除。
但是在我的情况下(部署带有CNAME的DNS区域的RSG),如果通过copy / copyIndex迭代器指定CNAME,则不会删除从数组参数投影后丢失的CNAME。
我有a basic template应该重现这个问题。
我找不到任何解释这种行为警告的文档,所以我不确定这是一个错误还是预期的行为?
如果我采取“严厉”的方法来整理整个DNS区域,然后立即使用新模板重新部署它,这将导致DNS服务出现问题,假设重新部署没有问题此操作是在受影响资源的TTL下进行的吗?
虽然听起来合理,但我的直觉告诉我这将永远是一个无法保证的竞争条件。即: - 如果“客户端”TTL在我查看区域后立即过期,则DNS查找将失败,直到重新部署发生并且记录在Azure DNS中生效。
但这提出了一些问题:
对现有DNS记录的更改可能需要更长时间,但仍应在60秒内反映在Azure DNS名称服务器上
答案 0 :(得分:0)
这是因为子资源实际上不是资源,即使它们是在模板中以这种方式编写的。部署的“模式”由ARM在平台层处理,图中唯一的资源是dnszone。
你可能会认为RP应该更新属性以从dnszone资源中删除另一个cname(它将独立于部署模式)...因为如果它不是唯一的办法是删除整个记录可能不太理想。不同的RP在ARM中处理这种不同的方式(不幸的是)......如果你对这种行为有强烈的看法,你可以打开一个用户声音请求......
那有帮助吗?