Skip to content

control plane installation debugging (pre/post flight check) #1081

@grampelberg

Description

@grampelberg

When installing the control plane, there is a collection of things that can cause problems. Many of these can be validated beforehand.

Once the control plane has been installed, there is a collection of things that can go wrong and make it difficult to operate linkerd2. Many of these can be validated after installation.

check is an awesome tool. It would be nice to extend this to have filters for the checks (pre and post install checks). Then, a new user could run check to make sure their cluster is ready to go (or fix any problems if it isn't).

CLI

Some example options and output. Note: this isn't meant to be all the checks, see further down for a list.

  • linkerd check --pre (success) - Limit the number of checks to only look at the ones relevant before installation.
==== Preflight checks ====
Cluster Config                              ✓
Cluster Connection                          ✓
Cluster Version                             ✓
Cluster Permissions                         ✓
  • linkerd check --pre (failure) - On failure, provide links to documentation that explain how to fix the problem.
==== Preflight checks ====
Cluster Config                              ✓
Cluster Connection                          ✓
Cluster Version                             ✓
Cluster Permissions                         X
    -- It appears that the currently active configuration does not have the correct RBAC to install linkerd. Take a look at https://linkerd.io/2/rbac/ for more details.
  • linkerd check --post --wait - Limit the number of checks to only look at ones relevant after installation and wait until they all pass (with a timeout).
==== Postflight checks ====
Cluster Service                             ✓
Service Health                              ✓
Service Version                             ✓

Checks

Preflight

  • can init k8s client
  • can query API
  • minimum version
  • has permissions
  • isn't already installed
  • has resource requirements
  • host kernel version support
  • cluster networking configuration
  • can pull images

Postflight

  • components are ready
  • can query api
  • up to date

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions