CodeBlanks Logo Icon CodeBlanks

Default namespace

Default ve kube-system namespace'lerini öğrenirsin.

Default namespace

Sürekli -n yazmamak için etkin context'in varsayılan namespace'i değiştirilir. Bu ayar kubeconfig'e yazılır ve sonraki tüm komutları etkiler:

kubectl config set-context --current --namespace=dev
kubectl config view --minify -o jsonpath='{..namespace}'
# dev
kubectl get pods     # artık dev'deki pod'lar

kubens gibi küçük araçlar bunu tek komuta indirir. Uyarı: üretim cluster'ında hangi namespace'te olduğunu unutmak tehlikelidir; kabuk satırının başında context ve namespace adını göstermek yaygın bir önlemdir.

Etkin namespace'i doğrulamak

Hangi namespace'te olduğunu görmenin iki yolu: config get-contexts NAMESPACE sütununu gösterir; config view --minify yalnızca etkin context'i yazdırır:

$ kubectl config get-contexts
CURRENT   NAME       CLUSTER    AUTHINFO   NAMESPACE
*         minikube   minikube   minikube   dev
$ kubectl config set-context --current --namespace=default   # geri dön

Uygulama Varsayılanı değiştir

Üç komut yaz: etkin context'in namespace'ini dev yap; context'leri listele; pod'ları -n yazmadan listele.

Başlangıç kodu

terminal
# buraya yaz

Örnek çözüm

terminal
kubectl config set-context --current --namespace=dev
kubectl config get-contexts
kubectl get pods

Beklenen çıktı

Context "minikube" modified.
CURRENT   NAME       CLUSTER    AUTHINFO   NAMESPACE
*         minikube   minikube   minikube   dev
NAME                  READY   STATUS    RESTARTS   AGE
web-6b9c8d7f5-xyzab   1/1     Running   0          1h

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 set-context --current --namespace=dev komutu neyi değiştirir?

  • Cluster'daki default namespace'i siler
  • Tüm kullanıcıların namespace'ini
  • Pod'ları dev'e taşır
  • Etkin context'in varsayılan namespace'ini (kubeconfig'te) Doğru cevap

Açıklama: Ayar yalnızca senin kubeconfig dosyanı etkiler.

2 Etkin context'in namespace'ini değiştir.

Soru
kubectl config set-context ____ --namespace=dev
Cevap
kubectl config set-context --current --namespace=dev

Açıklama: --current etkin context'i seçer.

3 Eşleştir.

Kavram Anlamı
set-context --current Etkin context'i değiştir
config view --minify Yalnızca etkin context
kubens Namespace değiştirme aracı
NAMESPACE sütunu get-contexts çıktısı

Orta seviye bölümündeki tüm dersler