cloud-provider-azure
cloud-provider-azure copied to clipboard
IPv6 load-balancer error AtleastOneIpV4RequiredForIpV6LbFrontendIpConfiguration
What happened:
In a dual-stack cluster, when creating an IPv6 LoadBalancer service, the Azure CCM returns the following error and the service stays in the pending state:
"error": {
"code": "AtleastOneIpV4RequiredForIpV6LbFrontendIpConfiguration",
"message": "At least one IPv4 frontend ipConfiguration is required for an IPv6 frontend ipConfiguration on the load balancer '/subscriptions/528474a9-8cc6-46c8-9b74-1dbc31c4bb7f/resourceGroups/kubernetes-xszcklqrmv/providers/Microsoft.Network/loadBalancers/kubernetes'",
"details": []
}
nginx-ipv6-lb LoadBalancer fd02::42 <pending> 80:30278/TCP 7m15s
What you expected to happen:
As per https://github.com/kubernetes-sigs/cloud-provider-azure/issues/814, dual-stack is not fully supported, but the Azure CCM should be able to create a single-stack IPv6 LB.
How to reproduce it (as minimally and precisely as possible):
- create a dual-stack cluster (IPv4 as the primary IP family, IPv6 as the secondary).
- create an IPv6-only service, such as:
apiVersion: v1
kind: Service
metadata:
name: nginx-ipv6-lb
labels:
app: nginx
spec:
type: LoadBalancer
ipFamilyPolicy: SingleStack
ipFamilies:
- IPv6
selector:
app: nginx
ports:
- protocol: TCP
port: 80
Anything else we need to know?:
Environment:
- Kubernetes version (use
kubectl version): 1.24.0 - Cloud provider or hardware configuration:
- OS (e.g:
cat /etc/os-release): Ubuntu "20.04.4 LTS - Kernel (e.g.
uname -a): 5.13.0-1029-azure - Install tools:
- Network plugin and version (if this is a network-related bug): Canal v3.22.1
- Others:
Dual stack support is on our road map but it is not ready yet.
It looks it is hard to fix as this is a restriction of ARM.
@rastislavs Hello I failed to reproduce locally. Could you please share
- how you are provisioning the dual-stack cluster, aks or capz?
- the output of kubetl describe pod cloud-controller-manager, especially Args of cloud-controller-manager container.
@lzhecheng at the moment I cannot reproduce this issue either. So I guess it was not related to the CCM itself, but the issue came from Azure side where it was fixed in the meantime.
OFC dual-stack services are still missing IPv6 LB address, but I guess that should be implemented as part of https://github.com/kubernetes-sigs/cloud-provider-azure/issues/814, so closing this one.