CodeBlanks Logo Icon CodeBlanks

Özet - Namespace

Oluşturma, listeleme ve -n bayrağını birleştirerek kaynak grupları kurarsın.

Özet: Namespace

Bu grupta:

  • Namespace cluster'ı mantıksal bölümlere ayırır; adlar namespace içinde benzersizdir. Node ve PV gibi nesneler cluster kapsamlıdır.
  • Hazır namespace'ler: default, kube-system, kube-public, kube-node-lease.
  • Oluşturma: create namespace ya da YAML; nesneler metadata.namespace ile yerleşir. ResourceQuota ve LimitRange kaynakları sınırlar.
  • -n tek komut, -A tüm namespace'ler; set-context --current --namespace varsayılanı değiştirir.
  • Namespace ağı yalıtmaz; NetworkPolicy gerekir. Silmek içindekileri de siler.
kubectl create ns dev
kubectl config set-context --current --namespace=dev
kubectl get all -n dev

Uygulama Kotalı namespace

Bir ResourceQuota YAML'ı yaz: adı dev-kota, namespace'i dev; spec.hard altında requests.cpu: "4", requests.memory: 8Gi ve pods: "20".

Başlangıç kodu

terminal
# buraya yaz

Örnek çözüm

terminal
apiVersion: v1
kind: ResourceQuota
metadata:
  name: dev-kota
  namespace: dev
spec:
  hard:
    requests.cpu: "4"
    requests.memory: 8Gi
    pods: "20"

Beklenen çıktı

resourcequota/dev-kota created
$ kubectl describe quota dev-kota -n dev
Resource         Used  Hard
--------         ----  ----
pods             3     20
requests.cpu     300m  4
requests.memory  384Mi 8Gi

Soru ve cevaplar

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

1 dev namespace'indeki bir pod, prod'daki db servisine hangi adla erişir?

  • prod/db
  • Erişemez
  • db.prod Doğru cevap
  • db

Açıklama: Kısa ad yalnızca aynı namespace'te çözülür.

2 Tüm namespace'lerdeki pod'ları listele.

Soru
kubectl get pods ____
Cevap
kubectl get pods --all-namespaces

Açıklama: --all-namespaces'in kısa hâli -A'dır.

3 Eşleştir.

Kavram Anlamı
create ns Oluştur
-n Seç
-A Hepsi
delete ns İçindekilerle sil

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