Czym są hooki i kiedy się uruchamiają
pre-install, post-upgrade i pełny zestaw zdarzeń.
Czym są hooki i kiedy się uruchamiają to bezpłatna lekcja DevOps Bootcamp na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej DevOps Bootcamp, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs DevOps Bootcamp zawiera 4 lekcji w sumie.
Dlaczego istnieją hooki
Czasami trzeba wykonać określoną czynność w dokładnie wybranym momencie wydania, na przykład zasilić bazę danych początkowymi danymi. Helmowy hook uruchamia zasób podczas wybranego zdarzenia cyklu życia.
Hook to po prostu zasób z adnotacją
Hook jest zwykłym manifestem Kubernetes z jedną dodatkową adnotacją. Adnotacja helm.sh/hook informuje Helm, aby potraktował zasób specjalnie, a nie jako zwykłą zawartość wydania.
metadata:
annotations:
"helm.sh/hook": pre-installZdarzenia instalacji
Podczas nowej instalacji występują dwa zdarzenia. pre-install uruchamia się przed utworzeniem jakichkolwiek zasobów chartu, a post-install po ich zastosowaniu.
"helm.sh/hook": pre-installZdarzenia aktualizacji
Aktualizacje mają własną parę zdarzeń. pre-upgrade występuje przed zastosowaniem aktualizacji, a post-upgrade po utworzeniu nowych zasobów.
"helm.sh/hook": pre-upgrade,post-upgradeZdarzenia wycofania
Powrót do wcześniejszej rewizji również uruchamia hooki. pre-rollback działa przed wycofaniem, a post-rollback po przywróceniu poprzedniego stanu.
Zdarzenia usuwania
Odinstalowanie uruchamia parę zdarzeń usuwania. pre-delete działa przed usunięciem zasobów, dając czas na ich opróżnienie lub utworzenie kopii zapasowej.
"helm.sh/hook": pre-deleteZdarzenie testowe
Jeszcze jedno zdarzenie ma specjalne znaczenie. Hook test nie uruchamia się podczas instalacji; działa wyłącznie po wywołaniu helm test dla istniejącego wydania.
"helm.sh/hook": testHooki są często zadaniami
Większość hooków to Kubernetesowy zasób Job, ponieważ zadanie wykonuje się do końca i zgłasza powodzenie. Helm czeka na zakończenie tego zadania, zanim przejdzie dalej z wydaniem.
kind: Job
metadata:
annotations:
"helm.sh/hook": post-installHelm czeka na powodzenie
Dla każdej wagi Helm czeka, aż zasób hooka osiągnie stan gotowości, zanim przejdzie dalej. Nieudany hook zatrzymuje całą instalację lub aktualizację.
Poza standardowym śledzeniem
Zasoby hooków działają poza zwykłym cyklem życia wydania. Nie są aktualizowane wraz z chartem, dlatego ich czyszczeniem trzeba zarządzać za pomocą osobnych polityk usuwania.
Łączenie kilku zdarzeń
Jeden zasób może obsługiwać więcej niż jeden moment. Należy wymienić zdarzenia razem, na przykład post-install,post-upgrade, aby to samo zadanie uruchamiało się po nowej instalacji i po aktualizacji.
"helm.sh/hook": post-install,post-upgradeSzybki test
Chcą Państwo, aby zadanie uruchomiło się po pierwszej instalacji chartu.
Podsumowanie
Hooki to manifesty z adnotacjami, które uruchamiają się podczas zdarzeń cyklu życia: instalacji, aktualizacji, wycofania, usuwania i testowania. Helm czeka, aż każdy z nich zakończy się powodzeniem. 🪝
Często zadawane pytania
Czy lekcja „Czym są hooki i kiedy się uruchamiają” jest bezpłatna?
Tak — pełny tekst „Czym są hooki i kiedy się uruchamiają” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu DevOps Bootcamp, przejdź na CoddyKit PRO. Kurs DevOps Bootcamp zawiera 4 lekcji w sumie.
Co nauczysz się w „Czym są hooki i kiedy się uruchamiają”?
pre-install, post-upgrade i pełny zestaw zdarzeń. Ćwiczysz DevOps Bootcamp z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć DevOps Bootcamp?
Nie wymagamy żadnego doświadczenia. DevOps Bootcamp w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.
Ile czasu zajmuje lekcja „Czym są hooki i kiedy się uruchamiają”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji DevOps Bootcamp?
Tak. Każda lekcja DevOps Bootcamp zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Czym są hooki i kiedy się uruchamiają
- Job migracji bazy danych pre-upgrade
- Wagi i kolejność hooków
- Zasady usuwania hooków