Support NoHealthyBackend Feature on CLI
- Dominant language
- Python
- Stars
- 4.6k
- Forks
- 3.5k
- Avg merge
- 3d 2h
- Merged PRs (30d)
- 60
Description
### Preconditions
- [X] No need to upgrade Python SDK or the Python SDK is ready.
### Related command
az network lb probe create and
az network lb probe update
### Resource Provider
Microsoft.Network/loadBalancers
### Description of Feature or Work Requested
NoHealthyBackendsBehavior is a feature that is configurable on Azure Load Balancer’s health probes. The feature, when enabled, sends new traffic to all backend VMs when all the instances are being probed down. For example, if a LB has a single VM in its backend pool, and the LB’s health probe is marking the VM as unhealthy, then this feature would send new traffic to the VM in the off chance that it is still healthy and is able to respond to traffic. This feature should be seen as a last resort for traffic being sent to VMs.
The feature has two values:
1. AllProbedUp – This option will send new traffic to all backend instances when health probes for all the VMs are at 0%. This should be seen as a last resort in case one of the VMs is still able to serve traffic.
2. AllProbedDown- This is the default behavior, and the behavior Azure Load Balancer has today. When all backend VMs are probing as unhealthy, no new connections will be sent to the VMs.
### Minimum API Version Required
2024-01-01
### Swagger PR link / SDK link
N/A
### Request Example
{
"location": "eastus",
"sku": {
"name": "Standard"
},
"tags": {"IsRemoteFrontend": true},
"properties": {
"frontendIPConfigurations": [
{
"name": "pipmahip3",
"properties": {
"publicIPAddress": {
"id":"/subscriptions/6bb4a28a-db84-4e8a-b1dc-fabf7bd9f0b2/resourceGroups/deployment4/providers/Microsoft.Network/publicIPAddresses/testNOHB-lbPublicIP"
}
}
}
],
"backendAddressPools": [
{
"name": "LoadBalancerBackEndPool",
"properties": {
}
}
],
"loadBalancingRules": [
{
"name": "rulelb",
"properties": {
"frontendIPConfiguration": {
"id": "/subscriptions/6bb4a28a-db84-4e8a-b1dc-fabf7bd9f0b2/resourceGroups/deployment4/providers/Microsoft.Network/loadBalancers/testNOHB-lb/frontendIPConfigurations/LoadBalancerFrontEnd"
},
"frontendPort": 80,
"backendPort": 80,
"enableFloatingIP": true,
"idleTimeoutInMinutes": 15,
"protocol": "Tcp",
"enableTcpReset": false,
"loadDistribution": "Default",
"backendAddressPool": {
"id": "/subscriptions/6bb4a28a-db84-4e8a-b1dc-fabf7bd9f0b2/resourceGroups/deployment4/providers/Microsoft.Network/loadBalancers/testNOHB-lb/backendAddressPools/LoadBalancerBackEndPool"
},
"probe": {
"id": "/subscriptions/6bb4a28a-db84-4e8a-b1dc-fabf7bd9f0b2/resourceGroups/deployment4/providers/Microsoft.Network/loadBalancers/testNOHB-lb/probes/loadBalancerHealthProbe"
}
}
}
],
"probes": [
{
"name": "LoadBalancerHealthProbe",
"properties": {
"protocol": "TCP",
"port": 80,
"intervalInSeconds": 5,
"numberOfProbes": 2,
"probeThreshold": 1,
"noHealthyBackendsBehavior": "AllProbedUp"
}
}
]
}
}
### Target Date
2024-07-05
### PM Contact
mahipdeora
### Engineer Contact
mahipdeora
### Additional context
_No response_
Contributor guide
Assessment
This issue has not been assessed yet.