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:
$ 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
$ 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
$ curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl"
$ chmod +x ./kubectl
$ sudo mv ./kubectl /usr/local/bin/kubectl
$ sudo chown root: /usr/local/bin/kubectl
$ curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/arm64/kubectl"
$ chmod +x ./kubectl
$ sudo mv ./kubectl /usr/local/bin/kubectl
$ sudo chown root: /usr/local/bin/kubectl
$ curl.exe -LO "https://dl.k8s.io/release/v1.30.0/bin/windows/amd64/kubectl.exe"
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:
Make sure that git is installed.
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 )Add the
$HOME/.krew/bindirectory 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.
Run
kubectl krewto 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:
$ kubectl krew install oidc-login
$ choco install kubelogin
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.
Intro to Syself Autopilot
Syself Autopilot is fully managed Kubernetes on your own Hetzner servers. You declare one object; Syself builds, heals, and upgrades the cluster on standard upstream Kubernetes.
Accessing the management cluster
Learn how to access our management cluster to create, update, and scale your Kubernetes clusters with Syself Autopilot.