0Pricing
Docker & DevOps Fundamentals · Ders

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.

Durumsuz Uygulamalar için Dağıtımlar — resim 1

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 zaman Deployment olur.
  • metadata: Dağıtımın name ve isteğe bağlı labels değ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: 80

Dağı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.yaml

Durumunu şu komutla kontrol edebilirsiniz:

kubectl get deployments

Yukarı 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=5

Bu 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.1

Kolayca 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-deployment

Geç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.
  • replicas sayı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

  1. Durumsuz Uygulamalar için Dağıtımlar
  2. Ağ Erişimi için Hizmetler
  3. ConfigMaps ve Gizli Bilgiler
  4. Ingress ve Harici Yönlendirme
← Docker & DevOps Fundamentals Sayfasına Dön