Kubernetes: Configure Context and Switching Contexts in Multiple Clusters | Part 4

Overview

Introduction

Step 01: Install Kubectl on the local machine.

curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.15.0/bin/linux/amd64/kubectl
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl
kubectl version

Step 02: Copy kube config file from server to local

--- Don't run these commands again. We already ran on Master Node
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configsudo chown $(id -u):$(id -g) $HOME/.kube/config
mkdir -p $HOME/.kube
nano $HOME/.kube/config #you can use any command to create a file
apiVersion: v1
kind: Config
preferences: {}

clusters:
- cluster:
name: development

users:
- name: developer

contexts:
- context:
name: dev-environment
$ kubectl config view
apiVersion: v1
clusters:
- cluster:
certificate-authority: fake-ca-file
server: https://1.2.3.4
name: development
contexts:
- context:
cluster: development
namespace: storage
user: developer
name: dev-environment
current-context: ""
kind: Config
preferences: {}
users:
- name: developer
user:
client-certificate: fake-cert-file
client-key: fake-key-file

Step 03: Configure Multiple contexts on your local machine.

apiVersion: v1
clusters:
- cluster:
certificate-authority: fake-ca-file
server: https://1.2.3.4
name: development
- cluster:
insecure-skip-tls-verify: true
server: https://5.6.7.8
name: scratch
contexts:
- context:
cluster: development
namespace: frontend
user: developer
name: dev-frontend
- context:
cluster: development
namespace: storage
user: developer
name: dev-storage
- context:
cluster: scratch
namespace: default
user: experimenter
name: exp-scratch
current-context: ""
kind: Config
preferences: {}
users:
- name: developer
user:
client-certificate: fake-cert-file
client-key: fake-key-file
- name: experimenter
user:
password: some-password
username: exp
source : https://kubernetes.io/docs/tasks/access-application-cluster/configure-access-multiple-clusters/

Step 04: Switching contexts

$ kubectl config view -o jsonpath='{.contexts[*].name}' | tr " " "\n"
$ kubectl config current-context
$ kubectl config use-context <context_name>

--

--

Senior DevSecOps Engineer | Full Stack Developer | Tech Blogger | SLIIT

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Sarasa Gunawardhana

Senior DevSecOps Engineer | Full Stack Developer | Tech Blogger | SLIIT