Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Setting EnvoyService to NodePort type has a bug when total number of k8s nodes > 16 #3662

Closed
ryanhristovski opened this issue Jun 24, 2024 · 2 comments · Fixed by #3713
Closed
Assignees
Labels
good first issue Good for newcomers
Milestone

Comments

@ryanhristovski
Copy link

Description:
When EnvoyService is set to type NodePort we are seeing the following error:

status.addresses: Too many. Must have at most 16 items

When the service is of type NodePort, the address is set to all of the node addresses, as seen here:

if svc.Spec.Type == corev1.ServiceTypeNodePort {

Repro steps:

  1. Have a Kubernetes environment with > 16 nodes
  2. Set EnvoyService type to NodePort:
    envoyService:
      type: NodePort
  1. Read logs from envoy gateway

Environment:
Gateway version: v1.0.1
Envoy version: v1.29

Logs:

2024-06-24T15:18:20.599Z	ERROR	provider	kubernetes/status_updater.go:115	unable to update status	{"runner": "provider", "name": "gateway", "namespace": "...", "error": "Gateway.gateway.networking.k8s.io "gateway" is invalid: status.addresses: Too many: 67: must have at most 16 items"}
@arkodg
Copy link
Contributor

arkodg commented Jun 24, 2024

this is due to the limit set in the CRD
https://github.com/kubernetes-sigs/gateway-api/blob/c1b375bda97d344948a50ebd40814ffcd68b78ac/apis/v1/gateway_types.go#L641

to improve user experience, we should be limiting the value to 16 entries and appending the status message to mention that we did this

@arkodg arkodg added this to the Backlog milestone Jun 24, 2024
@arkodg arkodg added good first issue Good for newcomers help wanted Extra attention is needed labels Jun 24, 2024
@sanposhiho
Copy link
Contributor

/assign

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants