Wydanie Kubernetes 1.24, systemu do zarządzania klastrem izolowanych kontenerów

Dostępna jest wersja platformy do orkiestracji kontenerów Kubernetes 1.24, która umożliwia zarządzanie klastrem izolowanych kontenerów jako całością oraz zapewnia mechanizmy wdrażania, utrzymywania i skalowania aplikacji działających w kontenerach. Projekt został pierwotnie stworzony przez Google, ale następnie został przeniesiony na niezależny serwis nadzorowany przez Linux Foundation. Platforma pozycjonowana jest jako rozwiązanie uniwersalne, opracowane przez społeczność, niezależne od poszczególnych systemów i zdolne do współpracy z dowolnymi aplikacjami w dowolnym środowisku chmurowym. Kod Kubernetesa napisany jest w Go i rozpowszechniany na licencji Apache 2.0.

Dostępne są funkcje wdrażania i zarządzania infrastrukturą, takie jak utrzymywanie bazy danych DNS, równoważenie obciążenia, dystrybucja kontenerów pomiędzy węzłami klastra (migracja kontenerów w zależności od zmian w obciążeniu i potrzebach usług), kontrola stanu na poziomie aplikacji, zarządzanie kontami, aktualizacja i dynamiczne skalowanie działającego klastra, bez jego zatrzymywania. Możliwe jest wdrażanie grup kontenerów z możliwością aktualizacji i cofania operacji jednocześnie dla całej grupy, a także logiczny podział klastra na części z podziałem zasobów. Obsługiwana jest dynamiczna migracja aplikacji, do przechowywania danych można wykorzystać zarówno lokalne systemy przechowywania, jak i sieciowe systemy przechowywania.

Kluczowe zmiany w nowej wersji:

  • Narzędzia do śledzenia pojemności pamięci masowej zostały ustabilizowane w celu monitorowania wolnego miejsca w partycjach i przesyłania danych do węzła kontrolnego, aby zapobiec uruchamianiu podów na węzłach, które nie mają wystarczającej ilości wolnego miejsca.
  • Ustabilizowano możliwość rozbudowy partycji pamięci masowej. Użytkownik może zmienić rozmiar istniejących partycji, a Kubernetes automatycznie powiększy partycję i powiązany z nią system plików bez przerywania pracy.
  • Zaprzestanie dostarczania runtime Dockershim, który był pozycjonowany jako tymczasowe rozwiązanie do wykorzystania Dockera w Kubernetesie, niezgodnego ze standardowym interfejsem CRI (container runtime interfejs) i prowadzącym do dodatkowej komplikacji kubeletu. Aby zarządzać izolowanymi kontenerami, należy użyć środowiska wykonawczego obsługującego interfejs CRI, takiego jak Containerd i CRI-O, lub użyć frameworka cri-dockerd, który implementuje interfejs CRI na wierzchu API Docker Engine.
  • Zapewniono eksperymentalne wsparcie weryfikacji obrazów kontenerów przy użyciu podpisów cyfrowych przy użyciu usługi Sigstore, która prowadzi dziennik publiczny w celu potwierdzenia autentyczności (dziennik przejrzystości). Aby zapobiec atakom na łańcuch dostaw i podmianie komponentów, zapewniono także podpisy cyfrowe dla artefaktów związanych z wersją, w tym wszystkich zainstalowanych plików wykonywalnych Kubernetes.
  • Domyślnie interfejsy API w wersji beta nie są już włączone w klastrach (testowe interfejsy API dodane w poprzednich wersjach zostają zachowane; zmiana dotyczy tylko nowych interfejsów API).
  • Zaimplementowano testową obsługę formatu OpenAPI v3.
  • Wprowadzono inicjatywę przeniesienia wtyczek pamięci masowej do ujednoliconego interfejsu CSI (Container Storage Interface) przy zachowaniu kompatybilności na poziomie API. Wtyczki Azure Disk i OpenStack Cinder zostały przeniesione do CSI.
  • Dostawca poświadczeń Kubelet został przeniesiony do etapu testów beta, umożliwiając dynamiczne pobieranie poświadczeń do repozytorium obrazów kontenerów poprzez uruchamianie wtyczek, bez przechowywania poświadczeń w systemie plików hosta.
  • Istnieje możliwość zarezerwowania zakresu adresów IP na potrzeby przypisania do usług. Gdy ta opcja jest włączona, klaster automatycznie będzie przydzielał usługom adresy IP z puli wstępnie przydzielonej dla każdej usługi, co pozwala uniknąć kolizji przy wydawaniu bezpłatnych adresów z zestawu ogólnego.

Źródło: opennet.ru

Dodaj komentarz