Na mojej stronie pojawił się nowy artykuł o Kubernetes. Autorem jest mój znajomy, który stawia tę technologię na bare metal. Polecam!
https://lsdev.pl/posts/kubernetes-krok-po-kroku/
Jeśli to czytasz, zapewne słyszałeś już termin Kubernetes. Zapewne czytałeś już gdzieś, że jest to narzędzie do orkiestracji kontenerów, że ma jakieś powiązania z Dockerem, że używa się tego w chmurach, że ma super mechanizm automatycznego skalowania i że jest rozwiązaniem na wszelkie zło panujące przy ciągle rosnącym środowisku produkcyjnym.
https://lsdev.pl/posts/kubernetes-krok-po-kroku/Spoko, ale jakoś osobiście wole klepanie yamla od podstaw zamiast bawić się w jakieś specjalne edytory. W czasach GPT pisanie yamli to 10 sekund :)
Trochę na temat Kubernetesa
https://pl.euro-linux.com/blog/kubernetes-ujarzmianie-pod-ow/
Darmowy e-book: Kubernetes Patterns
Spoiler:
Jest też Singleton :D
singleton to globalna zmienna z dodatkową kontrolą dostępu. Zastanawiam się nad zastosowaniem singletona w programowaniu i w sumie jestem w stanie zrozumieć sytuację, gdzie ktoś tak robi po to, żeby zapewnić leniwe ładowanie zasobów. Czyli chcemy mieć globalny obiekt, ale taki, który się zainicjalizuje dopiero jak będzie potrzebny z tego powodu, że ten obiekt może się inicjalizować długo/pobierać i obrabiać jakieś dane itp. Wtedy nie potrzebujemy tworzyć globalnej zmiennej od razu, tylko jak będzie ona potrzebna, ale jak już będzie utworzona, to chcemy ją już trzymać w pamięci, bo tworzenie jej było kosztowne, więc nie chcemy jej tworzyć za każdym razem.
@LukeJL: w takim przypadku możemy użyć jakiegoś Lazy<>
czy coś w stylu ComputeOnce<>
i wtedy mamy dodatkowo piękną dokumentację na temat tego co się dzieje. Nie ma dobrego zastosowania dla singletonu, zawsze możemy użyć globalnej zmiennej gdzieś indziej i w taki sposób mieć trochę lepszy kod (bo 'singletonowa' klasa jest prostrza i może być przetestowana)
No bo robiąc nowe narzędzie wykorzystali poprzednie pomysły. Ta sama osoba była odpowiedzialna za narysowanie królika dla Planu 9 i gofra z Go. Ten gofer podobno najpierw był używany do promocji jakiejś rozgłośni radiowej, a później wzięli i dopiero go wykorzystali jako maskotkę dla Go https://go.dev/blog/gopher
Czyżby RAY nie jest rozwiązaniem tych wszystkich problemów? robisz kontener z rayem na każdym komputerze i teraz z poziomu Pythona każdy model AI, każdy algorytm się wykonuje równolegle na wszystkich maszynach, na których urochomiłeś kontener, każdy tam wewnątrz na wszystkich rdzeniach działa, a na końcu wszystko jest jitowane do kodu maszynowego, jeśli to jax/numba/pytorch, no i wszystkie kontenery się łączą do jednego redisa co synchronizuje i rodziela prace.
Ogólnie łatwo można super komputer zbudować łącząc wszystkie komputery w domu, nie będąc jakimś specjalistą :>
Kult cargo konteneryzacji z perspektywy dekady przypomina bardzo kult cargo programowania "zorientowanego obiektowo". Wtyka się to gdzie nie trzeba, ignoruje koszty i wszelką krytykę próbuje się "obalać" recytacją w koło Macieju wyuczonych na pamięć sloganów o domniemanych korzyściach [czytaj–absolutnej technologicznej supremacji nad "przestarzałymi" konkurencyjnymi rozwiązaniami]. Do tego wygenerowało populację "ekspertów" niezdolnych do pracy w innym paradygmacie niż ten obowiązujacy w sekcie. Wszystko to jak zwykle okraszone wywalaniem milionów w błoto przez korpo molochy na szkolenia, wdrożenia, refaktory, dostosowania itd i żarciem gigantycznych ilości elektryczności w skali światowej.
@robertos7778: wątpię co do mikrokomputera. Nawet minikomputery mieściły się w trzech szafach
Połączenie dwóch maszyn EuroLinux 8 w klaster Kubernetes
Konfiguracja środowiska do nauki i testów Kubernetesa przy wykorzystaniu kubeadm.
https://pl.euro-linux.com/blog/polaczenie-dwoch-maszyn-eurolinux-8-w-klaster-kubernetes/link
Fajny artykuł, choć metodologia nauki jest co najmniej dziwna - autor odpala Kubernetesa, żeby potem kazać userowi wklepać stertę magicznych niewyjaśnionych poleceń z helmem bez żadnego komentarza, żeby potem mieć... gujacza do Kubernetesa, w którym wyklikujesz rzeczy manualnie w przeglądarce? Trochę hmm, nie po kolei, i w ogóle nie w duchu IaC. Ja zalecałbym, jakby ktoś chciał się nauczyć serio k8s, żeby jednak poznać podstawowe wywołania
kubectl
bo tym + zwykły edytor tekstu z podświetlaniem YAML-a da się zrobić wszystko, a nie jest to wcale niewygodne (ew. można wprowadzić narzędzie k9s i zostać w konsoli).