StorageReview.com

Wydano Kubernetes 1.19

Enterprise   ◇  Pamięć masowa przedsiębiorstwa

Zespół Kubernetes oficjalnie wydał dziś wersję 1.19 najpopularniejszego systemu do orkiestracji kontenerów o otwartym kodzie źródłowym. Wersja 1.19 zawiera 34 ulepszenia, pomimo zakłóceń spowodowanych pandemią COVID-19. 9 z nich to ulepszenia w wersji alfa, 15 w fazie beta, a pozostałe 10 to wersje stabilne. Wersje robocze notatek do wydania, opublikowane kilka godzin przed oficjalną premierą, obejmują około strony internetowej i listę wymaganych działań oznaczonych uroczo dobitnym ostrzeżeniem: „(Naprawdę, MUSISZ to przeczytać przed aktualizacją)”. Każdy, kto chce zaktualizować system do nowej wersji, powinien najpierw przeczytać przynajmniej tę sekcję notatek do wydania, zwłaszcza jeśli korzysta z funkcji Flex Volumes. Pierwsza wersja Kubernetes została wydana pięć lat temu, w lipcu 2015 roku. Znaczna część pierwotnych współautorów projektu open source pochodziła z Google, a oprogramowanie jest napisane w języku Go. Go, czasami nazywany Golang, to statycznie typowany, obiektowo zorientowany, współbieżny, imperatywny język, który obejmuje bezpieczeństwo pamięci i zbieranie śmieci.

Kubernetes 1.19

Prawdopodobnie najistotniejsza zmiana wprowadzona w Kubernetes 1.19 nie dotyczy oprogramowania. Zespół Kubernetes zdecydował się na wydłużenie okresu wsparcia z poprzedniego dziewięciomiesięcznego do pełnego roku. Zmiana ta została uzasadniona ankietą przeprowadzoną w zeszłym roku, która wykazała, że ​​tylko połowa użytkowników Kubernetes korzystała z obsługiwanej wersji. Zespół ma nadzieję, że wydłużenie okresu wsparcia do pełnego roku sprawi, że 80% użytkowników będzie korzystać z obsługiwanej wersji. Niestety, ten cel 80% zostanie osiągnięty tylko wtedy, gdy użytkownicy i zespoły IT będą kontynuować swoje dotychczasowe praktyki aktualizacji, zamiast traktować dłuższy okres wsparcia jako pretekst do dalszego opóźniania kolejnej aktualizacji.

Jedno z 9 ulepszeń etapu Alpha zapewnia wsparcie dla lepszego zarządzania pamięcią masową. Wersja 1.19 wprowadza nowe API do raportowania pojemności pamięci masowej węzła. Harmonogram będzie następnie wykorzystywać te informacje przy wyborze węzła dla nowego kontenera, aby zapewnić, że wybrane zostaną tylko węzły z wystarczającą ilością miejsca dla nowego kontenera. Podobnie, kolejne z 9 ulepszeń Alpha umożliwia operatorom zdefiniowanie domyślnej reguły rozproszenia i zastosowanie jej do wszystkich kontenerów bez niej. Ta długo oczekiwana funkcja miała zostać pierwotnie udostępniona w zeszłym roku w ramach wersji 1.17, ale zaangażowanie zespołu w dostarczanie stabilnego, niezawodnego i wysokiej jakości oprogramowania opóźniło jej wydanie do teraz.

Kontynuując temat ulepszonego zarządzania pamięcią masową, kolejna nowa funkcja wersji Alpha rozszerza istniejącą obsługę woluminów efemerycznych. Woluminy efemeryczne to wtyczki woluminów, których cykl życia jest powiązany z kontenerem i mogą być używane jako przestrzeń robocza (np. wbudowany typ woluminu „empty dir”) lub do ładowania danych do kontenera (np. wbudowane typy woluminów configmap i secret lub „woluminy inline CSI”). Nowa funkcja wersji Alpha rozszerza tę funkcjonalność, umożliwiając sterownikom dynamicznego provisionowania pamięci masowej używanie ich jako woluminu efemerycznego, którego cykl życia jest powiązany z kontenerem. Nowa funkcja obsługuje wszystkie parametry StorageClass dotyczące provisionowania woluminów. Obsługiwane są również wszystkie żądania PersistentVolumeClaim, takie jak śledzenie pojemności pamięci masowej, tworzenie migawek i przywracanie oraz zmiana rozmiaru woluminu. Skoro mowa o alertach, należy zauważyć, że podejmowane są również próby usprawnienia rejestrowania danych. Nowe metody strukturyzacji komunikatów klog zostały dodane jako ulepszenie wersji Alpha w Kubernetes 1.19. Obecny plan zakłada stopniowe dodawanie obsługi bardziej ustrukturyzowanego rejestrowania oprócz istniejącego systemu, tak aby użytkownicy mieli wystarczająco dużo czasu na przystosowanie się do nowego i, miejmy nadzieję, ulepszonego systemu we własnym tempie.

Podsumowując ulepszenia wersji Alpha w zakresie zarządzania pamięcią masową, w Kubernetes 1.19 udostępniono monitorowanie stanu CSI. Nowa funkcja aktywuje alerty sterowników CSI, raportując je jako zdarzenia w węzłach PVC lub kontenerach. Funkcja ta stanowi krok w kierunku programowego wykrywania i rozwiązywania problemów ze stanem poszczególnych woluminów przez Kubernetes.

Spośród 15 ulepszeń w fazie beta w Kubernetes 1.19, 2 oznaczono jako zmiany główne, a jedno jako całkowitą nowość. Dwie główne zmiany to ulepszenie API punktów końcowych w celu dodania koncepcji lustrzanego odbicia oraz dodanie dwóch nowych wywołań funkcji w celu ulepszenia API topologii węzłów. Zaktualizowano również mechanizm ostrzegania o korzystaniu z przestarzałych interfejsów API.

Najbardziej znaczącym z ulepszeń wprowadzanych do wersji stabilnej jest API Ingress. Ta długo oczekiwana zmiana wnosi niewiele więcej niż tylko potwierdzenie status quo jego powszechnego zastosowania w branży. Jednak czytając między wierszami, wydaje się, że niektórzy członkowie zespołu wciąż mają ulepszenia, które chcieliby wprowadzić, a które w przyszłości mogłyby zostać uwzględnione jako równoległe lub zastępcze API. Drugą stroną tej zmiany jest to, że wersja 1.19 zautomatyzowała również wycofywanie (trzy wydania później) i usuwanie (trzy wydania później) funkcji beta, które nie są aktywnie rozwijane lub nie są wprowadzane do wersji stabilnej, aby zmniejszyć bałagan w kodzie. Głównym celem nowej automatyzacji jest zmniejszenie zbędnych czynności i umożliwienie współtwórcom oprogramowania open source skupienie się na ulepszaniu nowych funkcji, zamiast na usuwaniu tych, które nie działają.

Dostępność:

Natychmiast

Główna strona Kubernetes

Skontaktuj się z StorageReview

Biuletyn | YouTube | Podcast iTunes / Spotify | Instagram | Twitter | TikTok | Kanał RSS

Michał Rink

Jestem autorem treści w StorageReview i starszym inżynierem oprogramowania full-stack. Kierowałem zespołami DevOps i developerów, od projektów z udziałem pojedynczego inżyniera po flagowe projekty wymagające zaangażowania kilkudziesięciu inżynierów z zespołami rozsianymi po całym świecie. Lubię też tańczyć, pisać, czytać, tworzyć gry i pielęgnować ogród.