Kubernetes - Penerapan

Deployment ditingkatkan dan versi pengontrol replikasi yang lebih tinggi. Mereka mengelola penyebaran kumpulan replika yang juga merupakan versi pengontrol replikasi yang ditingkatkan. Mereka memiliki kemampuan untuk memperbarui kumpulan replika dan juga mampu untuk kembali ke versi sebelumnya.

Mereka menyediakan banyak fitur yang diperbarui matchLabels dan selectors. Kami mendapatkan pengontrol baru di master Kubernetes yang disebut pengontrol penerapan yang mewujudkannya. Ini memiliki kemampuan untuk mengubah penyebaran di tengah jalan.

Mengubah Penerapan

Updating- Pengguna dapat memperbarui penerapan yang sedang berlangsung sebelum selesai. Dalam hal ini, penerapan yang ada akan diselesaikan dan penerapan baru akan dibuat.

Deleting- Pengguna dapat menjeda / membatalkan penerapan dengan menghapusnya sebelum selesai. Membuat ulang penerapan yang sama akan melanjutkannya.

Rollback- Kami dapat membatalkan penerapan atau penerapan yang sedang berlangsung. Pengguna dapat membuat atau memperbarui penyebaran dengan menggunakanDeploymentSpec.PodTemplateSpec = oldRC.PodTemplateSpec.

Strategi Penerapan

Strategi penyebaran membantu dalam menentukan bagaimana RC baru harus menggantikan RC yang ada.

Recreate- Fitur ini akan mematikan semua RC yang ada dan kemudian memunculkan RC baru. Ini menghasilkan penerapan yang cepat, namun akan mengakibatkan waktu henti saat pod lama tidak aktif dan pod baru belum muncul.

Rolling Update- Fitur ini secara bertahap menurunkan RC lama dan menampilkan RC baru. Ini menghasilkan penerapan yang lambat, namun tidak ada penerapan. Setiap saat, beberapa pod lama dan beberapa pod baru tersedia dalam proses ini.

File konfigurasi Deployment terlihat seperti ini.

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

Dalam kode di atas, satu-satunya hal yang berbeda dari set replika adalah kita telah mendefinisikan jenisnya sebagai penerapan.

Buat Penerapan

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

Ambil Deployment

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

Periksa Status Penerapan

$ kubectl rollout status deployment/Deployment

Memperbarui Deployment

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

Mengembalikan ke Penerapan Sebelumnya

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