netscaler/netscaler-k8s-ingress-controller

Choose IPv4, IPv6, or both when Netscaler-ingress-controller sets up a Service Group object in Netscaler

drshawnkwang opened this issue · 0 comments

Is your feature request related to a problem? Please describe.
We have a dual-stack K8s cluster running netscaler-ingress-controller. When we Annotate a service, such as LoadBalancer, the Netscaler-ingress-controller creates a LBVserver and a Service group. It populates the service group with IP addresses corresponding to the node.

The problem is the netscaler-ingress-controller always picks the IPv6 address of the node. The nodes have dual stacked networking and we think the netscaler-ingress-controller is picking the "last" IP in the list. So if the addressing for a node looks like the following, because the IPv6 is the last in the list, it is what is populated in the Netscaler Appliance

Addresses:
  InternalIP:  192.168.1.92
  InternalIP:  fca::9a3d:ac07:e4bb:6e2a

To Reproduce

  1. Have dual-stacked IPv4 and IPv6 k8s cluster nodes.
  2. Install netscaler-ingress-controller, we are using v2.0.6
  3. Netscaler Appliance is VPX version NS13.1 53.24.nc
  4. Create Load Balancer object with service.citrix.com annotations

Describe the solution you'd like

It would be useful if there was a way to select between IPv4, IPv6, or dual-stack settings so when the ServiceGroup is populated, the IP addresses could be selectable.

Additional context