kubernetes-sigs / cloud-provider-equinix-metal

Kubernetes Cloud Provider for Equinix Metal (formerly Packet Cloud Controller Manager)
https://deploy.equinix.com/labs/cloud-provider-equinix-metal
Apache License 2.0
74 stars 26 forks source link

Add MetalLB 0.13 support #322

Closed enkelprifti98 closed 1 year ago

enkelprifti98 commented 2 years ago

It looks like the latest MetalLB releases aren’t working with the CCM anymore. I suspect the reason is there’s updated syntax with the newer MetalLB 0.13 releases and the CCM isn’t updated to support it.

With CCM 3.5.0 and MetalLB v0.13.4 I get this error on the MetalLB speaker pods:

{"caller":"main.go:282","error":"assigned IP not allowed by config","ips":["86.109.11.206"],"level":"error","msg":"IP allocated by controller not allowed by config","op":"setBalancer","ts":"2022-08-30T17:12:23Z"}

When I revert MetalLB to 0.12.1, it all works fine.

To replicate the issue:

  1. Deploy Kubernetes cluster.
  2. Install CCM 3.5.0.
  3. Install MetalLB v0.13.4 as shown here. I'm using the native yaml deployment.
displague commented 2 years ago

@deitch mentioned elsewhere that we would benefit from a version compatibility matrix

@enkelprifti98 was 0.13 working with CCM 3.4? In #321 the docs were updated to call out that 0.13 was not known to work.

We are in the process of adding support for version 0.13.x.

Perhaps we can reword this issue to "Add MetalLB 0.13 support"? If the instructions ever advise install of an untagged or latest metallb version, then we should definitely correct that and that type of problem would align with the current "Latest MetalLB no longer working with CPEM" issue title.

displague commented 2 years ago

@enkelprifti98 are there features of MetalLB 0.13 that are uniquely interesting -- I'm wondering if we'll want to explore these features in the documentation and examples.

enkelprifti98 commented 2 years ago

MetalLB 0.13 doesn't work with any CCM version AFAIK so i guess "Add MetalLB 0.13 support" is a more fitting title.

It seems like the 0.13 release is mostly just moving to a CRD based config model instead of using configmaps so I don't think there's anything there that would be interesting for Metal users in particular.

cprivitere commented 2 years ago

New 0.13+ Metal LB Features

0.13+ breaking changes

Obviously, the first one is the biggest impact to us as it breaks all the old configuration methods.