ReplicaSets Oluşturma

Şunlar için geçerlidir: Azure Stack HCI 22H2 üzerinde AKS, Windows Server'da AKS

Bu makalede Azure Arc tarafından etkinleştirilen AKS'de ReplicaSet'lerin nasıl oluşturulacağı, ölçeklendirileceği ve silineceği açıklanır. ReplicaSet'ler, belirli bir zamanda kararlı bir çoğaltma podu kümesinin çalıştığından emin olmak için kullanılır.

ReplicaSets'e Genel Bakış

ReplicaSet, bir podun birden çok örneğini çalıştıran ve belirtilen pod sayısını sabit tutan bir işlemdir. Belirli bir zamanda kararlı bir çoğaltma podu kümesinin çalıştığından emin olur ve bu da belirtilen sayıda özdeş pod olmasını garanti eder.

Pod başarısız olduğunda ReplicaSet, podun yeni bir örneğini getirir ve çalışan örnekler belirtilen sayıya ulaştığında ölçeği büyütür. Buna karşılık, aynı etikete sahip bir örnek oluşturulduğunda ölçeği küçültür veya podları siler.

ReplicaSet Oluşturma

kubectl create ReplicaSets oluşturmak için ve kubectl apply komutlarını kullanın. Aşağıdaki örnek, YAML dosyası kullanarak bir ReplicaSet oluşturur:

kubectl apply –f nginx_replicaset.yaml

ReplicaSet yapılandırma dosyasının özellikleri YAML biçiminde gösterilir:

apiVersion: apps/v1  
kind: ReplicaSet  
metadata: 
      name: web
      labels: 
         env: dev
         role: web
spec:  
   replicas: 4
   selector: 
       matchlabels: 
       role: web
        template:
           metadata:
       labels:
           role: web
spec:  
      containers:  
           -name: nginx  
           image: nginx

Bir ReplicaSet oluşturduktan sonra, aşağıdaki komutu çalıştırarak durumu görüntüleyebilirsiniz:

kubectl get rs

ReplicaSet'in komutunu kullanarak kubectl edit etiketini değiştirerek yönettiği bir podu kaldırabilirsiniz ancak silemezsiniz. Örneğin, komutunu çalıştırırsanız kubectl edit pods 7677-69h5b, yapılandırma dosyası açıldıktan sonra pod etiketini değiştirebilirsiniz.

ReplicaSet'i Ölçeklendirme

ReplicaSet'in yönettiği pod sayısını değiştirmenin iki yolu vardır.

  • Aşağıdaki komutu kullanarak denetleyicinin yapılandırmasını düzenleyin:

    kubectl edit rs <ReplicaSet_NAME>
    
  • Aşağıdaki komutu kullanarak sayıyı doğrudan artırın veya azaltın:

kubectl scale –replicas=2 rs <ReplicaSet_NAME>

Bir bildirim dosyasını düzenlerken, mevcut yapılandırmanızı güncelleştirilmiş yapılandırmayla değiştirebilirsiniz:

kubectl replace –f nginx_replicaset.yaml

Ardından, ReplicaSet'inizin durumunu görüntülemek için komutunu çalıştırın kubectl get rs <ReplicaSet_NAME>.

Otomatik ölçeklendirme, kullanan kubectl autoscale rs web –max=5ReplicaSets ile de bir seçenektir. Pod sayısını bir düğümün CPU yüküne göre uyarlamak için otomatik ölçeklendirmeyi kullanabilirsiniz.

ReplicaSet Silme

DaemonSets gibi diğer Kubernetes nesnelerinde olduğu gibi komutunu kullanarak kubectl delete ReplicaSets'i silebilirsiniz. Örneğin, aşağıdaki komutları kullanabilirsiniz:

  • ReplicaSet adını kullanarak bir ReplicaSet'i silmek için aşağıdaki komutu çalıştırın:

    kubectl delete rs <ReplicaSet_NAME>
    
  • Bir ReplicaSet'i dosya adını kullanarak silmek için aşağıdaki komutu çalıştırın:

    kubectl delete –f nginx_replicaset.yaml
    
  • Yukarıdaki komutlar ReplicaSet'i ve yönettiği tüm podları siler. Yalnızca ReplicaSet kaynağını silmek ve podları sahipsiz tutmak istiyorsanız, bunları el ile silmeniz gerekir. ReplicaSet'i el ile silmek için aşağıdaki komutu çalıştırın:

    kubectl delete rs <ReplicaSet_NAME> --cascade=false
    

Sonraki adımlar