How to: Choose the Right --network-interface to Solve ‘Timed Out Waiting’ Errors During Embedded Cluster Installation

When installing a new Embedded Cluster using your installation script, you may encounter timeout errors with messages displayed in the terminal, such as:

  • timed out waiting for openebs-localpv-provisioner to deploy
  • infrastructure failed to become ready: coredns failed to become healthy: timed out waiting for coredns to deploy
  • infrastructure failed to become ready: metrics-server failed to become healthy: timed out waiting for metrics-server to deploy

Despite these messages, the actual root cause error could be:

  • Invalid value: "169.254.x.x": may not be in the link-local range (169.254.0.0/16, fe80::/10)

This specific error is typically found in the k0scontroller logs collected within the support bundle.

The Cause

The error indicates that default network interface, used by Kubernetes to register services and components, was incorrectly assigned a link-local address (169.254.x.x), which is reserved for internal link communications and not suitable for Kubernetes API servers. It is an invalid endpoint IP in the link-local range (169.254.x.x) .

The Solution

  1. Reset the Cluster Installation:
sudo ./app-slug reset
  1. Validate Network Configuration Before Installation:
ip addr show
  1. Specify the Correct Network Interface During Installation:
sudo ./app-slug install --license license.yaml --network-interface eno167777