Czym jest Rollout?¶
To sposób wdrażania zmian do aplikacji działającej na klastrze Kubernetes. Najczęściej wykonujemy je z wykorzystaniem Deploymentów. Rollout nadzoruje działania: - uruchamiania aplikacji nowej wersji - wywalenie starych Podów - zachowanie dostępności aplikacji podczas zmian - umożliwienie cofnięcia zmian gdy coś pójdzie nie tak
Polecenia wyświetlające szczegóły¶
Wyświetlenie statusu rolloutu dla Deploymentów¶
Dla wszystkich Deploymentów:
Dla konkretnego Deploymentu:
Wyświetlenie historii Rolloutów dla Deploymentów¶
Dla wszystkich Deploymentów:
Dla konkretnego Deploymentu:
Robienie Rollback¶
Dzięki funkcji rollback możemy przywracać starą wersję aplikacji, która wdrożona była przed aktualizacją.
Wdrożenie starszej wersji aplikacji¶
Wdrożenie tej starszej wersji odbywa się z użyciem Replica Set. W niej znajdują się stare wdrożenia (Deploymenty).
Cofnięcie do poprzedniej wersji:
Cofnięcie do konkretnej wersji deploymentu:
Domyślne revision jest 0 (
--to-revision=0)! Wszystkie revisions możemy wziąć z poleceniakubectl rollout history deployment/<nazwa_deploymentu>. Obecne revision będzie ostatnie.