Skip to main content

Prerequisites

Before you start with Syself Autopilot, you should install the necessary tools to interact with Kubernetes clusters. This section provides instruction on how to install kubectl and kubelogin. Make sure you have these tools installed before proceeding to the next sections.

Install kubectl#

Use kubectl to deploy and manage applications, view logs, and control your cluster from the command line. You'll need it for creating your workload cluster.

You can install kubectl using your distribution native package management, or directly downloading the release:

x86-64
		$ curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
$ sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
	
ARM64
		$ curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/arm64/kubectl"
$ sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
	
Note

If you do not have root access on the target system, you can still install kubectl to the ~/.local/bin directory:

		$ chmod +x kubectl
$ mkdir -p ~/.local/bin
$ mv ./kubectl ~/.local/bin/kubectl
# and then append (or prepend) ~/.local/bin to $PATH
	

If you want to know more, refer to the official Kubernetes documentation.

Install and configure kubelogin#

We use kubelogin to access the management cluster. It is a plugin designed for Kubernetes OpenID Connect (OIDC) authentication.

For installing kubelogin, we recommend using Krew, the plugin manager for kubectl. If you wish to install Krew on Linux, you can:

  1. Make sure that git is installed.

  2. Run this command to download and install:

    bash
    		(
      set -x; cd "$(mktemp -d)" &&
      OS="$(uname | tr '[:upper:]' '[:lower:]')" &&
      ARCH="$(uname -m | sed -e 's/x86_64/amd64/' -e 's/\(arm\)\(64\)\?.*/\1\2/' -e 's/aarch64$/arm64/')" &&
      KREW="krew-${OS}_${ARCH}" &&
      curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/latest/download/${KREW}.tar.gz" &&
      tar zxvf "${KREW}.tar.gz" &&
      ./"${KREW}" install krew
    )
    	
  3. Add the $HOME/.krew/bin directory to your PATH environment variable. To do this, update your .bashrc or .zshrc file and append the following line:

    bash
    		export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH"
    	

    and restart your shell.

  4. Run kubectl krew to check the installation.

Warning

If you just ran export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH" instead of adding it to your shell's configuration, you will have to do it every time you open a new terminal session.

For more information and steps for installing Krew on Windows, please refer to the official Krew documentation

If you already have Krew installed, you can use it to install kubelogin:

macOS, Linux, Windows, and ARM
		$ kubectl krew install oidc-login
	

Alternatively, you can install it via a Github release. Then you need to make sure that it is on your path as kubectl-oidc_login.