gruntwork-io / gruntwork-io/kubergrunt

kubergrunt eks deploy - unrecognized loadbalancer annotation

Open
#210 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Go
Stars
564
Forks
93
Avg merge
5d 12h
Merged PRs (30d)
1

Description

description:

when running `kubergrunt eks deploy` , the new nodes are successfully added, but kubergrunt throws an error in the LB discovery phase:

```
[] INFO[2023-09-04T13:27:47+02:00] Found 14 LoadBalancer services of 393 services in kubernetes. name=kubergrunt
[] ERRO[2023-09-04T13:27:47+02:00] Error retrieving associated ELB names of the Kubernetes services. name=kubergrunt
[] ERRO[2023-09-04T13:27:47+02:00] Undo by terminating all the new instances and trying again name=kubergrunt
[] ERRO[2023-09-04T13:27:47+02:00] Error while waiting for new nodes to be ready. name=kubergrunt
[] ERRO[2023-09-04T13:27:47+02:00] Either resume with the recovery file or terminate the new instances. name=kubergrunt
ERROR: Unknown value for annotation service.beta.kubernetes.io/aws-load-balancer-type (value: nlb-ip)
```
what i cannot understand, is that "nlb-ip" is a valid value, and I see this in the load-balancer lookup code: https://github.com/gruntwork-io/kubergrunt/blob/32b0d81ec953428cac91dfb209f8bc88a933e71f/kubectl/service.go#L22

here is an example service annotation, with sensitive values removed:

```
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: tcp
service.beta.kubernetes.io/aws-load-balancer-connection-draining-enabled: "true"
service.beta.kubernetes.io/aws-load-balancer-connection-draining-timeout: "10"
service.beta.kubernetes.io/aws-load-balancer-connection-idle-timeout: "60"
service.beta.kubernetes.io/aws-load-balancer-cross-zone-load-balancing-enabled: "false"
service.beta.kubernetes.io/aws-load-balancer-ip-address-type: ipv4
service.beta.kubernetes.io/aws-load-balancer-nlb-target-type: ip
service.beta.kubernetes.io/aws-load-balancer-scheme: internal
service.beta.kubernetes.io/aws-load-balancer-ssl-cert: ""
service.beta.kubernetes.io/aws-load-balancer-ssl-ports: ""
service.beta.kubernetes.io/aws-load-balancer-type: nlb-ip
```

versions:

```
❯ kubergrunt --version
kubergrunt version v0.12.1

```

eks cluster version 1.24

Contributor guide

Open the contributing guide

Research direction

Start in kubectl/service.go at the load-balancer annotation lookup linked in the report, then compare its accepted values with the reported nlb-ip annotation. Use the provided service manifest and kubergrunt eks deploy log as reproduction evidence. Done means LB discovery completes without the unknown-value error for this annotation.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, go, kubernetes
Domain
cli, cloud, networking
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.