Kubernetes - Dağıtımlar

Dağıtımlar yükseltilir ve çoğaltma denetleyicisinin daha yüksek sürümüdür. Aynı zamanda çoğaltma denetleyicisinin yükseltilmiş bir sürümü olan çoğaltma kümelerinin dağıtımını yönetirler. Replika kümesini güncelleme ve ayrıca önceki sürüme geri dönme yeteneğine sahiptirler.

Birçok güncellenmiş özelliği sağlarlar matchLabels ve selectors. Kubernetes master'da, bunu gerçekleştiren dağıtım denetleyicisi adı verilen yeni bir denetleyicimiz var. Dağıtımı yarıda değiştirme yeteneğine sahiptir.

Dağıtımı Değiştirme

Updating- Kullanıcı devam eden dağıtımı tamamlanmadan önce güncelleyebilir. Bunda, mevcut dağıtım halledilecek ve yeni dağıtım yaratılacaktır.

Deleting- Kullanıcı, tamamlanmadan önce silerek dağıtımı duraklatabilir / iptal edebilir. Aynı dağıtımı yeniden oluşturmak onu sürdürecektir.

Rollback- Konuşlandırmayı veya devam eden konuşlandırmayı geri alabiliriz. Kullanıcı, kullanarak dağıtımı oluşturabilir veya güncelleyebilirDeploymentSpec.PodTemplateSpec = oldRC.PodTemplateSpec.

Dağıtım Stratejileri

Dağıtım stratejileri, yeni RC'nin mevcut RC'yi nasıl değiştirmesi gerektiğini tanımlamaya yardımcı olur.

Recreate- Bu özellik mevcut tüm RC'leri öldürecek ve ardından yenilerini getirecektir. Bu, hızlı dağıtımla sonuçlanır, ancak eski bölmeler kapalı olduğunda ve yeni bölmeler gelmediğinde kesinti süresine neden olur.

Rolling Update- Bu özellik yavaş yavaş eski RC'yi indirir ve yenisini getirir. Bu, yavaş dağıtımla sonuçlanır, ancak dağıtım yoktur. Bu süreçte her zaman birkaç eski bölme ve birkaç yeni bölme mevcuttur.

Dağıtımın yapılandırma dosyası şuna benzer.

apiVersion: extensions/v1beta1 --------------------->1
kind: Deployment --------------------------> 2
metadata:
   name: Tomcat-ReplicaSet
spec:
   replicas: 3
   template:
      metadata:
         lables:
            app: Tomcat-ReplicaSet
            tier: Backend
   spec:
      containers:
         - name: Tomcatimage:
            tomcat: 8.0
            ports:
               - containerPort: 7474

Yukarıdaki kodda, replika setinden farklı olan tek şey, türü dağıtım olarak tanımlamış olmamızdır.

Dağıtım oluşturmak

$ kubectl create –f Deployment.yaml -–record
deployment "Deployment" created Successfully.

Dağıtımı Getir

$ kubectl get deployments
NAME           DESIRED     CURRENT     UP-TO-DATE     AVILABLE    AGE
Deployment        3           3           3              3        20s

Dağıtım Durumunu Kontrol Edin

$ kubectl rollout status deployment/Deployment

Dağıtımı Güncelleme

$ kubectl set image deployment/Deployment tomcat=tomcat:6.0

Önceki Dağıtıma Geri Dönme

$ kubectl rollout undo deployment/Deployment –to-revision=2