Skip to content

stop/start microk8s leaks IP addresses on flannel #5267

@d-shehu

Description

@d-shehu

Summary

When rebooting or otherwise making changes to microk8s that require it to be stopped and restarted, I noticed that flannel periodically "leaks" IP addresses. More IPs are used until the range is exhausted and then microk8s is no longer able to run pods.

This happens even if the cluster is otherwise static, no deployments, no new nodes, etc.

  1. HA is disabled
  2. Single node
sudo ls /var/lib/cni/networks/microk8s-flannel-network
10.1.42.10  10.1.42.14  10.1.42.18  10.1.42.22  10.1.42.26  10.1.42.3   10.1.42.33  10.1.42.37  10.1.42.41  10.1.42.45  10.1.42.49  10.1.42.52  10.1.42.56  10.1.42.8
10.1.42.11  10.1.42.15  10.1.42.19  10.1.42.23  10.1.42.27  10.1.42.30  10.1.42.34  10.1.42.38  10.1.42.42  10.1.42.46  10.1.42.5   10.1.42.53  10.1.42.57  10.1.42.9
10.1.42.12  10.1.42.16  10.1.42.2   10.1.42.24  10.1.42.28  10.1.42.31  10.1.42.35  10.1.42.4   10.1.42.43  10.1.42.47  10.1.42.50  10.1.42.54  10.1.42.6   last_reserved_ip.0
10.1.42.13  10.1.42.17  10.1.42.21  10.1.42.25  10.1.42.29  10.1.42.32  10.1.42.36  10.1.42.40  10.1.42.44  10.1.42.48  10.1.42.51  10.1.42.55  10.1.42.7   lock

What Should Happen Instead?

Microk8s should gracefully stop/start without having flannel network failing periodically.

Reproduction Steps

  1. microk8s stop
  2. Make changes for example:
 /var/lib/cni/networks/microk8s-flannel-network
  1. microk8s start

or

  1. Reboot
  2. Rinse and repeat

Introspection Report

N/A

Microk8s inspect was run and it didn't flag the network issue nor otherwise resolve the problem.

Can you suggest a fix?

The "hacky" workaround is to stop microk8s and remove the dangling IPs

sudo rm -rf /var/lib/cni/networks/microk8s-flannel-network

Are you interested in contributing with a fix?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions