Skip to content

Commit 69f67c3

Browse files
authored
Merge pull request #40085 from Ritikaa96/loadbalancerip-deprecation
Deprecation Note added for loadbalancerIP
2 parents 622fe0e + c79c8f2 commit 69f67c3

File tree

1 file changed

+15
-16
lines changed
  • content/en/docs/concepts/services-networking

1 file changed

+15
-16
lines changed

content/en/docs/concepts/services-networking/service.md

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -661,12 +661,6 @@ status:
661661
Traffic from the external load balancer is directed at the backend Pods.
662662
The cloud provider decides how it is load balanced.
663663

664-
Some cloud providers allow you to specify the `loadBalancerIP`. In those cases, the load-balancer is created
665-
with the user-specified `loadBalancerIP`. If the `loadBalancerIP` field is not specified,
666-
the loadBalancer is set up with an ephemeral IP address. If you specify a `loadBalancerIP`
667-
but your cloud provider does not support the feature, the `loadbalancerIP` field that you
668-
set is ignored.
669-
670664
To implement a Service of `type: LoadBalancer`, Kubernetes typically starts off
671665
by making the changes that are equivalent to you requesting a Service of
672666
`type: NodePort`. The cloud-controller-manager component then configures the external load balancer to
@@ -676,19 +670,24 @@ You can configure a load balanced Service to
676670
[omit](#load-balancer-nodeport-allocation) assigning a node port, provided that the
677671
cloud provider implementation supports this.
678672

673+
Some cloud providers allow you to specify the `loadBalancerIP`. In those cases, the load-balancer is created
674+
with the user-specified `loadBalancerIP`. If the `loadBalancerIP` field is not specified,
675+
the loadBalancer is set up with an ephemeral IP address. If you specify a `loadBalancerIP`
676+
but your cloud provider does not support the feature, the `loadbalancerIP` field that you
677+
set is ignored.
679678

680679
{{< note >}}
681680

682-
On **Azure**, if you want to use a user-specified public type `loadBalancerIP`, you first need
683-
to create a static type public IP address resource. This public IP address resource should
684-
be in the same resource group of the other automatically created resources of the cluster.
685-
For example, `MC_myResourceGroup_myAKSCluster_eastus`.
686-
687-
Specify the assigned IP address as loadBalancerIP. Ensure that you have updated the
688-
`securityGroupName` in the cloud provider configuration file.
689-
For information about troubleshooting `CreatingLoadBalancerFailed` permission issues see,
690-
[Use a static IP address with the Azure Kubernetes Service (AKS) load balancer](https://docs.microsoft.com/en-us/azure/aks/static-ip)
691-
or [CreatingLoadBalancerFailed on AKS cluster with advanced networking](https://github.com/Azure/AKS/issues/357).
681+
The`.spec.loadBalancerIP` field for a Service was deprecated in Kubernetes v1.24.
682+
683+
This field was under-specified and its meaning varies across implementations. It also cannot support dual-stack networking. This field may be removed in a future API version.
684+
685+
If you're integrating with a provider that supports specifying the load balancer IP address(es)
686+
for a Service via a (provider specific) annotation, you should switch to doing that.
687+
688+
If you are writing code for a load balancer integration with Kubernetes, avoid using this field.
689+
You can integrate with [Gateway](https://gateway-api.sigs.k8s.io/) rather than Service, or you
690+
can define your own (provider specific) annotations on the Service that specify the equivalent detail.
692691

693692
{{< /note >}}
694693

0 commit comments

Comments
 (0)