Skip to main content
Kubernetes 1.32 is deprecated
Please follow this guide to upgrade.

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.

We recommend installing kubelogin via Krew, the plugin manager for kubectl.

Make sure git is installed

Download and install krew

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
)
	

Add krew to your PATH

Update your .bashrc or .zshrc and append this line:

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

Then restart your shell.

Check the installation

Run kubectl krew.

Install kubelogin

		$ kubectl krew install oidc-login
	
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.

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