Tento rok se Plesk rozhodl poslat několik lidí na KubeCon — hlavní událost o Kubernetes na světě. V Rusku neexistují žádné specializované konference na toto téma. Samozřejmě, o K8s se u nás mluví a všichni ho chtějí, ale tolik praktikujících firem se na jednom místě nesejde nikde jinde. Byl jsem jedním z účastníků, protože pracuji na platformě založené na Kubernetes.
O organizaci
Rozměry konference ohromují: 7000 účastníků, obrovské výstavní centrum. Přechod z jedné haly do druhé trval 5-7 minut. Současně probíhalo 30 přednášek na různé témata. Bylo mnoho firem se svými stánky, na některých se losovaly skvělé a také pár výborných cen, a rozdávaly se různé drobnosti v podobě triček, tužek a dalších milých věcí. Veškerá komunikace probíhala v angličtině, ale žádné potíže jsem neměl. Pokud je to jediný faktor, kvůli kterému nejezdíte na zahraniční konference, neváhejte a jeďte. Angličtina v IT je snazší než běžná angličtina díky množství známých slov, která každý den píšete a čtete v kódu a dokumentaci. Také nebyly žádné problémy s porozuměním přednáškám. Informací jsem měl v hlavě hodně. K večeru jsem připomínal server, na kterém došlo k přetečení bufferu a informace se lily přímo do podvědomí.
O přednáškách
Chci krátce povědět o přednáškách, které se mi líbily nejvíce, a doporučil bych je shlédnout.
Tato prezentace na mě udělala silný dojem, protože se dotkla vážné bolesti. Máme spoustu roztroušených služeb, které podporují a vyvíjejí různí lidé v týmu. Postupujeme podle přístupů infrastruktura jako kód, ale existují některé nevyřešené problémy. Existuje repozitář s kódem v Ansible, ale aktuální stav a inventář jsou u konstruktéra skriptu na jeho stroji, kde jsou také přihlašovací údaje. Některé informace lze najít v Confluence, ale ne vždy je jasné, kde. Neexistuje místo, kde by stačilo jednoduše stisknout tlačítko a všechno by se zlepšilo. Navrhuje se vytvořit popis a uložit do repozitáře nejen kód, ale i nástroje pro nasazení. Popsat, kde získat stav a přihlašovací údaje, provést make Install a vychutnat si výsledek. Rád bych měl více pořádku ve službách, budu sledovat vydání CNAB, používat je, implementovat a přesvědčovat. Dobré vzor pro vypracování Readme v repozitáři.
Existuje spousta informací o úskalích při psaní operátorů. Považuji tuto prezentaci za povinnou pro každého, kdo plánuje napsat svůj vlastní operátor pro Kubernetes. Zohledňuje všechny aspekty jako stavy, úklid, konkurenčnost a vše ostatní. Velmi obsahové. Velmi se mi líbila citace z kódu persistent volumes Kubernetes:
K8s vyznává složitost integrace na úkor snadnosti realizace.
Tato prezentace podrobně odhaluje jeden z hlavních architektonických prvků clusteru — control plane, konkrétně sadu kontrolerů. Popisuje jejich roli a architekturu, základní principy tvorby vlastního kontroleru na příkladu již existujících.
Mezi nejoriginálnějšími momenty je doporučení nezakrývat mimořádné situace za správným chováním kontroleru, ale změnit chování určitým způsobem, aby se systému signalizoval vznik problémů.
Velmi zajímavé zkušenosti, velmi mnoho informací s recepty o tom, co je třeba brát v úvahu, když máte opravdu vysokou zátěž. V Kubernetes se dostali dobře a podporují 50 clusterů. Popsali všechny aspekty vymačkávání maximální výkonnosti. Doporučuji se podívat na prezentaci před přijetím jakýchkoliv technických rozhodnutí ohledně clusterů.
Prezentace, po které jsem pochopil, že Loki je nutné vyzkoušet pro logy v clusteru a pravděpodobně s ním zůstat. Podstata: Elasticsearch je těžký. Grafana chtěla vyvinout lehké škálovatelné řešení vhodné pro odhalování problémů. Řešení je elegantní: Loki vybírá z Kubernetes meta informace (štítky, jako Prometheus) a podle nich rozkládá logy. Tímto způsobem lze vybrat části logu podle služby, najít konkrétní pod, zvolit konkrétní čas a filtrovat podle chybového kódu. Tyto filtry fungují bez fulltextového vyhledávání. Takto, postupně zužující rozsah vyhledávání, se dostanete k potřebné chybě. Na konci se však vyhledávání přece jen zapojuje, ale protože je rozsah zúžen, rychlost postačuje bez indexování. Po kliknutí na ni se načte kontext — pár řádků před a pár řádků logu po. Takto to vypadá jako vyhledávání v logových souborech a grepování, ale o něco pohodlněji a ve stejném rozhraní, kde jsou metriky. Umí počítat počet výskytů vyhledávacího dotazu. Samotné vyhledávací dotazy jsou podobné jazyku Prometheuse a vypadají jednoduše. Prezentátor nás upozornil, že toto řešení se příliš nehodí pro analytiku. Velmi doporučuji všem, kdo potřebují logy, je to velmi přístupné.
Procesy kanárkových a modro-zelených nasazení jsou velmi názorně ukázány. Doporučuji prezentaci těm, kdo se tímto tématem ještě nezabývali. Prezentující představují řešení jako rozšíření pro perspektivní CI-CD systém ARGO. Angličtina prezentujícího z Ruska se lépe poslouchá než řeč ostatních prezentujících.
Jedním z nejtěžších aspektů správy clustru zůstává nastavení bezpečnosti, zejména práva přístupu k prostředkům. Vestavěné primitiva K8s umožňují nastavit autorizaci jakkoli. Jak je bezbolestně udržovat aktuální? Jak porozumět tomu, co se děje s právy přístupu, a ladit vytvořené role? V této prezentaci je představen nejen přehled několika nástrojů pro ladění autorizace v k8s, ale také uvedeny obecné doporučení pro vytváření jednoduchých a efektivních politik.
Další prezentace
Doporučovat nebudu. Některé byly jako kapitánské, jiné naopak velmi složité. Doporučuji podívat se na tento playlist a zhlédnout všechny, které jsou označené jako keynote. To umožní široký pohled na průmysl kolem Cloud Native Apps, a pak je dobré stisknout ctrl+f a hledat podle zajímavých klíčových slov, společností, produktů a přístupů.
Tady je odkaz na playlist s prezentacemi, věnujte mu pozornost.
O stáncích společností
Na stánku Haproxy mi dali tričko pro syna. O pochybnostech, že by to kvůli tomu nahradilo Nginx za haproxy v produkci, ale zapamatoval jsem si je nejvíc. Kdo ví, co udělají s Nginx noví vlastníci.
Na stánku IBM byly po celé tři dny krátké prezentace, a lákali lidi, rozdávající Oculus Go, sluchátka Beats a dron. Museli jste být na stánku každou půl hodinu. Dvakrát za tři dny jsem zkusil štěstí — nevyšlo to. Krátké prezentace byly také u VMWare a Microsoftu.
Na stánku Ubuntu jsem udělal to, co asi dělali všichni — vyfotil jsem se se Shuttleworthem. Komunikativní chlapík, potěšil se, když zjistil, že ji používám od verze 8.04 a že server s ní běžel 10 let bez dist upgrade bez jediného výpadku (pravda, bez přístupu k internetu).
Ubuntu vylepšuje svůj MicroK8s — rychlý, lehký, upstream developer Kubernetes.
Nemohl jsem projít kolem unaveného Dmitrije Stoljanova, mluvil jsem s ním o těžkých časech inženýrů, kteří podporují Kubernetes. Čtení prezentací bude delegovat na své kolegy, ale chystá nějaký nový formát prezentace materiálu. Vyzval, abyste se přihlásili na kanál Flanta na youtube.
IBM, Cisco, Microsoft, VMWare investovali hodně peněz do svých stánků. Stánky open source přátel byly skromnější. Na stánku jsem mluvil s představiteli Grafana, přesvědčili mě — musím vyzkoušet Loki. Opravdu se zdá, že plnotextové vyhledávání v systému logování je potřeba jen pro analýzu, zatímco pro troubleshooting stačí systémy jako Loki. Mluvil jsem s vývojáři Prometheus. Neplánují dělat dlouhodobé úložiště metrik a downsampling dat. Doporučují se podívat na cortex a thanos jako řešení. Bylo spoustu stánků, potřebný byl celý den, abych obešel všechny. Deset řešení pro monitorování jako službu. Pár bezpečnostních služeb. Pár výkonnostních služeb. Deset UI pro Kubernetes. Mnoho těch, kteří poskytují k8s jako službu. Všichni chtějí svůj kus trhu.
Amazon a Google si pronajali dvorky s umělou trávou na střeše, postavili tam lehátka. Amazon rozdával hrníčky a naléval limonádu, na stánku hovořil o novinkách v práci se spot instancemi. Google rozdával sušenky s logem Kubernetes a vytvořil skvělou fotoinstalaci, zatímco na stánku chytal velkou enterprise rybu.
O Barceloně
Zamilovaný do Barcelony. Byl jsem tam podruhé, poprvé v roce 2012 na okružní exkurzi. Je to neuvěřitelné, ale mnoho faktů mi vyvstalo v paměti, dokázal jsem o nich říct svým kolegům, byl jsem mini-průvodcem. Čistý mořský vzduch mě okamžitě zbavil alergie. Chutné mořské plody, paella, sangrie. Velmi teplá, slunečná architektura. Malá výška budov, spousta zeleně. Během těchto tří dní jsme prošli pěšky asi 50 kilometrů, po tomto městě se chce chodit stále znova a znova. A to vše po přednáškách, večer.
Co jsem si hlavně uvědomil
Mám velkou radost, že jsem měl možnost navštívit tuto konferenci. Ujasnila mi to, co bylo dříve rozptýlené. Inspirovala mě a některé věci udělala očividnými.
Červenou nití se táhla myšlenka: Kubernetes není konečný cíl, ale nástroj. Platforma pro vytváření platforem.
A hlavní úkol celé akce: shromažďovat a spouštět škálovatelné aplikace
Hlavní směry, na kterých komunita pracuje, se vykrystalizovaly. Připomíná to, jak se objevily 12 faktorů pro aplikace, vznikl seznam toho, co a jak dělat pro infrastrukturu jako celek. Pokud chcete, můžete to nazvat trendy:
- Dynamická prostředí
- Veřejné, hybridní a soukromé cloudy
- Kontenery
- Service mesh
- Mikroslužby
- Neměnná infrastruktura
- Deklarativní API
Tyto techniky umožňují vytvářet systémy s těmito charakteristikami:
- Ochrana proti ztrátě dat
- Elasticita (přizpůsobující se zátěži)
- Spravovatelné
- Pozorovatelné (tři pilíře: monitoring, logging, tracing)
- A schopností nasazovat zásadní změny často a předvídatelně bezpečně.
CNCF vybírá nejlepší projekty (malý seznam) a podporuje takové věci:
- Zdravá automatizace
- Otevřený kód
- Svoboda ve výběru poskytovatele služeb
Kubernetes je složitý. Ideologicky a po částech je jednoduchý, ale celkově je komplikovaný. Nikdo neukázal all-in-one řešení. Na trhu s k8s jako službou, stejně jako na ostatním trhu, je divoký západ: podporu prodávají od 50 $ do 1000 $ měsíčně. Každý se zaměřuje na nějakou část a hloubá v ní. Někdo na monitorování a dashboardy, někdo na výkon, někdo na bezpečnost.
K8S, teprve začínáme!
Zdroj: habr.com
