ReplicaSets ile Uygulamaları Ölçeklendirme
Her zaman belirtilen sayıda aynı Pod'un çalışmasını garanti etmek için ReplicaSets kullanın.
ReplicaSets ile Uygulamaları Ölçeklendirme, CoddyKit'te ücretsiz bir DevOps Bootcamp dersidir. Bu, 4 dersinin 2. 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, DevOps Bootcamp öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. DevOps Bootcamp kursu toplamda 4 dersten oluşur.
Ölçeklendirme Neden Önemlidir
Bulut-yerel uygulamalar dünyasında ölçeklendirme kritik öneme sahiptir. Uygulamalarınızın değişken iş yüklerini karşılayabilmesini ve bileşenler başarısız olsa bile kullanılabilir kalmasını sağlar.
Ölçeklendirme, talebi karşılamak için çalışan uygulama örneklerinin sayısını ayarlamak anlamına gelir. Çok az örnek olursa uygulamanız yavaşlar veya yanıt vermez hâle gelir. Çok fazla örnek olursa kaynakları boşa harcarsınız.
ReplicaSet ile Tanışın
ReplicaSet, temel görevi herhangi bir anda çalışan Pod'lardan oluşan kararlı bir kümeyi korumak olan temel bir Kubernetes nesnesidir.
Bunu Pod'larınızın koruyucusu gibi düşünebilirsiniz. İstediğiniz özdeş Pod sayısının her zaman gerçekten çalışan Pod sayısına eşit olmasını sağlar.
ReplicaSet'in Temel Görevi
ReplicaSet'in temel amacı, belirli sayıda özdeş Pod'un kullanılabilir olmasını garanti etmektir.
- Bir Pod ölürse (örneğin bir düğüm arızası nedeniyle), ReplicaSet otomatik olarak yenisini oluşturur.
- Harici bir işlem çok fazla Pod oluşturursa ReplicaSet fazlalıkları sonlandırır.
- Bu kendi kendini iyileştirme özelliği, uygulama güvenilirliği açısından hayati önem taşır.
ReplicaSet YAML Yapısı
Diğer Kubernetes nesneleri gibi bir ReplicaSet de bir YAML dosyası kullanılarak tanımlanır. Temel yapısına göz atalım:
apiVersion: Kubernetes API sürümünü tanımlar (örneğinapps/v1).kind:ReplicaSetolan nesne türünü belirtir.metadata:namegibi tanımlayıcı bilgileri içerir.spec: ReplicaSet'in istenen durumunu açıklar.
İstenen Durum: Replikalar ve Seçici
spec bölümünde iki önemli alan replicas ve selector'dır:
replicas: Çalışmasını istediğiniz özdeş Pod sayısını belirten sayıdır.selector: ReplicaSet'in Pod'ları nasıl bulup yöneteceğini tanımlar. Pod'ları eşleştirmek için etiketleri kullanır. Yalnızca bu etiketlerle eşleşen Pod'lar bu ReplicaSet'in parçası kabul edilir.
Pod Şablonu
spec.template alanı, ReplicaSet'in oluşturacağı Pod'lar için taslağı sağlar. Temelde standart bir Pod tanımıdır.
Bu şablon, Pod'un meta verilerini (etiketler gibi) ve belirtimini (kapsayıcı görüntüleri, bağlantı noktaları vb. gibi) içerir. Şablondaki etiketler mutlaka spec.selector ile eşleşmelidir!
Basit Bir ReplicaSet Tanımlama
Her zaman 2 Nginx web sunucusu Pod'unun çalışmasını sağlayan bir ReplicaSet tanımlayalım. Pod şablonundaki etiketlerin (app: nginx) seçiciyle nasıl eşleştiğine dikkat edin.
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: nginx-replicaset
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80Oluşturma ve Durumu Denetleme
Bu ReplicaSet'i oluşturmak için YAML'ı nginx-rs.yaml olarak kaydedip uygulayın. Ardından durumunu ve yönettiği Pod'ları denetleyin:
kubectl apply -f nginx-rs.yaml
kubectl get rs
kubectl get pods -l app=nginxYukarı ve Aşağı Ölçeklendirme
kubectl scale komutunu kullanarak bir ReplicaSet için istenen Pod sayısını dinamik olarak değiştirebilirsiniz. Nginx ReplicaSet'imizi 4 Pod'a ölçeklendirelim:
kubectl scale --replicas=4 rs/nginx-replicaset
kubectl get rs
kubectl get pods -l app=nginxÖlçeklendirmeyi Gözlemleme
Bir ReplicaSet'i ölçeklendirdiğinizde Kubernetes, yeni replicas sayınızla eşleşmesi için Pod'ları otomatik olarak oluşturur veya siler. Bunun gerçek zamanlı olarak gerçekleşmesini izleyebilirsiniz:
kubectl scale --replicas=1 rs/nginx-replicaset
kubectl get pods -l app=nginx -wÖlçeklendirme Görevi
my-app-rs adlı bir ReplicaSet'in şu anda 3 Pod çalıştırdığını varsayın. Bunu 5 Pod'a çıkarmak istiyorsunuz. Hangi kubectl komutunu kullanırsınız?
Özet ve Sonraki Adımlar
ReplicaSets'in istenen sayıda özdeş Pod'u korumak, uygulamalarınız için kendi kendini iyileştirme ve yüksek kullanılabilirlik sağlamak açısından kritik olduğunu öğrendiniz. Bunları YAML'da tanımlayabilir ve kubectl scale kullanarak ölçeklendirebilirsiniz.
ReplicaSet'ler güçlü olsa da pratikte çoğunlukla ReplicaSet'leri sizin için yöneten ve kademeli güncellemeler gibi daha gelişmiş özellikler sunan Dağıtımları kullanırsınız. Sırada Dağıtımları inceleyeceğiz!
Sıkça Sorulan Sorular
“ReplicaSets ile Uygulamaları Ölçeklendirme” dersi ücretsiz mi?
Evet — “ReplicaSets ile Uygulamaları Ölçeklendirme” 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 DevOps Bootcamp kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. DevOps Bootcamp kursu toplamda 4 dersten oluşur.
“ReplicaSets ile Uygulamaları Ölçeklendirme” dersinde ne öğreneceğim?
Her zaman belirtilen sayıda aynı Pod'un çalışmasını garanti etmek için ReplicaSets kullanın. DevOps Bootcamp 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.
DevOps Bootcamp öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te DevOps Bootcamp, 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 2. dersidir.
“ReplicaSets ile Uygulamaları Ölçeklendirme” 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 DevOps Bootcamp dersinde kod yazıp çalıştırabilir miyim?
Evet. Her DevOps Bootcamp 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
- Dağıtımları Anlama
- ReplicaSets ile Uygulamaları Ölçeklendirme
- Aşamalı Güncellemeler ve Geri Almalar
- Dağıtım Stratejileri: Blue-Green ve Canary