-
Notifications
You must be signed in to change notification settings - Fork 562
Description
Description:
Setting ipFamily: IPv4
on a dual stack, IPv6-first cluster should result in an IPv4 Service. Instead envoy-gateway
creates a single stack, IPv6 Service
.
There's a comment in the code:
if ipFamily != nil {
// SingleStack+IPv4 is default behavior from K8s and so is omitted
switch *ipFamily {
This isn't true according to the Kubernetes docs:
The address family of a Service defaults to the address family of the first service cluster IP range (configured via the --service-cluster-ip-range flag to the kube-apiserver).
Unfortunately simply setting the family of the Service isn't enough. The health listener doesn't listen on IPv4 if the family is set on the EnvoyProxy but kubernetes tries the first IP of the Pod which is IPv6 in this case.
Repro steps:
Set up an EnvoyProxy with spec.ipFamily: IPv4
on a dual-stack, IPv6-first cluster.
Environment:
Envoy gateway v1.4.1
Logs:
None relevant