我想部署一个只有IP地址的Azure负载均衡器-这不是指Azure VM/VMSS NIC,而是指通用连接的本地服务器-使用Bicep,如:
resource ilb 'Microsoft.Network/loadBalancers@2022-05-01' = {
name: ilbName
...
backendAddressPools: [
{
name: 'direct'
properties: {
loadBalancerBackendAddresses: [
{
name: 'server65'
properties: {
ipAddress: '192.168.42.65'
virtualNetwork: {
id: vnetHubId
}
}
}
{
name: 'server66'
properties: {
ipAddress: '192.168.42.66'
virtualNetwork: {
id: vnetHubId
}
}
}
]
}
}
]
...
但是,在部署后(即使在调试模式下也未显示错误),Portal中不会显示IP地址,并且在使用CLI进行检查时:
> az network lb address-pool show --lb-name ilb-123456789012 -g portfwd-rg -n direct
{
"etag": "W/\"037f2314-c311-4378-9486-a076cacc7491\"",
"id": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/portfwd-rg/providers/Microsoft.Network/loadBalancers/ilb-123456789012/backendAddressPools/direct",
"loadBalancerBackendAddresses": [],
"loadBalancingRules": [
{
"id": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/portfwd-rg/providers/Microsoft.Network/loadBalancers/ilb-123456789012/loadBalancingRules/direct",
"resourceGroup": "portfwd-rg"
}
],
"name": "direct",
"provisioningState": "Succeeded",
"resourceGroup": "portfwd-rg",
"type": "Microsoft.Network/loadBalancers/backendAddressPools"
使用CLI创建后端地址池时,它的工作原理如下:
> az network lb address-pool create --lb-name ilb-123456789012 -g portfwd-rg -n direct2 \
--backend-address name=server65 ip-address=192.168.42.65 \
--backend-address name=server66 ip-address=192.168.42.66 \
--vnet /subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/portfwd-rg/providers/Microsoft.Network/virtualNetworks/vnet-hub-123456789012
> az network lb address-pool show --lb-name ilb-123456789012 -g portfwd-rg -n direct2
{
"etag": "W/\"efeef00f-3dd4-4b7c-bfa3-f58030757dea\"",
"id": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/portfwd-rg/providers/Microsoft.Network/loadBalancers/ilb-123456789012/backendAddressPools/direct2",
"loadBalancerBackendAddresses": [
{
"ipAddress": "192.168.42.65",
"name": "server65",
"virtualNetwork": {
"id": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/portfwd-rg/providers/Microsoft.Network/virtualNetworks/vnet-hub-123456789012",
"resourceGroup": "portfwd-rg"
}
},
{
"ipAddress": "192.168.42.66",
"name": "server66",
"virtualNetwork": {
"id": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/portfwd-rg/providers/Microsoft.Network/virtualNetworks/vnet-hub-123456789012",
"resourceGroup": "portfwd-rg"
}
}
],
"name": "direct2",
"provisioningState": "Succeeded",
"resourceGroup": "portfwd-rg",
"type": "Microsoft.Network/loadBalancers/backendAddressPools"
}
编辑:所以我基本上将az network lb address-pool create
的--debug
/PUT
请求体Map到Bicep。这是PUT
请求体:
{"name": "direct", "properties": {"loadBalancerBackendAddresses": [{"name": "server65", "properties": {"ipAddress": "192.168.42.65", "virtualNetwork": {"id": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/portfwd-rg/providers/Microsoft.Network/virtualNetworks/vnet-hub-123456789012"}}}, {"name": "server66", "properties": {"ipAddress": "192.168.42.66", "virtualNetwork": {"id": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/portfwd-rg/providers/Microsoft.Network/virtualNetworks/vnet-hub-123456789012"}}}]}}
我错过了什么或做错了什么?
1条答案
按热度按时间mbyulnm01#
我有一个类似的问题。没有看到你的所有代码,我会确定与你我做了什么,以解决我的问题。我希望它可以帮助你。
main.bicep
dev-web01-vm.bicep
dev-web02-vm.bicep