Kubeconfig
- Docker & Kubernetes kursu
- Uzman
- Ders 27/47
- 4 dk
kubeconfig ile çoklu cluster bağlamayı öğrenirsin.
Kubeconfig
Kubeconfig üç listeden oluşur: clusters (API adresi ve CA), users (kimlik bilgisi) ve bunları birleştiren contexts (cluster + kullanıcı + varsayılan namespace). current-context etkin olanı belirtir:
apiVersion: v1
kind: Config
clusters:
- name: uretim-eu
cluster:
server: https://eu.k8s.sirket.com
certificate-authority-data: LS0tLS1CRUdJTi…
users:
- name: ali-eu
user:
exec:
apiVersion: client.authentication.k8s.io/v1beta1
command: aws
args: [eks, get-token, --cluster-name, uretim-eu]
contexts:
- name: uretim-eu
context:
cluster: uretim-eu
user: ali-eu
namespace: magaza
current-context: uretim-euBirden çok dosya
KUBECONFIG ortam değişkeni iki nokta üst üsteyle ayrılmış birden çok dosya alır; kubectl hepsini birleştirir. config view --flatten birleşimi tek dosyaya yazar. Context'ler yeniden adlandırılabilir ve silinebilir:
export KUBECONFIG=~/.kube/config:~/.kube/uretim-eu.yaml:~/.kube/uretim-tr.yaml
kubectl config view --flatten > ~/.kube/birlesik.yaml
kubectl config rename-context arn:aws:eks:eu-central-1:123:cluster/uretim-eu uretim-eu
kubectl config delete-context eski-testUygulama Kubeconfig'leri birleştir
Üç komut yaz: KUBECONFIG'i ~/.kube/config:~/.kube/uretim-eu.yaml olarak dışa aktar (export); birleşimi --flatten ile ~/.kube/birlesik.yaml'a yaz; eski-test context'ini sil.
Başlangıç kodu
# buraya yazÖrnek çözüm
export KUBECONFIG=~/.kube/config:~/.kube/uretim-eu.yaml
kubectl config view --flatten > ~/.kube/birlesik.yaml
kubectl config delete-context eski-testBeklenen çıktı
deleted context eski-test from /home/ali/.kube/config
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 exec tabanlı kullanıcı kimliğinin avantajı nedir?
- Kısa ömürlü belirteci her seferinde bir araçtan (aws, gcloud) alır; kalıcı gizli dosyada durmaz Doğru cevap
- Daha hızlıdır
- Sertifika gerektirmez
- Tüm cluster'larda çalışır
Açıklama: Kubeconfig'teki kalıcı belirteçler sızarsa tehlikelidir.
2 Birleşik yapılandırmayı tek dosyaya yaz.
kubectl config view ____ > ~/.kube/birlesik.yaml
kubectl config view --flatten > ~/.kube/birlesik.yaml
Açıklama: --flatten referansları satır içine alır.
3 Eşleştir.
| Kavram | Anlamı |
|---|---|
clusters |
API adresi ve CA |
users |
Kimlik bilgisi |
contexts |
Cluster + kullanıcı + namespace |
current-context |
Etkin hedef |