How to Install kubectl on Ubuntu 20.04 LTS (Focal Fossa)


In this article, I will take you through the steps to install kubectl on Ubuntu 20.04 LTS (Focal Fossa). Kubectl is free and open source Kubernetes command line tool that allows you to run command against Kubernetes Clusters. It can be used to deploy applications, inspect and manage cluster resources, and view logs. More on Kubernetes Official website.

How Kubectl Works

Kubectl works by authenticating with the master server and then performing tasks based on command given. By default, kubectl reads the config file stored in .kube directory under User's home path and then perform specific tasks based on API request against the respective Cluster.

How to Install kubectl on Ubuntu 20.04 LTS (Focal Fossa)

How to Install kubectl on Ubuntu 20.04 LTS (Focal Fossa)

Also Read: How to Setup and Use Atlantis for Terraform Pull Request Automation

Step 1: Prerequisites

a) You should have a running Linux(Ubuntu 20.04 LTS) Server.

b) You should have sudo or root access to run privileged commands.

c) You should have apt or apt-get utility available in your System.


Step 2: Update Your Server

Before installing a package, it is always recommended to update your server first with the latest available updates. For that, you can use any available package manager in your System. For example, in our Ubuntu 20.04 LTS system we are using apt-get update command to sync all the packages. If you are using RHEL/CentOS based systems then you can either use yum update or dnf update command for this activity.

root@cyberithub:~# apt-get update
Hit:1 focal InRelease
Get:3 focal-updates InRelease [114 kB]
Hit:4 focal InRelease
Get:5 focal-backports InRelease [108 kB]
Get:6 stable InRelease [1,811 B]
Get:7 focal-security InRelease [114 kB]
Get:8 focal-updates/main amd64 Packages [1,669 kB]
Get:9 stable/main amd64 Packages [1,095 B]
Hit:2 40x InRelease
Get:10 focal-updates/main i386 Packages [620 kB]
Get:11 focal-security/main i386 Packages [406 kB]
Get:12 focal-updates/main Translation-en [315 kB]
Get:13 focal-updates/main amd64 DEP-11 Metadata [278 kB]
Get:14 focal-updates/main DEP-11 48x48 Icons [60.8 kB]
Get:15 focal-updates/main DEP-11 64x64 Icons [98.3 kB]
Get:16 focal-updates/main amd64 c-n-f Metadata [14.8 kB]
Get:17 focal-updates/restricted amd64 Packages [881 kB]
Get:18 focal-updates/restricted i386 Packages [24.3 kB]
Get:19 focal-updates/restricted Translation-en [126 kB]
Get:20 focal-updates/restricted amd64 c-n-f Metadata [528 B]


Step 3: Install Kubectl

There are multiple ways to install kubectl utility but here we are going to install it from Snap Store as a snap package. You just need to use snap install kubectl --classic command for the installation as shown below.

root@cyberithub:~# snap install kubectl --classic
kubectl 1.23.5 from Canonical* installed


Step 4: Check Kubectl Version

Once installed, you can verify the current version by using kubectl version command as shown below.

root@cyberithub:~# kubectl version
Client Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.23.5", GitCommit:"c285e781331a3785a7f436042c65c5641ce8a9e9", GitTreeState:"clean", BuildDate:"2022-03-17T03:51:43Z", GoVersion:"go1.17.8", Compiler:"gc", Platform:"linux/amd64"}


Step 5: Check all the Available Options

You can also check all the options available with kubectl command using kubectl --help command as shown below.

root@cyberithub:~# kubectl --help
kubectl controls the Kubernetes cluster manager.

Find more information at:

Basic Commands (Beginner):
create Create a resource from a file or from stdin
expose Take a replication controller, service, deployment or pod and expose it as a new Kubernetes service
run Run a particular image on the cluster
set Set specific features on objects

Basic Commands (Intermediate):
explain Get documentation for a resource
get Display one or many resources
edit Edit a resource on the server
delete Delete resources by file names, stdin, resources and names, or by resources and label selector

Deploy Commands:
rollout Manage the rollout of a resource
scale Set a new size for a deployment, replica set, or replication controller
autoscale Auto-scale a deployment, replica set, stateful set, or replication controller


Step 6: Uninstall Kubectl

To remove kubectl snap package, you need to use snap remove kubectl command as shown below.

root@cyberithub:~# snap remove kubectl
kubectl removed

Leave a Comment