Skip to content

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:

kubectl rollout status deployment

Dla konkretnego Deploymentu:

kubectl rollout status deployment/<nazwa_deploymentu>

Wyświetlenie historii Rolloutów dla Deploymentów

Dla wszystkich Deploymentów:

kubectl rollout history deployment

Dla konkretnego Deploymentu:

kubectl rollout history deployment/<nazwa_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:

kubectl rollout undo deployment/<nazwa_deploymentu>

Cofnięcie do konkretnej wersji deploymentu:

kubectl rollout undo deployment/<nazwa_deploymentu> --to-revision=<id_revision>

Domyślne revision jest 0 (--to-revision=0)! Wszystkie revisions możemy wziąć z polecenia kubectl rollout history deployment/<nazwa_deploymentu>. Obecne revision będzie ostatnie.