CodeBlanks Logo Icon CodeBlanks

kubectl apply

kubectl apply ile YAML dosyası uygulamayı öğrenirsin.

kubectl apply

kubectl apply -f, dosyadaki nesneleri oluşturur ya da var olanları dosyaya uyacak şekilde günceller. Bir klasördeki tüm YAML'lar, hatta bir URL uygulanabilir:

kubectl apply -f web.yaml
kubectl apply -f k8s/                 # klasördeki tüm dosyalar
kubectl apply -f https://example.com/kurulum.yaml

Bir YAML dosyasında birden çok nesne --- ayırıcısıyla yazılabilir.

Önce farkı gör

Değişikliği uygulamadan önce kubectl diff cluster'daki ile dosyadaki arasındaki farkı gösterir; --dry-run=server ise isteği doğrulatır ama kaydetmez. Bir nesnenin YAML iskeletini sıfırdan yazmak yerine --dry-run=client -o yaml ile üretebilirsin:

kubectl diff -f web.yaml
kubectl apply -f web.yaml --dry-run=server
kubectl create deployment web --image=nginx:1.27 --dry-run=client -o yaml > web.yaml

Uygulama Üret, kontrol et, uygula

Üç komut yaz: nginx:1.27 image'lı web deployment'ının YAML'ını oluşturmadan üretip web.yaml'a yaz; web.yaml için farkı göster; dosyayı uygula.

Başlangıç kodu

terminal
# buraya yaz

Örnek çözüm

terminal
kubectl create deployment web --image=nginx:1.27 --dry-run=client -o yaml > web.yaml
kubectl diff -f web.yaml
kubectl apply -f web.yaml

Beklenen çıktı

+  replicas: 1
+  selector:
+    matchLabels:
+      app: web
deployment.apps/web created

Soru ve cevaplar

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

1 kubectl create -f ile kubectl apply -f arasındaki fark nedir?

  • İkisi aynıdır
  • apply yalnızca siler
  • create klasör kabul eder, apply etmez
  • create nesne varsa hata verir; apply günceller Doğru cevap

Açıklama: apply tekrar tekrar çalıştırılabilir (idempotent).

2 Değişikliği uygulamadan önce farkı göster.

Soru
kubectl ____ -f web.yaml
Cevap
kubectl diff -f web.yaml

Açıklama: diff, apply'ın yapacağı değişikliği gösterir.

3 Eşleştir.

Kavram Anlamı
apply -f Oluştur ya da güncelle
create -f Yalnızca oluştur
diff -f Farkı göster
--dry-run=client -o yaml İskelet üret

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