Linux

Installing kubectl on Linux: A Step-by-Step Guide for Beginners

This guide explains how to install kubectl—the Kubernetes CLI tool—on Linux. You'll learn commands to manage Kubernetes clusters.

Updated at February 16, 2026
5-10 min
Easy
FixPedia Team
Применимо к:Ubuntu 18.04+CentOS 7+Debian 10+Fedora 30+

Introduction / Why This Is Needed

kubectl is the key command-line tool for working with Kubernetes. It allows you to deploy applications, manage cluster resources, and debug issues. Installing kubectl on Linux is the first step to managing Kubernetes from your system's terminal. After completing this guide, you will be able to interact with any Kubernetes cluster provided you have a valid kubeconfig.

Prerequisites / Preparation

Before starting the installation, ensure your system meets the following requirements:

  • Operating System: Linux (Ubuntu, CentOS, Debian, Fedora, or a compatible distribution)
  • Access Rights: Installing to system directories (e.g., /usr/local/bin) requires sudo privileges. If you are installing to your home directory, sudo is not needed.
  • Network Utilities: Install curl or wget to download files. Check for their presence with curl --version or wget --version.
  • Architecture: This instruction assumes the use of the amd64 (x86_64) architecture. For other architectures (e.g., arm64), replace amd64 with the appropriate value in the URL.

Step-by-Step Instructions

Step 1: Download the kubectl binary file

Download the latest stable version of kubectl from the official Kubernetes repository. Use one of the commands below:

Using curl:

curl -LO https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl

Using wget:

wget https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl

These commands automatically detect the latest stable version. If you need a specific version (e.g., v1.24.0), specify it explicitly:

curl -LO https://dl.k8s.io/release/v1.24.0/bin/linux/amd64/kubectl

Step 2: Make the file executable

Grant execution permissions to the downloaded file:

chmod +x kubectl

Step 3: Move kubectl to a PATH directory

To make the kubectl command available from anywhere in the terminal, move the executable file to a directory listed in your PATH variable.

Option A: System-wide installation (requires sudo)

sudo mv kubectl /usr/local/bin/

Option B: Local installation in home directory (no sudo required)

If you do not have sudo privileges, create a local directory and move kubectl there:

mkdir -p ~/.local/bin
mv kubectl ~/.local/bin/

Then, add ~/.local/bin to your PATH variable. Edit the ~/.bashrc file (for Bash) or ~/.zshrc (for Zsh) and add the line:

export PATH="$HOME/.local/bin:$PATH"

Apply the changes by running:

source ~/.bashrc  # or source ~/.zshrc

Step 4: Verify the installation

Ensure kubectl is installed correctly by running:

kubectl version --client

The command should output the client version, for example:

Client Version: version.Info{Major:"1", Minor:"24", GitVersion:"v1.24.0", ...}

If you see an error like "command not found", double-check that the directory containing kubectl has been added to your PATH.

Verification

After successfully installing kubectl, you can test its functionality by connecting to a Kubernetes cluster. This requires a configured kubeconfig file (typically located at ~/.kube/config). If a cluster is already accessible, run:

kubectl get nodes

If the command returns a list of the cluster's nodes, the installation was successful and you are ready to manage the cluster. If your kubeconfig is not set up, you will receive a connection error, but this is unrelated to the kubectl installation itself.

For a minimal check without a cluster, the command kubectl version --client already confirms the installation.

Potential Issues

"kubectl: command not found" error after installation

Cause: The directory containing kubectl is not added to your PATH.

Solution:

  • If you installed kubectl to /usr/local/bin, this directory is usually already in PATH. If not, add it to your ~/.bashrc: export PATH="/usr/local/bin:$PATH".
  • If you installed to ~/.local/bin, ensure you have added that directory to PATH and executed source ~/.bashrc.

Permission error when moving the file

Cause: Insufficient permissions to write to a system directory.

Solution: Use sudo to move the file to /usr/local/bin, or install kubectl to your home directory without sudo, as described in Step 3 (Option B).

Version incompatibility between kubectl and the Kubernetes cluster

Cause: kubectl must be compatible with the cluster's API version. It is recommended that the minor versions differ by no more than one.

Solution:

  • Check the cluster version: kubectl version --short (if connected) or ask your administrator.
  • Download the appropriate kubectl version by specifying it explicitly in the URL (see Step 1).
  • For example, for a v1.23 cluster, use kubectl v1.22, v1.23, or v1.24.

Problems downloading the file (curl or wget)

Cause: Network issues or the URL is unavailable.

Solution:

  • Check your internet connection.
  • Try downloading manually in a browser from https://dl.k8s.io/release/.
  • Ensure you are using the correct architecture (amd64). For arm64, replace amd64 with arm64 in the URL.

kubectl works but cannot connect to the cluster

Cause: Missing or incorrect kubeconfig.

Solution: Configure your kubeconfig by obtaining the configuration file from your cluster administrator or by using kubeadm/cloud provider tools. Verify that the KUBECONFIG environment variable is set correctly or that the file is located at ~/.kube/config.

F.A.Q.

How to check if kubectl is already installed?
Can I install kubectl without sudo?
Which kubectl version is compatible with my Kubernetes cluster?
What to do if the kubectl command is not recognized after installation?

Hints

Download the kubectl binary
Make the file executable
Move kubectl to a PATH directory
Verify the installation
FixPedia

Free encyclopedia for fixing errors. Step-by-step guides for Windows, Linux, macOS and more.

© 2026 FixPedia. All materials are available for free.

Made with for the community