kubernetes/kops · error
no ipv6 address found on interface %q
Error message
no ipv6 address found on interface %q
What it means
After fetching the GCE instance, the reconciler found no external IPv6 address on any of the instance's network interfaces (Ipv6AccessConfigs). This is a configuration mismatch: the node needs an IPv6 access config for IPAM to assign a pod CIDR.
Source
Thrown at cmd/kops-controller/controllers/gceipam.go:132
}
instance, err := r.gceClient.Instances.Get(project, zone, instanceID).Context(ctx).Do()
if err != nil {
return ctrl.Result{}, fmt.Errorf("getting instance %s/%s/%s: %w", project, zone, instanceID, err)
}
var ipv6Addresses []string
for _, nic := range instance.NetworkInterfaces {
for _, ipv6AccessConfig := range nic.Ipv6AccessConfigs {
if ipv6AccessConfig.ExternalIpv6 != "" {
ipv6Address := fmt.Sprintf("%s/%d", ipv6AccessConfig.ExternalIpv6, ipv6AccessConfig.ExternalIpv6PrefixLength)
ipv6Addresses = append(ipv6Addresses, ipv6Address)
}
}
}
if len(ipv6Addresses) == 0 {
return ctrl.Result{}, fmt.Errorf("no ipv6 address found on interface %q", instance.NetworkInterfaces[0].Name)
}
if len(ipv6Addresses) != 1 {
return ctrl.Result{}, fmt.Errorf("multiple ipv6 addresses found on interface %q: %v", instance.NetworkInterfaces[0].Name, ipv6Addresses)
}
ipv6Address := ipv6Addresses[0]
podCIDRs := []string{ipv6Address}
if err := patchNodePodCIDRs(r.coreV1Client, ctx, node, podCIDRs); err != nil {
return ctrl.Result{}, err
}
}
return ctrl.Result{}, nil
}
func (r *GCEIPAMReconciler) SetupWithManager(mgr ctrl.Manager) error {
return ctrl.NewControllerManagedBy(mgr).
Named("gce_ipam").View on GitHub (pinned to 4c8573c808)
Solutions
- Configure the GCE instance/instance-template with an IPv6 access config
- Verify the cluster spec enables IPv6 networking consistently
- Recreate the instance from a corrected template so it gets an IPv6 address
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at cmd/kops-controller/controllers/gceipam.go:132 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of kubernetes/kops@4c8573c808 (2026-09-05).
Data as JSON: /api/errors/9f54eb897707ca30.
Report an issue: GitHub.