Zostań Jedi Kubernetes z Alfred Workflow

Wszystko zależy od wydajności.

„Barista nalewający kawę jednocześnie do czterech filiżanek” autorstwa Nathana Dumlao w Unsplash

W ciągu ostatnich kilku lat w FairFly współpracowaliśmy z Kubernetes, doskonałym narzędziem do aranżacji kontenerów, które pomaga nam zarządzać wszystkimi naszymi usługami i wdrożeniami.

Kubernetes to system typu open source do automatyzacji wdrażania, skalowania i zarządzania aplikacjami kontenerowymi, pierwotnie zaprojektowany przez Google (źródło: Wikipedia)

W tym poście chciałbym przedstawić, w jaki sposób udało nam się zdobyć mistrzostwo i efektywniej zarządzać wszystkimi naszymi zasobami kubernetes, korzystając z doskonałego narzędzia o nazwie przepływy pracy Alfred, z którego intensywnie korzystamy i dbamy tutaj w FairFly. To oraz nasza pasja do produktywności i wydajności doprowadziły nasz zespół badawczo-rozwojowy do szybszej i bardziej produktywnej ery.

Od tego momentu zakładam, że znasz technologię i masz jakieś pośrednie doświadczenie.

W średniowieczu… był tylko kubectl

Kubernetes oferuje ładne narzędzie CLI o nazwie: kubectl

Kubectl - interfejs wiersza poleceń do uruchamiania poleceń przeciwko klastrom Kubernetes (ze strony przeglądu kubectetes.io kubectl)

Odkryliśmy, że wykonujemy różne codzienne zadania za pomocą kubectl, w taki nieproduktywny sposób; w tym przeglądanie dzienników, „uruchamianie w zasobach”, obserwowanie procesu inicjowania wdrożenia, usuwanie zasobów lub po prostu odwiedzanie naszego pulpitu nawigacyjnego Kubernetes.

Co więcej, kubectl ma funkcję autouzupełniania, ale jest bardzo powolny, wyszukiwanie nie jest wystarczająco dobre i nie zapewnia wystarczających informacji o kontekście, takich jak liczba kapsułek aktywnych dla wdrożenia? jaki jest jego status itp.

Na przykład, aby pobrać dzienniki, dzienniki poleceń kubectl wymagają jako argumentu. Teraz musimy znaleźć żądaną nazwę kapsuły, wpisując $ kubectl get strąki lub korzystając z automatycznego uzupełniania.

Ten proces jest bardzo wolny, więc musiałem znaleźć sposób na zwiększenie wydajności tego procesu (czy wspominałem, że jesteśmy maniakami produktywności?), Więc zacząłem używać etykiet, które pomogły mi znaleźć podzbiór zasobów nieco szybciej, ale nawet to nie było wystarczająco szybko. Nawet nawigacja po historii bash (CTRL + R) nie spełniała moich wymagań dotyczących wydajności.

I wtedy mnie uderzyło!

Przedstawiamy Alfred Workflow.

Dla tych, którzy nie znają Alfreda, brakuje wam.
Alfred (alternatywy, które możesz sprawdzić: Wox, Hain) to program uruchamiający zadania Mac OS, który znacznie rozszerza możliwości Spotlight, pozwala być bardziej produktywnym dzięki niestandardowym akcjom, na przykład otwieraniu aplikacji, uruchamianiu skryptów i korzystaniu z większości funkcji systemu operacyjnego jak chcesz; być szybszym niż kiedykolwiek! Co najważniejsze, pozwala projektować całkowicie niestandardowe przepływy pracy.

Prosty przykładowy przepływ pracy Lista zadań - www.alfredapp.com

Przepływ pracy Kubernetes Alfred

Postanowiłem zbudować niestandardowy przepływ pracy, aby magia się wydarzyła
(pobierz tutaj), budując zestaw poleceń obejmujących kubectl i zapewniających funkcje uzupełniania i wyszukiwania, których tak bardzo nam brakowało. Te polecenia obejmują nasze najczęstsze codzienne operacje, takie jak śledzenie dzienników, „wykonywanie w kontenerach itp.

Krok 1 - Szybka konfiguracja

ksetenv - otworzy menu do
- Twój adres URL deski rozdzielczej (musi!)
- Twoja lokalna ścieżka kubectl
(domyślnie: / usr / local / bin / kubectl)

  • Zainstaluj kubetail (musisz!) - Skrypt Bash, aby śledzić dzienniki Kubernetes z wielu zasobników jednocześnie. ($ brew install kubetail)

Krok 2 - Użyj siły

Lista dostępnych poleceń.kl (logi)

kl - Pobierz dzienniki zasobów.
ks - Uzyskaj dostęp do dowolnej skorupy kapsuły.
kw - Oglądaj i opisuj zasoby.
kr - szybko usuwaj zasoby. Nie martw się, naciśnięcie ⏎ niczego nie usunie, będziesz musiał przytrzymać SHIFT + ⏎, aby wykonać.
kre - Usuń eksmitowane kapsuły.
kd - Przejdź do pulpitu nawigacyjnego.
kds - Przeglądaj swoje zasoby na pulpicie nawigacyjnym.

Bonus: DataDog Monitor Pods (polecenie kdm)

Monitorujemy nasze zasoby za pomocą DataDog, pobieranie metryk takich jak pamięć / procesor zajmuje trochę czasu, musisz przejść do DataDog → Metryki → Eksplorator, w sekcji Wykres wybierz wszystkie metryki, które chcesz wyświetlić, a następnie z Ponad wybierz swoje zasoby… to frustrujące.
Do tego konkretnego zastosowania utworzyłem polecenie kdm Alfred, w którym wybierasz zasób z listy i uzyskujesz natychmiastowe podsumowanie w DataDog.

kdm

Eksploruj metryki zasobów w DataDog.

Wniosek

Jak zapewne zauważyliście, my w Fairfly jesteśmy dziwakami produktywności! Używamy niestandardowych przepływów pracy Alfreda do prawie wszystkiego i nieustannie dążymy do poprawy oraz usprawnienia naszej pracy zespołowej i infrastruktury. Mam nadzieję, że znajdziesz czas na skorzystanie z tego przepływu pracy. Stworzyliśmy dla Ciebie ten zestaw narzędzi - jest BEZPŁATNY.
Prosimy o kontakt w sprawie wszelkich opinii, sugestii dotyczących przepływu pracy i innych informacji pod adresem eldar@fairfly.com.