Durumsuz Uygulamalar için Dağıtımlar
Durumsuz uygulamaları yönetmek, aşamalı güncellemeleri ve geri almayı etkinleştirmek için Dağıtımları kullanın.
Durumsuz Uygulamalar için Dağıtımlar, CoddyKit'te ücretsiz bir Docker & DevOps Fundamentals dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Docker & DevOps Fundamentals öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Docker & DevOps Fundamentals kursu toplamda 4 dersten oluşur.
Kubernetes Dağıtımlarıyla Tanışın
Kubernetes'teki temel bir kavrama hoş geldiniz: Dağıtımlar! Durum bilgisi tutmayan uygulamaları yönetmek için başvuracağınız kaynak bunlardır.
Dağıtımı uygulamanızın planı gibi düşünebilirsiniz. Kaç kopyasının (replikasının) çalışmasını istediğinizi ve kesinti olmadan nasıl güncelleneceğini Kubernetes'e bildirir.

Pod'ların ve ReplicaSet'lerin Ötesi
Pod'ları (en küçük birim) ve ReplicaSet'leri (belirli sayıda Pod olmasını sağlayan kaynak) öğrendiniz.
Bir Dağıtım, bir ReplicaSet'in üzerinde yer alır. Şunlar için daha üst düzey bir soyutlama sağlar:
- ReplicaSet oluşturma ve güncelleme
- Uygulamanızın yeni sürümlerini aşamalı olarak kullanıma sunma
- Bir sorun çıktığında önceki sürümlere geri dönme
Bu, uygulamalarınızı yönetmeyi çok daha kolay ve güvenli hâle getirir.
Bir Dağıtım YAML'ının İçeriği
Diğer Kubernetes kaynakları gibi Dağıtımlar da YAML kullanılarak tanımlanır. Temel yapıya bakalım:
apiVersion: Kubernetes API sürümünü belirtir (ör.apps/v1).kind: Bir Dağıtım kaynağı için her zamanDeploymentolur.metadata: Dağıtımınnameve isteğe bağlılabelsdeğerleri gibi bilgileri içerir.
Bu alanlar Kubernetes'in dağıtımlarınızı tanımlamasına ve düzenlemesine yardımcı olur.
Replikaları ve Şablonu Belirtme
Bir Dağıtımın merkezinde spec bölümü bulunur. Burada şunları tanımlarsınız:
replicas: Uygulamanız için istenen özdeş Pod sayısı.selector: Dağıtımın yönettiği Pod'ları nasıl bulduğu (etiketleri kullanarak).template: Her Pod için kapsayıcıları, birimleri ve diğer öğeleri açıklayan, aslında bir Pod tanımıdır.
template, Dağıtımın yeni Pod'lar oluşturmak için kullandığı bölümdür.
Nginx Dağıtımımız
Aşağıda Nginx web sunucusu için basit bir Dağıtım bildirimi verilmiştir. Bu bildirim, Kubernetes'e 3 Nginx Pod'unu çalışır durumda tutmasını söyler.
Her bölümü anlamaya çalışın!
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80Dağıtımınızı Oluşturma
Dağıtım YAML dosyanız hazır olduğunda (ör. nginx-deployment.yaml), kubectl apply komutunu kullanarak Kubernetes kümenizde Dağıtımı oluşturabilirsiniz.
Kubernetes daha sonra istenen sayıda Pod'un oluşturulmasını ve korunmasını sağlar.
kubectl apply -f nginx-deployment.yamlDurumunu şu komutla kontrol edebilirsiniz:
kubectl get deploymentsYukarı ve Aşağı Ölçekleme
Uygulamanızın daha fazla veya daha az örneğine mi ihtiyacınız var? Dağıtımlar ölçeklemeyi kolaylaştırır! YAML dosyanızdaki replicas alanını değiştirip yeniden uygulayabilir veya doğrudan bir komut kullanabilirsiniz:
kubectl scale deployment nginx-deployment --replicas=5Bu komut, Dağıtımınıza anında 2 Nginx Pod'u daha oluşturmasını söyler ve toplam sayıyı 5'e çıkarır.
Kesintisiz Güncellemeler
Dağıtımların en büyük avantajlarından biri aşamalı güncellemeler gerçekleştirebilmeleridir. Pod şablonunu güncellediğinizde (örneğin kalıp sürümünü değiştirdiğinizde) Kubernetes eski Pod'ların tümünü aynı anda kapatmaz.
Bunun yerine eski Pod'ları yenileriyle kademeli olarak değiştirir ve güncelleme süreci boyunca uygulamanızın kullanılabilir kalmasını sağlar.
kubectl set image deployment/nginx-deployment nginx=nginx:1.16.1Kolayca Geri Alma
Bir güncellemede hata mı yaptınız? Endişelenmeyin! Dağıtımlar, sürümlerinizin geçmişini tutarak önceki ve kararlı bir sürüme kolayca geri dönmenizi sağlar.
Buna geri alma denir ve dağıtımlar için kritik bir güvenlik ağıdır.
kubectl rollout undo deployment/nginx-deploymentGeçmişi kubectl rollout history deployment/nginx-deployment komutuyla da kontrol edebilirsiniz.
Dağıtım Bilgilerinizi Sınayın
Bir geliştirici, Nginx dağıtımını nginx:1.14.2 imajından nginx:1.16.1 imajına güncelliyor. Bu güncelleme için Kubernetes dağıtımı kullanmanın temel yararı nedir?
Dağıtımlar: Önemli Noktalar
Harika iş çıkardınız! Durum bilgisi olmayan uygulamalarınızı yönetmek için güçlü bir kaynak olan Kubernetes Dağıtımları hakkında bilgi edindiniz.
- Dağıtımlar, bunların da Pod'ları yönettiği ReplicaSets'i yönetir.
replicassayısı da dahil olmak üzere istenen durumu tanımlarlar.- Temel özellikleri arasında kolay ölçeklendirme, hizmet kesintisi olmadan kademeli güncellemeler ve önceki sürümlere kolayca geri dönme bulunur.
Sırada, uygulamalarınızı erişime açmak için Services konusunu inceleyeceğiz!
Sıkça Sorulan Sorular
“Durumsuz Uygulamalar için Dağıtımlar” dersi ücretsiz mi?
Evet — “Durumsuz Uygulamalar için Dağıtımlar” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Docker & DevOps Fundamentals kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Docker & DevOps Fundamentals kursu toplamda 4 dersten oluşur.
“Durumsuz Uygulamalar için Dağıtımlar” dersinde ne öğreneceğim?
Durumsuz uygulamaları yönetmek, aşamalı güncellemeleri ve geri almayı etkinleştirmek için Dağıtımları kullanın. Docker & DevOps Fundamentals ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Docker & DevOps Fundamentals öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Docker & DevOps Fundamentals, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“Durumsuz Uygulamalar için Dağıtımlar” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Docker & DevOps Fundamentals dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Docker & DevOps Fundamentals dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Durumsuz Uygulamalar için Dağıtımlar
- Ağ Erişimi için Hizmetler
- ConfigMaps ve Gizli Bilgiler
- Ingress ve Harici Yönlendirme