cloud-provider-azure icon indicating copy to clipboard operation
cloud-provider-azure copied to clipboard

IPv6 load-balancer error AtleastOneIpV4RequiredForIpV6LbFrontendIpConfiguration

Open rastislavs opened this issue 3 years ago • 2 comments

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:

rastislavs avatar Jun 14 '22 14:06 rastislavs

Dual stack support is on our road map but it is not ready yet.

MartinForReal avatar Jun 20 '22 02:06 MartinForReal

It looks it is hard to fix as this is a restriction of ARM.

nilo19 avatar Jul 08 '22 02:07 nilo19

@rastislavs Hello I failed to reproduce locally. Could you please share

  1. how you are provisioning the dual-stack cluster, aks or capz?
  2. the output of kubetl describe pod cloud-controller-manager, especially Args of cloud-controller-manager container.

lzhecheng avatar Sep 27 '22 06:09 lzhecheng

@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.

rastislavs avatar Sep 27 '22 14:09 rastislavs