Sobes.tech
Junior — Middle

Με ποιους τρόπους υλοποιήσατε νέες εκδόσεις εφαρμογών στο cluster Kubernetes;

sobes.tech AI

Απάντηση από AI

Στο Kubernetes, για την υλοποίηση νέων εκδόσεων εφαρμογών, συνήθως χρησιμοποιούνται οι ακόλουθες προσεγγίσεις:

  • Rolling Update — σταδιακή αντικατάσταση των παλαιών pods με νέα με τη νέα έκδοση της εικόνας. Αυτή είναι η τυπική μέθοδος ενημέρωσης ενός Deployment, που διασφαλίζει ελάχιστο χρόνο διακοπής.

  • Blue-Green Deployment — ανάπτυξη μιας νέας έκδοσης παράλληλα με την παλιά, μεταφορά της κυκλοφορίας στη νέα μετά από επαλήθευση, με δυνατότητα επαναφοράς.

  • Canary Deployment — η νέα έκδοση ξεκινά σε ένα μικρό μέρος των pods ή της κυκλοφορίας για να ελεγχθεί η σταθερότητά της πριν από την πλήρη ανάπτυξη.

  • Ενημέρωση των manifests με τη νέα έκδοση της εικόνας (tag εικόνας) και εφαρμογή μέσω kubectl apply ή pipelines CI/CD.

Παράδειγμα εντολής για rolling update:

kubectl set image deployment/myapp myapp-container=myapp:2.0

Αυτό θα ενημερώσει το κοντέινερ στο Deployment στην έκδοση 2.0, και το Kubernetes θα αντικαταστήσει σταδιακά τα pods.