Skip to content
Menu
myCloud myCloud

Personal short notes about Cloud

  • XMPie
  • AWS
    • AWS Topics
    • AWS Architecture
    • AWS CLI
    • AWS Health
    • AWS Policies
    • AWS Cost
  • CHEAT SHEETS
myCloud myCloud

Personal short notes about Cloud

kube config file

By mikado on February 4, 2023February 4, 2023

3 parts:

  • clusters
  • users
  • contexts
    • current-context

By default, kubectl looks for config in:

~/.kube/config

to authenticate against k8s cluster

  • Context maps cluster & user
  • user holds the credentials: client.key & client.crt

Add a user:

k config set-credentials <username> \
--client-certificate devuser.crt \
--client-key devuser.key

Set context:

k config set-context <name> \
--cluster c1
--user devuser

kubectx

Order

kubectl looks at this order:

  • –kubeconfig to kubectl command
  • $KUBECONFIG environment variable
  • ${HOME}/.kube/config

Multiple config files

export KUBECONFIG=~/.kube/config:~/kube/config_2
kubectx

Generate key and certificate

Generate private key:

openssl genrsa -out mika.key 2048

Create a CSR for this key:

openssl req -new -key mika.key -out mika.csr -subj "/CN=mika/O=devops"

Sign the request

openssl x509 -req -in mika.csr \
-CA /etc/kubernetes/pki/ca.crt \
-CAkey /etc/kubernetes/pki/ca.key \
-CAcreateserial \
-out mika.crt \
-days 30

Set user/credentials in kube config

k config set-credentials --client-certificate mika.crt --client-key mika.key

Set context in kube config

k set-context mika-c1 --user mika --cluster c1

Check context is added

kubectx

Category: Container

Categories

  • AWS (4)
  • AWS Architecture (8)
  • AWS CLI (5)
  • AWS Cost (3)
  • AWS Health (4)
  • AWS Policies (2)
  • AWS Topics (24)
  • CHEAT SHEETS (16)
  • Container (21)
  • Datadog (4)
  • Jenkins (2)
  • Linux (9)
  • Microsoft (7)
  • Python (1)
  • SCRIPTS (9)
  • Terraform (5)
  • XMPie (6)
©2025 myCloud
Click to Copy