Cum să configurezi kubectl și fișierele kubeconfig
In this tutorial, you'll learn about Cum să configurezi kubectl și fișierele kubeconfig. We cover key concepts, practical examples, and best practices.
Problema
Nu poți conecta kubectl la clusterul Kubernetes, primești erori de autentificare sau trebuie să comuți rapid între medii (dev, staging, producție) gestionate de provideri diferiți.
Soluția Pas cu Pas
1. Verifică configurația curentă
kubectl config view
Output:
apiVersion: v1
clusters:
- cluster: ...
name: my-cluster
contexts:
- context:
cluster: my-cluster
user: admin
name: my-context
current-context: my-context
kind: Config
users:
- name: admin
user: ...
2. Verifică contextul activ
kubectl config current-context
Output:
my-context
3. Adaugă un cluster nou
kubectl config set-cluster production \
--server=https://prod-cluster.example.com:6443 \
--certificate-authority=ca.pem
4. Adaugă un user nou
kubectl config set-credentials prod-admin \
--client-certificate=admin.pem \
--client-key=admin-key.pem
5. Creează un context
kubectl config set-context prod-context \
--cluster=production \
--user=prod-admin \
--namespace=production
Output:
Context "prod-context" created.
6. Comută între contexte
kubectl config use-context prod-context
Output:
Switched to context "prod-context".
7. Fisișierul kubeconfig implicit
kubectl config view --kubeconfig=$HOME/.kube/config
8. Folosește mai multe fișiere kubeconfig
export KUBECONFIG=$HOME/.kube/config:$HOME/.kube/dev-config
kubectl config view --merge --flatten > $HOME/.kube/merged-config
9. Șterge un context
kubectl config delete-context prod-context
Prevenție
- Păstrează fișierele kubeconfig sigure (conțin certificate și token-uri).
- Folosește nume de contexte descriptive (ex:
gcp-dev,aws-prod,aks-staging). - Nu face commit la kubeconfig în Git. Adaugă-l în
.gitignore. - Folosește
KUBECONFIGenvironment variable pentru medii multiple simultan. - Folosește tool-uri ca
kubectxșikubenspentru comutare rapidă.
Greșeli Comune
- Kubeconfig în Git — Expune certificate și token-uri de acces.
- Context greșit activ — Comenzi aplicate pe cluster-ul greșit (ex: producție în loc de dev).
- Token expirat — Autentificarea eșuează după expirarea token-ului OIDC.
- Fără namespace specificat — Comenzile se execută pe namespace-ul implicit din context.
- Merge incorect — Contexte cu același nume se suprascriu la merge.
Exercițiu
Configurează două contexte (dev și prod) cu clustere diferite, comută între ele, rulează kubectl get nodes pe fiecare și apoi șterge contextul de dev.
FAQ
Construit de dezvoltatorii Doda Browser, DodaZIP și Durga Antivirus Pro. Uneltele DodaTech se integrează seamless cu Kubernetes pentru productivitate și securitate sporite.
Built by the developers of DodaTech
Doda Browser, DodaZIP & Durga Antivirus Pro