创建API管理资源(API、自定义域等),地形不可靠或耗时



我们有多个地形脚本,可以在azure上创建/更新数百个资源。如果我们想更改api管理相关资源的任何内容,都需要很长时间,甚至会定期超时。再次运行它有时会解决问题,但有时也会告诉我们,我们想要创建的api已经存在,诸如此类。

客户对我们提供不可靠的更新脚本感到非常恼火,这些脚本给负责部署和运行整个产品的运营团队带来了相当大的工作量。保存api管理中的更改也需要很长时间,并且在使用azure门户时会出现错误。

关于如何改善我们的处境,有什么诀窍或线索吗?

(这种情况已经持续了一段时间,随着时间的推移,感觉越来越糟(

我首先会使用调试选项来精确地排序哪些资源占用的时间最长。你可以考虑把它们分解成一个单独的状态,这样你就不必每次都计算它们了。

接下来,确保正在运行的进程的超时设置大于terraform的超时。在中途杀死地形是结束混乱状态的好方法。

除此之外,您还可以为一些资源提供操作超时。有了这些,你可以确保terraform在运行terraform的进程杀死它之前将其视为失败(如果它们可用的话(。

我会考虑在azurerm提供商上打开一个bug,或者在社区论坛的Terraform部分询问。

Azure API管理应用更改的速度较慢,因为它是一个分布式服务。更新操作需要等待一段时间,直到将更改应用于所有实例。如果你在门户中遇到类似的问题,这表明它与Terraform或AzureRM无关。我会联系Azure支持,因为他们会有遥测技术来进一步帮助你。

根据我的个人经验,让事情陷入困境的一个有保证的方法是连续做很多小的改变,而不必等待前一个改变完成,所以我会从检查开始。

最后,如果您在前面的步骤中找不到帮助,我会尝试使用Bicep/ARM来管理APIM。通常,ARM部署API比Terraform&转到SDK。

最新更新