CodeBlanks Logo Icon CodeBlanks

-n bayrağı

-n bayrağı ile Namespace belirtmeyi öğrenirsin.

-n bayrağı

kubectl komutları varsayılan olarak etkin context'in namespace'inde (genellikle default) çalışır. Başka bir namespace için her komuta -n (--namespace) eklenir:

kubectl get pods -n dev
kubectl apply -f web.yaml -n dev        # YAML'da namespace yoksa
kubectl logs deploy/web -n prod
kubectl exec -it -n prod deploy/web -- sh

YAML'da metadata.namespace yazılıysa ve -n farklıysa kubectl hata verir.

Bayrak nereye yazılır?

-n komutun herhangi bir yerine yazılabilir; ama exec ve run komutlarında --'dan önce olmalıdır, yoksa container'daki komutun argümanı sayılır:

kubectl -n prod get pods              # doğru
kubectl get pods -n prod              # doğru
kubectl exec deploy/web -n prod -- ls # doğru
kubectl exec deploy/web -- ls -n prod # yanlış: -n ls'e gider

Uygulama Başka namespace'te çalış

Üç komut yaz: dev namespace'indeki pod'ları listele; web.yaml'u dev namespace'ine uygula; prod namespace'indeki web deployment'ının log'larını göster (deploy/web).

Başlangıç kodu

terminal
# buraya yaz

Örnek çözüm

terminal
kubectl get pods -n dev
kubectl apply -f web.yaml -n dev
kubectl logs deploy/web -n prod

Beklenen çıktı

NAME                  READY   STATUS    RESTARTS   AGE
web-6b9c8d7f5-xyzab   1/1     Running   0          1h
deployment.apps/web configured
10.244.1.1 - - [03/Nov/2026:12:01:07 +0000] "GET / HTTP/1.1" 200 615

Soru ve cevaplar

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

1 kubectl get pods -n dev ile kubectl get pods arasındaki fark nedir?

  • İlki dev'deki, ikincisi etkin context namespace'indeki pod'ları listeler Doğru cevap
  • Fark yoktur
  • İkincisi tüm namespace'leri listeler
  • İlki dev adlı pod'u gösterir

Açıklama: Tüm namespace'ler için -A gerekir.

2 Komutu prod namespace'inde çalıştır.

Soru
kubectl logs deploy/web ____ prod
Cevap
kubectl logs deploy/web -n prod

Açıklama: -n (--namespace) namespace'i seçer.

3 Eşleştir.

Kavram Anlamı
-n dev Tek komut için namespace
-A Tüm namespace'ler
-- öncesi -n'in yeri (exec)
metadata.namespace YAML'daki namespace

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