okontajneroch.sk

okontajneroch.sk Na sociálnych sietiach mi chýba tech. obsah. Rozhodol som sa to zmeniť. Zápisky zo sveta software eng

Po článku o Clientsetoch nemôže nasledovať nič iné ako Informer – základ snáď každého controllera v  .Keďže som zistil, ...
03/03/2025

Po článku o Clientsetoch nemôže nasledovať nič iné ako Informer – základ snáď každého controllera v .

Keďže som zistil, že Informer je pomerne rozsiahla téma, rozhodol som sa ho rozdeliť na dve časti. V tejto prvej časti sa dozvieš, ako funguje najzákladnejší Informer a ako môže tvoj kód reagovať na udalosti v Kubernetes.

https://okontajneroch.sk/20_informer_pt1/

☸️ Nový rok, nový článok. Pokračujem v sérii programovania pre Kubernetes. Teraz na tému: Clientset od základu. 👨🏼‍💻 Naj...
09/01/2025

☸️ Nový rok, nový článok. Pokračujem v sérii programovania pre Kubernetes. Teraz na tému: Clientset od základu.

👨🏼‍💻 Najprv si vysvetlime čo je Clientset, akú ma štrukturu atď.

👨🏼‍💻 Potom si Clientset naprogramujeme ručne, aby sme lepšie pochopili ako presne funguje.

👨🏼‍💻 Nakoniec si ukážeme ako pre naše Kubernetes API generovať Cliensetov client-gen, čo je v praxi taký štandard.

Clientset predstavuje ďalšiu vrstvu abstrakcie pre komunikáciu s Kubernetes API. Aby sme lepši

☸️ V tomto článku zo série o   programovaní predstavím knižnicu client-go. Dozvieš sa...    👨🏼‍💻 Ako na konfiguráciu, ab...
06/12/2024

☸️ V tomto článku zo série o programovaní predstavím knižnicu client-go. Dozvieš sa...

👨🏼‍💻 Ako na konfiguráciu, aby sme mohli vôbec začať s klastrom komunikovať (in-cluster a out-of-cluster)

👨🏼‍💻 Ako pracovať s REST klientom, robiť základne operácie (Post, Get, Put).

👨🏼‍💻 Ako využiť REST mapper na konverziu medzi rôznymi identifikátormi objektov v Kubernetes (GVK a GVR)

To su všetko základy, vďaka ktorým potom budeme vedieť prejsť na pokročilé témy v nasledujúcich dieloch série.

V tomto článku predstavíme knižnicu client-go, zameriame sa na základy: načítanie konfigurácie

Tak a je tu druhá časť série o Kubernetes programovaní 🔥 V druhej časti priamo nadviažem na predchadzajúci diel a ukážem...
25/11/2024

Tak a je tu druhá časť série o Kubernetes programovaní 🔥

V druhej časti priamo nadviažem na predchadzajúci diel a ukážeme si, ako rozširiť Kubernetes API o vlastný objekt (alebo volajme to resource).

Ľuďom, čo sa stretli s Kubernetesom asi veľmi CRD netreba predstavovať. Preto sa pozrieme na CRD skôr z pohľadu developera. Ide o takú povinnú jazdu pred tým, ako sa vrhneme na Kubernetes client-go.

PS: Píšem pre komunitu zadarmo - ak sa vám článok páči, potešia ma vaše lajky a zdieľania 🙏

V tomto článku sa pozrieme na to, ako zadefinovať objekt na strane Kubernetesu, a to pomocou

APIMachinery je prvý zo série článkov o programovaní pre  . Pripravené su aj ďalšie, o CRD, Client-Go, Clientsetoch. Dok...
13/11/2024

APIMachinery je prvý zo série článkov o programovaní pre .

Pripravené su aj ďalšie, o CRD, Client-Go, Clientsetoch. Dokončujem tému controllerov a operátorov.

API Machinery je knižnica, ktorá poskytuje základné abstrakcie a nástroje na prácu s Kubernetes API objektami (resources). Je základným komponentom pri programovaní vlastných nástrojov pre Kubernetes, operátorov atď.

API Machinery je knižnica, ktorá poskytuje základné abstrakcie a nástroje na prácu s Kubernet

Ak si v utorok 11.6 v Košiciach, zaujíma ťa    , tad dôjdi na prvý meetup AWS Košice Group. Budem hovoríť o tom, čo sa d...
09/06/2024

Ak si v utorok 11.6 v Košiciach, zaujíma ťa , tad dôjdi na prvý meetup AWS Košice Group. Budem hovoríť o tom, čo sa deje s trafficom medzi ELB, až kým sa nedostane na Ingress. Mojou témou je Networking for Kubernetes on AWS.

Samozrejme dôjdi ak si len tak chceš pokecať o AWS s ostatními nadšencami.

Viac info tu: https://www.meetup.com/aws-user-group-kosice/events/300074277/

Ahojte. Nabudúci týždeň, v dňoch 6. júla a 7. júla, sa v Prahe bude konať konferencia   Community Days 2024, kde okrem i...
30/05/2024

Ahojte. Nabudúci týždeň, v dňoch 6. júla a 7. júla, sa v Prahe bude konať konferencia Community Days 2024, kde okrem iného budem zdieľať svoje "storky" ohľadom k8s a DNS.

Pretože je ako teplá voda v dome – považujeme ju za samozrejmosť. No v momente, keď sa veci pokašlú, človek zistí, že je to celkom zapeklitá vec. 🙂

Samozrejme, toto je len malá časť celého eventu. Bude tam kopec zaujímavých speakerov s kopou zaujímavých tém, na ktoré sa aj ja sám teším.

Musím povedať, že tento ročník sa organizátorom podarilo nabiť dobrými témami.

https://community.cncf.io/events/details/cncf-kcd-czech-slovak-presents-kcd-czech-slovak-2024/

Cgrpoups a Namespaces v jadre Linuxu umožnili revolúciu kontajnerov. Čo je však ďalšia veľka vec? Rozhodne eBPF.eBPF men...
06/10/2023

Cgrpoups a Namespaces v jadre Linuxu umožnili revolúciu kontajnerov. Čo je však ďalšia veľka vec?

Rozhodne eBPF.

eBPF mení spôsob, ako pozerame na networking, security, monitoring ale aj performance optimalizácie.

8 Novembra bude predstavený krátky dokument to tejto technológii. Ak si sa zatial s eBPF ešte nestretol, tak tento dokument môže byť pre teba také malé intro do tejto tichej revolúcie.

Za mňa zaujimavý dokument, keďže sú v ňom otcovia BFP Alexei a Daniel. Ale aj Brendan Gregg, ktorý je synonimom BPF. Práve vďaka Brendanovi som pochopil skutočné perf. optimalizácie skrz to som sa dostal k eBPF.

The official trailer for eBPF: Unlocking the Kernel premiering at Kubecon + Cloudnativecon on Nov 8th in Chicago.In 2014, a group of engineers at Plumgrid ne...

Počul si už o golden file, alebo golden testingu?Asi každý z nás, kto tvorí kód, píše aj unit testy. Golden file je všeo...
27/09/2023

Počul si už o golden file, alebo golden testingu?

Asi každý z nás, kto tvorí kód, píše aj unit testy. Golden file je všeobecná programátorská technika, ktorá sa týka práve unit-testovania. Naše testy sú často o tom, že porovnávame nejakú aktuálnu hodnotu s očakávanou. No a golden file je technika, keď očakávaná hodnota je uložená v súbore ako text. Validáciu reálnej hodnoty s očakávanou potom robíme diffovaním textu.

Prakticky to vyzerá takto: Máme napríklad funkciu, ktorá vracia štruktúru. Napríklad nám generuje nejaký Pod, čo je dosť košatá štruktúra. Chceme napísať unit-test, ktorý overí, či táto funkcia generuje Pod správne.

Výsledný objekt alebo štruktúru si prevedieme na textový reťazec (môže to byť JSON, YAML alebo čo nám jazyk automaticky dovolí).

Potom očakávanú hodnotu v rovnakom textovom formáte načítame z textového golden súboru.

Nakoniec spravíme diff, ktorý nám buď vráti, že všetko sedí, alebo nám presne ukáže zmenu textu.

Možno sa pýtaš: Načo je to dobré? Je to veľmi jednoduchá a veľmi účinná technika na testovanie kódu, ktorý pracuje s komplexnejšími štruktúrami, a nebaví ťa stále dookola ifovať každý ich parameter. A povedzme si úprimne - ak riešime automatizáciu pre Kubernetes, tak tie štruktúry sú dosť košaté. Takéto testy sú omnoho kratšie a zrozumiteľnejšie.

Ja som túto techniku prvýkrát zaznamenal v kóde samotného Go, kde autori Go takto testujú určité časti. Samozrejme, pre Go už existujú aj veľmi pekné knižnice.

Mne sa osvedčila knižnica Goldie, ktorá pohodlne jedným riadkom zabezpečí túto validáciu. Okrem toho Goldie vie nielen porovnávať, ale aj vytvoriť golden file, respektíve pohodlne zmeniť. Stačí, ak môj unit test spustím ako go test --update.

Vo svete kontajnerov momentálne prebieha tichá revolúcia s názvom eBPF. Ide o asi najrevolučnejšiu vlastnosť jadra Linux...
25/09/2023

Vo svete kontajnerov momentálne prebieha tichá revolúcia s názvom eBPF. Ide o asi najrevolučnejšiu vlastnosť jadra Linuxu od čias cgroups a namespaces, ktorá ma široké využitie v oblastiach ako bezpečnosť, siete a observability. Ak chceš vedieť presnejšie ako na eBPF programy, tak momentálne je je k dispozícii na volné stiahnutie skvela kniha "Learning eBPF" od Liz Rice.

Liz je osoba, ktorá vie zobrať hardcore technicku tému a podať ju ľudom spôsobom, ktorý sa dobre chápe. Tak to je aj s touto knihou. Liz v tejto knihe ide do hĺbky eBPF, ale nie príliž, aby čitatel nebol úplne strateny v záplave detailov. Jej príklady zo sveta eBPF su dnes vyhľadavané každým, kto sa chce dostať do sveta eBPF.

Dôkazom toho sú aj príklady v tejto knihe. Napríklad pri sieti sú to 2 príklady: packet filtering a jednoduchý load-balancing. Vďaka tymto príkladom budeš mať dobrý prehľad ako eBPF pristupuje k sieti, ake sú možnosti tejto technológie, aký je rozdiel medzi XDP a TC.

Túto knihu môžem len odporučať každému, kto má zaujem si vyskúšať eBPF. A keďže je zadara, tak už sa len pustiť do eBPF...

Užívajte...

The O'Reilly book Learning eBPF by Liz Rice now available for download!

Po týždni je tu ďalší článok -    . Ide asi z môjho pohľadu o najdôležitejšiu časť Kubernetes architektúry, o ktorej som...
20/09/2023

Po týždni je tu ďalší článok - . Ide asi z môjho pohľadu o najdôležitejšiu časť Kubernetes architektúry, o ktorej som písal minule. Pozrieme sa na Kube API praktickejšie a vyskúšame základné operácie, ale aj patching. Ukážeme si, ako sú roganizované endpointy a ako reflektujú manifesty. Dozvieš sa ako fungujú koncepty ako server-side apply alebo watching.

Ak sa ti to páči a chceš ma motivovať v písaní ďalších článkov, tak ťukni lajk alebo zdielaj článok.

Za podporu vopred veľká vďaka 🙏



Kube API je asi najdôležitejšiou komponentou Kubernetes architektúry. Ako toto API môžme použ

Dnes trochu na tému observability. Grafana predstavila nedávno Beyla - ich nové, na eBPF postavené riešenie pre automati...
18/09/2023

Dnes trochu na tému observability. Grafana predstavila nedávno Beyla - ich nové, na eBPF postavené riešenie pre automatický monitoring trafiku v Kubernetes. Celkovo je Beyla dobrý nápad a očakávaný prírastok do Grafana portfólia.

eBPF je revolučná a veľmi silná technológia. Ide o akúsi virtuálnu mašinu priamo v jadre Linuxu, vďaka ktorej dokážeme dynamicky meniť a reagovať na rôzne udalosti Linux jadra. často sa spomína, že eBPF je pre jadro Linuxu to, čo je JavaScript pre prehliadače. To má význam hlavne v oblasti observability a analýze trafiku.

Dalo sa teda očakavať, že Grafana skôr či neskôr príde zo svojim eBPF riešením. Beyla sa momentálne sústreduje práve na observability trafiku. To znamená mať monitoring trafiku služieb, bez toho, aby sme potrebovali vykonať akúkoľvek zmenu kódu. Beyla funguje tak, že beží ako sidecar s každou vašou službou v Kubernetes. Tento sidecar tak vloží svoj eBPF program do jadra Linuxu, ktorý monitoruje daný kontajner.

Ale potrebujeme na monitoring trafiku niečo ako Beyla? Dnes máme predsa rôzne service-mesh riešenia, ktoré dokážu poskytnúť tento monitoring trafiku. Roky meshov nas tiež naučili, že sidecar nieje ta ideálna a správna cesta. Že existujú aj lepšie možnosti. Potrebujeme do naších clustrov Beyla keď už tam máme napr. Cilium?

Je tu ešte niečo...

Všetky eBPF nástroje potrebujú k svojej činnosti CAP_SYS_ADMIN capability v Linuxe - čiže defacto root. Ak si zoberieme, že Beyla beží ako sidecar s každým kontajnerom ktorý chceme monitorovať - no ja neviem.

Rozumiem že nieje problém nechať bežať v Kubernetes sidecar s vlastným security contextom. Ale stále. Nieje to príliž veľa kontajnerov s CAP_SYS_ADMIN? Možno som len paranoidný, ale mňa táto predstava nenecháva kľudným.

Čo by ale Beyla mohla byť? Napríklad taký strace, alebo ešte lepšie - bpftrace.

Beyla by mohla bežať ako daemonset na každom node a mohla by byť takým strace pre všetký kontajnery a exportovať metriky o rôznych volaniach priamo do Grafana stacku. Bola by tak menej invazívna, bez sidecar. Mohla by sa zameriavať na oblasti, kde sme stále tak trochu slepí - pamäť, vlákna, procesy, IO operácie. Predsa len ten trafik, tam už riešenia máme.

Samozrejme toto je môj subjektívny názor. Treba povedať, že Beyla je momentálne píliž novou záležitosťou. Osobne si myslím že Beyla ešte prejde svojou evolúciou, ktorá z tohto nástroja spraví veľmi zaujimavú súčasť Grafana stacku.

Každopádne je veľmi príjemné vidieť Grafanu nabehnúť do eBPF.

Address

Kosice
04011

Alerts

Be the first to know and let us send you an email when okontajneroch.sk posts news and promotions. Your email address will not be used for any other purpose, and you can unsubscribe at any time.

Contact The Business

Send a message to okontajneroch.sk:

Share