Now when we have installed Docker Desktop along with Kubernetes and other related tools. We are ready to deploy containers on local Kubernetes which we have installed on our laptop.
Our fundamental goal is to deploy the container at RI.SE ICEKUBE (Kubernetes infrastructure) and harness the power of GPUs, to do that we have to modify the config file at our local system to authenticate and access the remote Kubernetes infrastructure (which can be any cloud platform such as AWS, GCP, Azure or on-premise infrastructure like icekube Kubernetes cluster provided by RI.SE)
To make it simpler, we have kept the config file ready for you at the private GitHub link. You can ask any existing group member to add you to the GitHub repository for icekube config file so you can download the config file.
Once you access the repository, you can download or copy the config file from this link.
Take the backup of the existing config file. Now, you can simply replace the existing config file in the folder with the path “/home/sumit/.kube” with the downloaded config file.
Replace “sumit” with your linux username
Once you are done, restart the docker desktop and Kubernetes. Open Bash Shell and try kubectl-based command to switch context from local to remote Kubernetes. We will explain the different commands below to view the current context, how to switch from local to remote context, and vice versa.
Command to list the current context used.
$ kubectl config current-context
Command to view all contexts via the config command
$ kubectl config get-contexts
The * represents the current context. For remote access, we are only entitled to use icekube cluster with namespace ltu-default
Command to switch from existing context to icekube context without namespace
$ kubectl config use-context icekube
Without using the namespace we may not authorize to access all the resources in the icekube cluster so better use the below command by mentioning context and namespace together.
Command to switch from existing context to icekube context with ltu-default namespace
$ kubectl config set-context icekube --namespace=ltu-default OR $ kubectl config use-context icekube $ kubectl config set-context --current --namespace=ltu-default
List all the resources for the current context.
Using the kubectl get all command we can list down all the pods, services, statefulsets, etc. in a namespace but not all the resources are listed using this command in a cluster.
List all the resources for the current context at cluster level.
$ kubectl get all
RI.SE Kubernetes cluster is a multi-tenant, so when we set up the config file for Kubernetes. We can only run kubectl-related commands accessible within the namespace.
We modified the config file inside ./kube/config (we added the config file downloaded from the icekube). The config file is modified to operate at the cluster level. But the users linked to the ltu-default namespace cannot run kubectl commands at the cluster level.
List all the resources for the current context within a namespace.
$ kubectl get all -n ltu-default