Azure RM负载均衡器模块frontend_ip_configuration zone参数问题咨询
解决Azure RM负载均衡器模块指定可用性区域的问题
问题原因
你遇到的参数不支持报错,主要是两个原因:
- 使用的
azure.azcollection版本过低,旧版本未实现前端IP配置的可用性区域参数 - 参数名使用错误:误写为
availability_zones,实际正确参数名为zones(部分旧文档可能标注为zone,但当前新版本统一用复数形式)
正确解决步骤
1. 升级azure.azcollection到最新版本
执行命令更新集合,确保模块支持可用性区域参数:
ansible-galaxy collection install azure.azcollection --upgrade
2. 正确的Playbook配置示例
在frontend_ip_configurations节点下使用zones参数指定可用性区域,注意只有Standard SKU的负载均衡器支持该特性:
- name: 创建带可用性区域的负载均衡器 hosts: localhost tasks: - azure.azcollection.azure_rm_loadbalancer: resource_group: myResourceGroup name: myLoadBalancer location: eastus sku: Standard frontend_ip_configurations: - name: myFrontendConfig public_ip_address: myPublicIP zones: - "1" - "2" backend_address_pools: - name: myBackendPool probes: - name: myTcpProbe protocol: Tcp port: 80 interval: 15 fail_count: 2 load_balancing_rules: - name: myHttpRule frontend_ip_configuration: myFrontendConfig backend_address_pool: myBackendPool protocol: Tcp frontend_port: 80 backend_port: 80 probe: myTcpProbe
关键注意点
- 仅Standard SKU负载均衡器支持可用性区域,Basic SKU无此能力
zones参数接受字符串格式的区域编号列表,可指定单个或多个区域
内容的提问来源于stack exchange,提问作者Abin M Mammala
相关产品推荐
相关产品推荐

