24 listopada zakończył się Slurm Mega, zaawansowany intensywny kurs na Kubernetesie.
Idea Slurm Mega: zaglądamy pod maskę klastra, analizujemy w teorii i praktyce zawiłości instalacji i konfiguracji klastra gotowego do produkcji („niełatwy sposób”), rozważamy mechanizmy w celu zapewnienia bezpieczeństwa i odporności aplikacji na awarie.
Mega Bonus: Ci, którzy zdadzą Slum Basic i Slurm Mega, otrzymują całą wiedzę niezbędną do zdania egzaminu
Specjalne podziękowania dla firmy Selectel za udostępnienie chmury do ćwiczeń, dzięki której każdy uczestnik pracował we własnym, pełnoprawnym klastrze, a my nie musieliśmy za to doliczać dodatkowych 5 tys. do ceny biletu.
Slumsy mega. Pierwszy dzień.
Pierwszego dnia Slurm Mega załadowaliśmy uczestników 4 tematami. Pavel Selivanov opowiedział o procesie tworzenia klastra awaryjnego od wewnątrz, o pracy Kubeadma, a także o testowaniu i rozwiązywaniu problemów z klastrem.
Pierwsza przerwa na kawę. Zwykle jest to „dzwonek dla nauczycieli”, ale w Slurmie, gdy uczniowie piją kawę, nauczyciele nadal odpowiadają na pytania.
I pomimo tego, że chmura „Przerwy II” unosi się nad głową Pawła Seliwanowa, jego przeznaczeniem nie jest robienie sobie przerwy.
Siergiej Bondariew i Marcel Ibrajew czekają na swoją kolej, aby podejść do ambony.
W przerwie podszedłem do Siergieja Bondarewa i zapytałem: „Jakiej rady udzieliłbyś wszystkim inżynierom Kubernetesa, bazując na Twoim doświadczeniu w pracy z klastrami naszych klientów?”
Siergiej dał prostą rekomendację: „Zablokuj dostęp z Internetu do serwera API. Ponieważ od czasu do czasu pojawiają się zagrożenia bezpieczeństwa, które umożliwiają nieautoryzowanym użytkownikom uzyskanie dostępu do klastra.»
Po kilku minutach i butelce wody mineralnej Pavel Selivanov rzucił się do walki z cieniem tematu „Autoryzacja w klastrze za pomocą zewnętrznego dostawcy”, a mianowicie LDAP (Nginx + Python) i OIDC (Dex + Gangway).
Podczas kolejnej przerwy Marcel Ibraev, mówca Slurm, Certyfikowany Administrator Kubernetes, dał swoją radę inżynierom Kubernetes: „Powiem rzecz z pozoru banalną, ale biorąc pod uwagę, jak często się z tym spotykam, podejrzewam, że nie każdy bierze to pod uwagę. Nie powinieneś ślepo wierzyć w żadne poradniki z Internetu, które powiedzą Ci, jak świetnie działa to czy tamto rozwiązanie. W kontekście Kubernetesa nabiera to szczególnego znaczenia. Bo Kubernetes to złożony system i dodanie do niego rozwiązania, które nie zostało przetestowane w Twoim konkretnym projekcie i instalacji klastra może prowadzić do opłakanych konsekwencji, mimo że w internecie pisali o jego spoko. Nawet sam Kubernetes bez zrównoważonego podejścia może zaszkodzić Twojemu projektowi, „dla Rosjanina dobra jest śmierć dla Niemca”. Dlatego testujemy, sprawdzamy i testujemy każde rozwiązanie przed jego samodzielnym wdrożeniem. Tylko w ten sposób uwzględnisz wszystkie niuanse, które mogą się pojawić.".
Po obiedzie Siergiej Bondarev wkroczył do bitwy. Jego tematem jest Polityka sieciowa, czyli wprowadzenie do CNI i Polityki bezpieczeństwa sieci.
Internet jest pełen artykułów na temat Polityki Sieciowej. Wśród administratorów panuje opinia, że można obejść się bez Polityk sieciowych, jednak specjalistom ds. bezpieczeństwa naprawdę podoba się to narzędzie i żądają włączenia Polityk sieciowych.
Pavel Selivanov przejął stery Kubernetes od Siergieja Bondarewa z tematem „Bezpieczne i wysoce dostępne aplikacje w klastrze”. Ma ulubione tematy: PodSecurityPolicy, PodDisruptionBudget, LimitRange/ResourceQuota.
Temat Mega, który Pavel wypowiadał na DevOpsConf:
Po powiedzeniu, jak łatwo można zhakować klaster Kubernetes, sceptyczni administratorzy mówią: „Tak, mówiłem ci, Twój Kubernetes jest pełen dziur”. Paweł wyjaśnia, że w klastrze można skonfigurować zabezpieczenia i nie jest to trudne, po prostu domyślnie ustawienia zabezpieczeń są wyłączone. Szczegóły w transkrypcie
— Kto rozbił klaster? Rozbił klaster! Widzę stąd doskonale!
W Slurms wszystko nigdy nie jest proste i łatwe, żeby się nie nudzić. Ale tym razem Telegram postanowił pokazać wszystkim piąty punkt:
Марсель Ибраев, [22 нояб. 2019 г., 16:52:52]:
Коллеги, в данный момент наблюдаются сбои в работе Телеграм, имейте это ввиду
Na tym zakończył się pierwszy dzień, pełen wrażeń i wiedzy praktycznej. Drugiego dnia będzie jeszcze więcej ćwiczeń, uruchomienie klastra bazy danych na przykładzie PostgreSQL, uruchomienie klastra RabbitMQ, zarządzanie sekretami w Kubernetesie.
Slumsy mega. Drugi dzień.
Prezenter rozpoczął drugi dzień radosną zapowiedzią: „Rano, jak to wczoraj ujął Pavel, czeka nas prawdziwy hardkor. Mówiąc językiem chirurgów, dostaniemy się do wnętrzności Kubernetesa!”
Artysta masowy to inna historia. Jednym z problemów Slurma jest to, że ludzie wyłączają się pod wpływem nadmiaru informacji i zasypiają. Zawsze szukaliśmy sposobu, aby coś z tym zrobić, a małe gry z publicznością dobrze sprawdziły się podczas ostatniego Sluru. Tym razem zatrudniliśmy specjalnie przeszkoloną osobę. Na czacie było mnóstwo dowcipów o „ciekawych konkursach”, ale faktem jest, że tak wesołych uczestników jeszcze nie widzieliśmy.
Przyszli na ratunek Marcelowi Ibraevowi - i zaczął studiować aplikacje Stateful w klastrze. Mianowicie uruchomienie klastra bazy danych na przykładzie PostgreSQL i uruchomienie klastra RabbitMQ.
Po obiedzie Siergiej Bondarev rozpoczął pracę nad K8S. Tematem przewodnim było „Zachowywanie tajemnic”. Mulder i Scully go osłaniali. Studiował zarządzanie sekretami w Kubernetes i Vault. A także „Prawda jest na zewnątrz”.
Trwało to do późnego wieczora, kiedy Pavel Selivanov zaczął opowiadać o autoskalerze Horizontal Pod
Slumsy mega. Trzeci dzień.
Ostro i wesoło od samego rana Siergiej Bondarev poruszał publiczność tworzeniem kopii zapasowych i odzyskiwaniem po niepowodzeniach. Osobiście sprawdziłem tworzenie kopii zapasowych i odzyskiwanie klastra za pomocą Heptio Velero i itp.
Siergiej kontynuował temat corocznej rotacji certyfikatów w klastrze: odnawianie certyfikatów płaszczyzny sterującej za pomocą kubeadm. Tuż przed lunchem, aby zaostrzyć apetyt uczestników lub całkowicie go zabić, Pavel Selivanov poruszył temat wdrożenia aplikacji.
Rozważono narzędzia do tworzenia szablonów i wdrażania, a także strategie wdrażania.
Pavel Selivanov poruszył nowy temat: Service Mesh, instalacja Istio. Temat okazał się na tyle bogaty, że można zrobić z niego osobny, intensywny kurs. Omawiamy plany, czekajcie na komunikaty.
Najważniejsze, że wszystko działa poprawnie. Bo czas poćwiczyć:
budowanie CI/CD w celu jednoczesnego uruchomienia wdrażania aplikacji i aktualizacji klastra. W projektach edukacyjnych wszystko działa dobrze. A życie czasami jest pełne niespodzianek.
Niech Slum będzie z wami!
Źródło: www.habr.com