Skip to content

Interaction between kind/kubeadm and new metallb versions breaks single-node metallb usage #3506

@howardjohn

Description

@howardjohn

metallb issue: metallb/metallb#2274

As of 0.14, metallb respects the node.kubernetes.io/exclude-from-external-load-balancers and will not make announcements for these nodes.

As of k8s 1.21:

Kubeadm: apply the "node.kubernetes.io/exclude-from-external-load-balancers" label on control plane nodes during "init", "join" and "upgrade" to preserve backwards compatibility with the lagacy LB mode where nodes labeled as "master" where excluded. To opt-out you can remove the label from a node. See #97543 and the linked KEP for more details. (#98269, @neolit123) [SIG Cluster Lifecycle]

As a result, this documentation https://kind.sigs.k8s.io/docs/user/loadbalancer/ does not work on single-node clusters with recent metallb versions.

Possible paths forward:

  • Change metallb
  • Document to remove the label from the node
  • Default to removing the label from the node

Metadata

Metadata

Assignees

No one assigned

    Labels

    priority/important-longtermImportant over the long term, but may not be staffed and/or may need multiple releases to complete.triage/acceptedIndicates an issue or PR is ready to be actively worked on.

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions