none
使用国际版Azure自动化脚本部署时模板,部署到中国版Azure需要注意的问题 RRS feed

  • 问题

  • 各位大神好,如题,如果想把在国际版Azure的一个资源组里面的环境,利用自动化脚本的模板,通过使用powershell,部署到中国版的Azure上,那么,在此需要注意什么问题?要对模板的内容作出修改吗?

    可否使用一下语句执行?

    New-AzureRmResourceGroupDeployment -Mode Incremental(增量)-Name ExampleDeployment -ResourceGroupName //资源组名称-TemplateFile //模板路径

    不知道这样做是否可行,请各位大神指教

    2017年5月12日 8:00

答案

  • Hi Tank,

    问题解决了吗?

    您的错误信息中,部署的资源组名称为 FIFA2017,在您的订阅中有该资源吗?是否是修改模板有遗漏?


    MSDN 社区技术支持
    如果该回复解决了您的问题,请及时点击“标记为答案”选项,如未解决请选择“取消标记为答案”,这会有利于其他人员来阅读您的帖子。如果您对MSDN 技术支持有任何的建议或意见,请随时联系 MSDNFSF@microsoft.com

    • 已标记为答案 Tank Tou 2017年6月11日 4:08
    2017年6月2日 10:00
    版主

全部回复

  • Hi Tank,

    使用国际版 Azure 的 ARM 模板部署到中国区时,需要做一些修改以适用于 Azure 中国云环境,例如,替换一些终结点 -- "blob.core.windows.net" 替换成 "blob.core.chinacloudapi.cn","cloudapp.azure.com" 替换成 "chinacloudapp.cn";改掉一些不支持的 VM 映像,还有,改掉一些不支持的 VM 大小。

    可以使用 New-AzureRmResourceGroupDeployment 命令进行部署, 之前需要先使用 New-AzureRmResourceGroup 创建好对应的资源组。

    参考文档:

    1. 使用 Azure Resource Manager 模板部署常用应用程序框架

    2. 国际版 Azure 与 中国区 Azure 资源资源端点相关说明


    MSDN 社区技术支持
    如果该回复解决了您的问题,请及时点击“标记为答案”选项,如未解决请选择“取消标记为答案”,这会有利于其他人员来阅读您的帖子。如果您对MSDN 技术支持有任何的建议或意见,请随时联系 MSDNFSF@microsoft.com

    2017年5月15日 2:22
    版主
  • Hi David,我在GitHub上面的是找到一个WW Azure的templates,链接为: https://github.com/Azure/azure-quickstart-templates/tree/master/mysql-mha-haproxy-ubuntu,是一个1主2从的配置,我修改了里面的一些配置后,变成1主1从,并将其deploy到MC Azure上面,已根据你的提示,将资源端点修改成为MC Azure的参数,执行powersehll 命令后,报错,如下图

    是否还需要修改某些地方的?

    2017年5月17日 5:16
  • Hi David,我在GitHub上面的是找到一个WW Azure的templates,链接为: https://github.com/Azure/azure-quickstart-templates/tree/master/mysql-mha-haproxy-ubuntu,是一个1主2从的配置,我修改了里面的一些配置后,变成1主1从,并将其deploy到MC Azure上面,已根据你的提示,将资源端点修改成为MC Azure的参数,执行powersehll 命令后,报错,如下图

    是否还需要修改某些地方的?

    漏了说一点,我已经将文件从GitHub 下载到本地,azuredeploy里面的路径,我已经改为本地的路径,报错的原因应该是我的路径问题,但我研究了很久,也没有将本地计算机的路径,转为URI 或者UNC,估计问题就出在这里


    2017年5月17日 14:09
  • Hi Tank,

    您下载的这个 ARM 模板是:一个主模板:azuredeploy.json 链接多个其他模板如:haproxy-resources.json, master-resouces.json,shared-resources.json ......

    对于这种使用链接模板的部署,是无法为链接的模板指定本地文件或只能在本地网络中访问的文件的。只能提供包含 http 或 https 的 URI 值, 所以您此处会有无效链接的错误。

    对于此类 ARM 模板的部署,您可以将链接模板置于存储账户中,并使用该项目的 URI 即可实现,如下所示:

    "templateLink": {
        "uri": "http://mystorageaccount.blob.core.chinacloudapi.cn/templates/template.json",
        "contentVersion": "1.0.0.0",
    }
    参考文档:部署 Azure 资源时使用链接模板


    MSDN 社区技术支持
    如果该回复解决了您的问题,请及时点击“标记为答案”选项,如未解决请选择“取消标记为答案”,这会有利于其他人员来阅读您的帖子。如果您对MSDN 技术支持有任何的建议或意见,请随时联系 MSDNFSF@microsoft.com

    2017年5月18日 6:13
    版主
  • Hi Tank,

    您下载的这个 ARM 模板是:一个主模板:azuredeploy.json 链接多个其他模板如:haproxy-resources.json, master-resouces.json,shared-resources.json ......

    对于这种使用链接模板的部署,是无法为链接的模板指定本地文件或只能在本地网络中访问的文件的。只能提供包含 http 或 https 的 URI 值, 所以您此处会有无效链接的错误。

    对于此类 ARM 模板的部署,您可以将链接模板置于存储账户中,并使用该项目的 URI 即可实现,如下所示:

    "templateLink": {
        "uri": "http://mystorageaccount.blob.core.chinacloudapi.cn/templates/template.json",
        "contentVersion": "1.0.0.0",
    }
    参考文档:部署 Azure 资源时使用链接模板


    MSDN 社区技术支持
    如果该回复解决了您的问题,请及时点击“标记为答案”选项,如未解决请选择“取消标记为答案”,这会有利于其他人员来阅读您的帖子。如果您对MSDN 技术支持有任何的建议或意见,请随时联系 MSDNFSF@microsoft.com

    这个问题,我最终是在GitHub 自己开了一个file,把文件传上去,然后用URL 的形式部署了,但其实我这个贴的最终极问题是,我有一套环境,在WW 的azure 部署成功了,然后利用自动化脚本部署到MC 的azure 上,在吧端点都改成MC azure的表示后,遇到了一个问题,执行命令后,powershell报错误,如下图

    这个问题,是否处在订阅的ID上面?

    2017年5月23日 16:38
  • Hi Tank,

    按照您提供的错误信息可以看出,该问题是关于 循环依赖项 的,您在修改模板的过程中,需要注意部署顺序,如果出现资源以某种形式相互依赖,导致部署无法启动,就会出现此错误。通常情况下,此类错误我们是需要根据各事件的部署开始时间和完成时间来解决循环依赖项问题的:

    1. 在模板中找到循环依赖项中标识的资源。
    2. 检查该资源的 dependsOn 属性并使用 reference 函数查看其所依赖的资源。
    3. 检查这些资源,看其依赖于哪些资源。顺着这些依赖项检查下去,直到找到依赖于原始资源的资源。
    4. 对于循环依赖项所牵涉的资源,请仔细检查所有使用 dependsOn 属性的情况,确定不需要的依赖项。 删除这些依赖项。 如果不确定某个依赖项是否为必需依赖项,可尝试删除它。
    5. 重新部署模板。
    您可以参考检查部署顺序, 该文档有详细的解决该类问题的操作步骤,希望对您能有所帮助。

    MSDN 社区技术支持
    如果该回复解决了您的问题,请及时点击“标记为答案”选项,如未解决请选择“取消标记为答案”,这会有利于其他人员来阅读您的帖子。如果您对MSDN 技术支持有任何的建议或意见,请随时联系 MSDNFSF@microsoft.com

    2017年5月26日 6:39
    版主
  • 嗯,我都注意到这一点,并且已经将所有dependsON的删除,然后仍然执行失败,不过有改变的是,有部分资源审核通过,但未通过即报错部分如下:

    这是执行后审核通过的结果

    我现在也在查,我怀疑是否把一些不应该删除的依赖关系删除了导致,不知道我的判断是否正确


    • 已编辑 Tank Tou 2017年6月1日 4:54
    2017年6月1日 4:53
  • 最新情况,只剩下这一个报错了:

    2017年6月1日 9:31
  • Hi Tank,

    问题解决了吗?

    您的错误信息中,部署的资源组名称为 FIFA2017,在您的订阅中有该资源吗?是否是修改模板有遗漏?


    MSDN 社区技术支持
    如果该回复解决了您的问题,请及时点击“标记为答案”选项,如未解决请选择“取消标记为答案”,这会有利于其他人员来阅读您的帖子。如果您对MSDN 技术支持有任何的建议或意见,请随时联系 MSDNFSF@microsoft.com

    • 已标记为答案 Tank Tou 2017年6月11日 4:08
    2017年6月2日 10:00
    版主
  • Hi David ,问题已解决,资源已经能够通过验证

    2017年6月11日 4:09