Anul acesta, Plesk a decis să trimită câțiva oameni la KubeCon - evenimentul principal dedicat Kubernetes din lume. Nu există conferințe de specialitate pe această temă în Rusia. Desigur, vorbim despre K8s, și toată lumea îl dorește, dar nu se adună atât de multe companii care îl practică într-un singur loc în altă parte. Am avut ocazia să fiu unul dintre participanți, deoarece lucrez la o platformă bazată pe Kubernetes.
Despre organizare
Dimensiunile conferinței sunt impresionate: 7000 de participanți, un centru expozițional uriaș. Trecerea de la o sală la alta dura 5-7 minute. În același timp, se desfășurau 30 de prezentări pe diferite teme. A fost o mulțime de companii cu standuri proprii, iar unele ofereau premii interesante și câteva foarte atrăgătoare, precum și diverse articole promoționale, cum ar fi tricouri, pixuri și alte lucruri plăcute. Toată comunicarea a fost în limba engleză, dar nu am întâmpinat nicio dificultate. Dacă acesta este singurul factor pentru care nu mergi la conferințe internaționale, nu ezita să pleci. Engleza în IT este mai simplă decât engleza obișnuită datorită abundenței de cuvinte cunoscute pe care le scrii și le citești zi de zi în cod și documentație. Nici în ceea ce privește înțelegerea prezentărilor nu au fost probleme. Am avut în minte o cantitate foarte mare de informații. Spre seară, semănam cu un server care a fost supus unei overflow și a început să lase informația să curgă direct în subconștient.
Despre prezentări
Vreau să povestesc pe scurt despre prezentările care mi-au plăcut cel mai mult și pe care le-aș recomanda pentru vizionare.
Aceast prezentare m-a impresionat profund deoarece a pus accent pe o durere puternică. Avem multe servicii disparate, care sunt suportate și dezvoltate de diferite persoane din echipă. Urmăm abordările de infrastructură ca și cod, dar există unele probleme nerezolvate. Există un repository cu cod pe Ansible, dar starea curentă și inventarul sunt păstrate pe mașina dezvoltatorului care rulează scriptul, iar acolo sunt și acreditivele. O parte din informații pot fi găsite în Confluence, dar nu este întotdeauna evident unde. Nu există un loc unde să poți doar să dai click pe un buton și lucrurile să se îmbunătățească. Se propune realizarea unei descrieri și plasarea în repository nu doar a codului, ci și a instrumentelor de desfășurare. Să descriem de unde să obținem starea și acreditivele, să facem make Install și să ne bucurăm de rezultat. Mi-aș dori mai multă ordine în servicii, voi urmări lansările CNAB, le voi folosi, voi implementa și convinge. O bună structură pentru redactarea Readme-ului în repository.
Există foarte multe informații despre capcanele în scrierea operatorilor. Consider că prezentarea este obligatorie pentru cei care intenționează să scrie propriul operator pentru Kubernetes. Toate aspectele cum ar fi stările, colectarea gunoiului, concurența și multe altele sunt luate în considerare. Foarte informativ. Mi-a plăcut foarte mult citatul din codul volumelor persistente ale Kubernetes:
K8s îmbrățișează complexitatea integrării în favoarea simplității implementării.
Această prezentare detaliază unul dintre elementele arhitecturale fundamentale ale clusterului — planul de control, și anume setul de controllere. Se descrie rolul și arhitectura lor, precum și principiile de bază pentru crearea propriului controller folosind exemple deja existente.
Una dintre cele mai originale sugestii este recomandarea de a nu masca situațiile neobișnuite printr-un comportament corect al controllerului, ci de a schimba comportamentul într-un anumit mod pentru a da un semnal sistemului despre apariția problemelor.
O experiență foarte interesantă, foarte multe informații cu rețete despre ceea ce trebuie să luați în considerare atunci când aveți cu adevărat o sarcină mare. În Kubernetes s-au integrat foarte bine, susțin 50 de clustere. Au discutat despre toate aspectele pentru maximizarea performanței. Recomand să vizionați această prezentare înainte de a lua decizii tehnice legate de clustere.
Raportul, după care am realizat că trebuie să încerc neapărat Loki pentru loguri în cluster și, cel mai probabil, să rămân cu el. Esența: elastic este greu. Grafana dorea să dezvolte o soluție ușoară și scalabilă, potrivită pentru depanarea problemelor. Soluția s-a dovedit elegantă: Loki extrage informații meta din Kubernetes (etichete, la fel ca Prometheus) și le organizează pentru loguri. Astfel, poți selecta porțiuni din loguri în funcție de serviciu, găsi un pod specific, selecta un interval de timp concret, filtrând după codul de eroare. Aceste filtre funcționează fără căutare full-text. Așadar, sângeți progresiv cercul căutării, poți ajunge la eroarea specifică dorită. În final, căutarea este totuși implicată, dar deoarece cercul a fost restrâns, viteza este suficientă fără indexare. La clic, se încarcă contextul — câteva rânduri înainte și câteva rânduri din log după. Astfel, arată ca o căutare a fișierului cu loguri și grep pe el, dar un pic mai confortabil și în aceeași interfață cu metricile. Poate număra ocaziile interogării de căutare. Interogările în sine seamănă cu limbajul Prometheus și arată simplu. Prezentatorul a atras atenția asupra faptului că soluția nu este foarte potrivită pentru analiză. Recomand cu căldură tuturor celor care au nevoie de loguri, este o prezentare foarte ușoară.
Procesele de deploy canary și blue-green sunt prezentate foarte clar. Recomand să vizionați prezentarea celor care nu au fost încă implicați în acest domeniu. Prezentatorii își prezintă soluția sub formă de extensie pentru sistemul CI-CD promițător ARGO. Vorbirea în engleză a prezentatorului din Rusia este mai ușor de urmărit decât discursurile celorlalți prezentatori.
Unul dintre cele mai dificile aspecte ale gestionării unui cluster rămâne configurarea securității, în special a drepturilor de acces la resurse. Primitivii încorporați K8s permit configurarea autorizării în orice mod. Cum să le menții fără durere în stare actualizată? Cum să înțelegi ceea ce se întâmplă cu drepturile de acces și să debugg-ezi rolurile create? Această prezentare nu oferă doar o privire de ansamblu asupra mai multor instrumente de depanare a autorizării în K8s, ci și recomandări generale pentru construirea unor politici simple și eficiente.
Alte prezentări
Nu voi recomanda. Unele au fost de tip captain, altele, dimpotrivă, foarte complicate. Îți recomand să accesezi acest playlist și să vezi tot ce este marcat ca keynote. Acest lucru îți va oferi o vedere de ansamblu asupra industriei Cloud Native Apps, iar apoi merită să apeși ctrl+f și să cauți cuvintele cheie, companiile, produsele și abordările care te interesează.
Aici este un link către playlistul cu prezentări, acordă-i atenție
Despre standurile companiilor
La standul Haproxy mi-au oferit un tricou pentru fiul meu. Mă îndoiesc că din cauza asta voi înlocui Nginx cu haproxy în producție, dar am reținut Haproxy mai bine decât alte standuri. Cine știe ce vor face noii proprietari cu Nginx.
La standul IBM, în fiecare zi au avut prezentări scurte și au atras oamenii oferind Oculus Go, căști Beats și un dron. Era necesar să stai la stand timp de treizeci de minute. De două ori în trei zile am încercat norocul — dar nu am câștigat. De asemenea, prezentări scurte au avut și VMWare și Microsoft.
La standul Ubuntu am făcut ceea ce cred că au făcut toți — m-am fotografiat cu Shuttleworth. Un tip sociabil, s-a bucurat să afle că folosesc Ubuntu de la versiunea 8.04 și că serverul a funcționat timp de 10 ani fără dist upgrade, fără nicio întrerupere (deși fără acces la internet).
Ubuntu dezvoltă MicroK8s — Rapid, Ușor, Dezvoltator Kubernetes în amonte
Nu am putut trece pe lângă obositul Dmitri Stolyarov, am discutat cu el despre zilele dificile ale inginerilor care întrețin Kubernetes. Tipul va delega citirea prezentărilor colegilor săi, dar pregătește un nou format pentru a prezenta materialele. A încurajat să te abonezi la canalul Flant pe Youtube.
IBM, Cisco, Microsoft și VMWare au investit foarte mult în standuri. Standurile celor open-source au fost mai modeste. Am discutat la stand cu reprezentanții Grafana, m-au convins — trebuie să încerc Loki. De fapt, se pare că căutarea completă în sistemul de logare este necesară doar pentru analiză, iar pentru depanare este suficient nivelul sistemelor precum Loki. Am discutat cu dezvoltatorii Prometheus. Ei nu plănuiesc să facă depozite de date pe termen lung și downsampling de date. Recomandă să ne uităm la cortex și thanos ca soluții. Foarte multe standuri, ai nevoie de o zi întreagă pentru a le vizita pe toate. O duzină de soluții pentru monitorizare ca serviciu. Cinci servicii de securitate. Cinci servicii de performanță. O duzină de UI pentru Kubernetes. Mulți oferă k8s ca serviciu. Toți vor o felie din piață.
Amazon și Google au închiriat terase cu iarbă artificială pe acoperiș, au amplasat șezlonguri. Amazon oferea cești și turna limonadă, iar la stand vorbea despre inovațiile în funcționarea instanțelor spot. Google distribuia biscuiți cu logo-ul Kubernetes și a creat o zonă foto interesantă, iar la stand pescuia peșți mari de tip enterprise.
Despre Barcelona
Îndrăgostit de Barcelona. Am fost acolo pentru a doua oară, prima dată în 2012 pentru un tur de vizionare. E uimitor, dar multe fapte mi-au revenit în memorie, am reușit să le povestesc multor colegi, am fost un mini-ghid. Aerul curat de mare m-a eliberat instantaneu de alergii. Fructe de mare delicioase, paella, sangria. Arhitectura foarte caldă și solară. Clădiri mici cu multă verdeață. Am mers pe jos aproximativ 50 de kilometri în aceste trei zile, e un oraș în care vrei să te plimbi din nou și din nou. Toate acestea după prezentări, seara.
Ce am înțeles cel mai important
Sunt foarte fericit că am avut ocazia să particip la această conferință. A clarificat lucruri care până atunci nu erau clarificate. M-a inspirat, a făcut evidente anumite aspecte.
Un gând a răzbătut constant: Kubernetes nu este un punct de finalitate, ci un instrument. O platformă pentru a crea platforme.
Iar sarcina principală a întregii mișcări: de a construi și lansa aplicații scalabile
Direcțiile principale pe care comunitatea le urmărește s-au cristalizat. Aproximativ cum au apărut în vremurile anterioare cele 12 principii pentru aplicații, a apărut o listă de ceea ce și cum să facem pentru infrastructură în general. Dacă doriți, le putem numi tendințe:
- Mediile dinamice
- Cloud-uri publice, hibride și private
- Containere
- Rețea de servicii
- Microservicii
- Infrastructură imuabilă
- API declarativ
Aceste tehnici permit construirea de sisteme cu următoarele caracteristici:
- Protejate împotriva pierderilor de date
- Elastic (se adaptează la sarcină)
- Servibile
- Observabile (cele trei stalpe: monitorizare, logare, urmărire)
- Având capacitatea de a desfășura modificări semnificative frecvent și în siguranță previzibilă.
CNCF selectează cele mai bune proiecte (o listă mică) și promovează astfel de inițiative:
- Automatizare sănătoasă
- Cod deschis
- Libertate în alegerea furnizorului de servicii
Kubernetes este complex. Este simplu din punct de vedere ideologic și pe părți, dar complicat în ansamblu. Nimeni nu a prezentat o soluție all-in-one. Pe piața k8s ca serviciu, și pe întreaga piață, este o zonă sălbatică: suportul este vândut și cu 50$, și cu 1000$ pe lună. Fiecare se adâncește într-o anumită parte și o explorează. Cineva se ocupă de monitorizare și tablouri de bord, altcineva de performanță, altcineva de securitate.
K8S, abia începe totul!
Sursa: habr.com
