-n bayrağı
- Docker & Kubernetes kursu
- Orta seviye
- Ders 58/82
- 4 dk
-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 -- shYAML'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 giderUygulama 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
# buraya yazÖrnek çözüm
kubectl get pods -n dev
kubectl apply -f web.yaml -n dev
kubectl logs deploy/web -n prodBeklenen çı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.
kubectl logs deploy/web ____ prod
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 |