In Kubernetes, a Context is used to aggregate access parameters in a kubeconfig file under easy-to-remember names. Cluster, Namespace, and User are the three parameters that each Context holds. We’ll show you how to use the kubectl command to view and adjust Context in Kubernetes in this article.
To run the instructions in Kubernetes, we have installed Ubuntu 20.04 on our Linux operating system. You can do the same. In order to run Kubernetes on Linux, you must also install the Minikube cluster on your workstation. Minikube creates a smooth experience by allowing you to test commands and programs in a systematic manner. As a result, it offers the best learning experience for Kubernetes beginners. The minikube cluster must be started initially.
Then, in Ubuntu 20.04, go to the command line terminal you just installed. By using the Ctrl+Alt+T shortcut key or putting “Terminal” into the Ubuntu 20.04 system’s search box, you can do so. Either of the aforementioned methods will start the terminal in its entirety. After that, the minikube will be initiated.
To start the minikube, type “minikube start” into the terminal. A virtual machine capable of running a single node cluster will be constructed, and the Kubernetes cluster will be launched. It also works with the kubectl setup. This will be originally used to communicate with the cluster. Now, let’s get started.
How to Switch Context in Kubernetes?
A context is a configuration that you use to connect to a certain cluster. kubectl config is the traditional solution for switching/reading/manipulating different Kubernetes environments (aka Kubernetes contexts). The commonly used kubectl commands are as follows:
- Current-context is used to show the current-context
- Delete-cluster is used for removing the specified cluster from the kubeconfig
- Get-contexts are used to describe one or many contexts
- Get-clusters shows clusters that are defined in the kubeconfig
- Set-context modifies the contextual entry in kubeconfig
- Set-credentials is a kubeconfig command that creates a user entry.
- The view is utilized to illustrate the merged settings of kubeconfig
All of your Kubernetes cluster’s resource types are supported via commands. Custom resource definitions have their own RESTful endpoints that kubectl may access because they interface with the Kubernetes API.
Utilize the command “kubectl config set-context my-context —cluster=my-app —namespace=production” to configure per-context parameters. This approach will build a new context named my-context with default Kubernetes cluster and namespace parameters. Any subsequent kubectl calls would use the parameters from the my-context context, linking you to the my-app cluster inside the production namespace.
By default, the kubectl tool communicates with the cluster using parameters from the present Context. The current context will be displayed with the following command.
The following command is used in a kubeconfig file to list all the contexts.
Create a New Context
Here, we have constructed a context because there is not one that can be used for switching. This command will create a context based on a username.
The context has now been shifted to the newly formed context.
Use the following code to revert to a previous place.
The effective use of contexts greatly simplifies kubectl interactions. You must manually generate distinct configuration files that are swapped using the KUBECONFIG option or an environment variable if you don’t have them.
Conclusion
This article was about the kubectl list and switch context. Here we have revealed how you can create and use contexts. You could use kubectl config use-context statement to quickly switch among clusters after you have defined your contexts inside one or more configuration files. In addition to that, we also have discussed how you can switch between contexts. You now know that several “contexts” can be defined within configuration files. These allow you to organize frequently used “access parameters” as cluster URLs and user accounts into named references.