Skip to content

E2E Tests with Load Balancer on Minikube Fail; Investigate MetalLB as a Solution #4317

@markmandel

Description

@markmandel

Yes I used a LLM to write this from the chat transcript because I'm lazy 😄

Description

The current end-to-end (e2e) tests that rely on a Kubernetes LoadBalancer service type fail when running on Minikube because Minikube's default behavior does not provide a functional, external Load Balancer implementation, requiring users to use a separate tunneling method.

This limitation affects both local development/testing and Continuous Integration (CI) pipelines that utilize Minikube.

A potential solution discussed is to integrate MetalLB, a bare-metal Load Balancer for Kubernetes, which is available as a [Minikube add-on](https://www.google.com/search?q=https://minikube.sigs.k8s.io/docs/addons/metallb/).


Proposed Solution / Next Steps

  1. Investigate and test integrating MetalLB with Minikube as a solution for the non-functional Load Balancer service type.
  2. If successful, update the development Makefile (or equivalent setup scripts) for Minikube to include the MetalLB add-on during cluster spin-up.
  3. Update documentation to reflect the new, recommended approach for local Minikube setups that require a Load Balancer service.
  4. If Kind is also used for CI/testing, investigate setting up MetalLB with Kind as an alternative or complementary solution.

Potential Impact

  • Enables reliable e2e testing for Load Balancer services on Minikube, both locally and in CI.
  • Simplifies the developer experience by eliminating the need for manual tunneling or other workarounds.

Environment

  • Minikube
  • Kind (if applicable to CI/testing environment)

Metadata

Metadata

Assignees

Labels

area/testsUnit tests, e2e tests, anything to make sure things don't breakkind/bugThese are bugs.kind/featureNew features for Agones

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions