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 git is installed
Download and install krew
(
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:
export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH"
Then restart your shell.
Check the installation
Run kubectl krew.
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.