>_ DevTrendspl

Język

Strona główna

Języki

Sekcje

Frontend Backend Mobilne DevOps AI / ML GameDev Blockchain Systemy wbudowane Bezpieczeństwo
JavaScript

Jak Layer5 stara się uczynić Kubernetes i Service Mesh przyjaznymi dla developerów

Layer5 logo

Gdy projekt rośnie do tuzina mikroserwisów, zarządzanie infrastrukturą zamienia się w chaos. Developerzy piszą kod, operacyjni próbują ogarnąć manifesty, a gdy pojawiają się awarie, wszyscy obwiniają się nawzajem w kółko. Sytuacja powszechna, ale nieprzyjemna.

Pewnego razu natknąłem się na repozytorium Layer5. To w zasadzie flagowy projekt organizacji, która opracowuje cały zestaw narzędzi open-source do pracy z Kubernetes i service mesh. Ich główna idea to uczynienie infrastruktury widoczną i zapewnienie developerom wizualnej kontroli nad nią bez konieczności ręcznego przepisywania setek linii YAML.

Co zawiera projekt

Repozytorium Layer5 służy jako wizytówka i centrum dla kilku niezależnych narzędzi. Każde z nich adresuje konkretne zadanie w stosie infrastruktury.

Meshery

Meshery

To dashboard do zarządzania Kubernetes i service meshami takimi jak Istio, Linkerd czy Consul. Narzędzie może łączyć się z klastrami, odczytywać bieżącą topologię, walidować konfiguracje pod kątem najlepszych praktyk oraz testować wydajność sieci.

Kanvas

Kanvas

Wizualny edytor infrastruktury. Zamiast edytować manifesty w terminalu, budujesz swoją architekturę na interaktywnym płótnie. Diagram synchronizuje się z klastrem w czasie rzeczywistym, więc zmiany są natychmiast widoczne dla całego zespołu.

Nighthawk

Nighthawk

Narzędzie do testowania obciążenia dla warstwy 7 modelu OSI (HTTP, HTTPS, HTTP/2). Zostało napisane w C++ jako generator obciążenia dla Envoy, a zespół Layer5 zintegrował je ze swoimi scenariuszami testowania opóźnień i przepustowości.

Catalog

Cloud Native Catalog i Patterns

Katalog gotowych wzorców architektonicznych dla Kubernetes. Jeśli musisz skonfigurować canary release czy podzielić ruch między wersje serwisów, możesz użyć sprawdzonego szablonu z katalogu zamiast wymyślać koło na nowo.

SMP

Service Mesh Performance i Sistent

Specyfikacja SMP standaryzuje zbieranie metryk wydajności service mesh, aby wyniki testów w różnych środowiskach można było poprawnie porównywać. A Sistent to ich własny system projektowy i biblioteka komponentów React, na których zbudowane są wszystkie webowe interfejsy produktów firmy.

Sistent

Jak to działa pod maską

Większość serwisów projektu jest napisana w Go i JavaScript. Do integracji z klastrem używany jest Meshery Operator, który instaluje się wewnątrz Kubernetes i uruchamia komponent MeshSync.

Meshery Operator

MeshSync nasłuchuje zdarzeń API Kubernetes i przesyła stan zasobów do serwera Meshery. Cały stos działa na licencji Apache 2.0, więc kod jest w pełni otwarty do modyfikacji i lokalnego wdrożenia.

Możesz zainstalować i uruchomić narzędzie CLI Meshery na swojej lokalnej maszynie jednym poleceniem:

curl -L https://meshery.io/install | PLATFORM=kubernetes bash -
mesheryctl system start

Po uruchomieniu otwiera się lokalny interfejs webowy, gdzie możesz wybrać żądany adapter Service Mesh, połączyć istniejący kubeconfig i rozpocząć profilowanie ruchu.

Praktyczne scenariusze

W jakich sytuacjach zestaw narzędzi Layer5 faktycznie oszczędza czas:

  1. Porównywanie rozwiązań Service Mesh przed wdrożeniem. Jeśli twój zespół wybiera między Istio a Linkerd, wbudowane testy porównawcze oparte na Nighthawk pomagają uruchamiać identyczne syntetyczne obciążenia i porównywać zużycie pamięci z opóźnieniami sieciowymi.
  2. Onboarding nowych developerów. Wizualna mapa w Kanvas pomaga nowicjuszom szybciej zrozumieć, jak serwisy są połączone, bez czytania nieaktualnych diagramów w Confluence.
  3. Audyt konfiguracji. Katalog wzorców wskazuje, gdzie w manifestach brakuje limitów zasobów lub gdzie błędnie skonfigurowano polityki bezpieczeństwa mTLS.
  4. Szkolenia z technologii chmurowych. Wbudowana platforma Layer5 Academy zawiera interaktywne ćwiczenia, gdzie można bezpiecznie ćwiczyć bez ryzyka wyłączenia klastra produkcyjnego.

Layer5 Academy

Czy warto wypróbować

Layer5 okazał się solidnym projektem z mnóstwem subprojektów. Z jednej strony, przez obfitość encji, krzywa uczenia może wydawać się stroma: musisz rozgryźć, gdzie kończy się Meshery, a zaczyna Kanvas. Z drugiej strony, jeśli twój zespół utknął przy złożoności utrzymywania mikroserwisów na Kubernetes, wizualne podejście do architektury usunie część żmudnej pracy.

Najłatwiejszy sposób na rozpoczęcie to mesheryctl na lokalnym Minikube lub k3s. Dzięki temu od razu zobaczysz, jak wizualizacja upraszcza diagnozowanie problemów sieciowych w twoim stosie.

Powiązane projekty