CodeBlanks Logo Icon CodeBlanks

Kubeconfig

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-eu

Birden ç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-test

Uygulama 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

terminal
# buraya yaz

Örnek çözüm

terminal
export KUBECONFIG=~/.kube/config:~/.kube/uretim-eu.yaml
kubectl config view --flatten > ~/.kube/birlesik.yaml
kubectl config delete-context eski-test

Beklenen çı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.

Soru
kubectl config view ____ > ~/.kube/birlesik.yaml
Cevap
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

Uzman bölümündeki tüm dersler