I år har Plesk besluttet at sende flere medarbejdere til KubeCon - den vigtigste begivenhed om Kubernetes i verden. Der findes ikke specialiserede konferencer om dette emne i Rusland. Selvfølgelig tales der om K8s her, og alle ønsker det, men der findes ikke et sted med så mange praktiserende virksomheder samlet på ét sted. Jeg var en af deltagerne, da jeg arbejder med en platform baseret på Kubernetes.
Om organisationen
Konferencens omfang er imponerende: 7000 deltagere, et kæmpe udstillingscenter. Det tog 5-7 minutter at bevæge sig fra en sal til en anden. Samtidig blev der afholdt 30 foredrag om forskellige emner. Der var et stort antal virksomheder med deres egne stande, hvoraf nogle gav mange fine og nogle lidt bedre præmier, samt delte forskellige giveaways som T-shirts, kuglepenne og andre søde ting. Al kommunikation foregik på engelsk, men jeg oplevede ingen vanskeligheder. Hvis det er den eneste grund til, at du ikke tager på udenlandske konferencer, så tag af sted uden bekymringer. Engelsk inden for IT er lettere end almindeligt engelsk takket være det store antal velkendte ord, som man skriver og læser hver dag i kode og dokumentation. Der var heller ingen problemer med at forstå foredragene. Jeg havde fået meget information ind i knolden. Om aftenen mindede jeg om en server, der var blevet udsat for buffer overflow, og vi hældte direkte ind i underbevidstheden.
Om foredragene
Jeg vil kort fortælle om de foredrag, jeg bedst kunne lide, og som jeg vil anbefale at se.
Denne præsentation gjorde stort indtryk på mig, fordi den ramte en stærk nerve. Vi har mange forskellige tjenester, som støttes og udvikles af forskellige personer i teamet. Vi følger tilgangen 'infrastruktur som kode', men der er nogle uløste problemer. Der er et kode-repositorie på Ansible, men den nuværende tilstand og inventar opbevares hos den udvikler, der kører scriptet på sin maskine, der også har legitimationsoplysninger. Nogle oplysninger kan findes i Confluence, men det er ikke altid tydeligt, hvor. Der er ikke et sted, hvor man bare kan trykke på en knap og få det til at fungere. Det foreslås at lave en beskrivelse og lægge i repositoriet ikke kun koden, men også deploy-værktøjer. At beskrive, hvor man henter tilstand og legitimationsoplysninger, køre make Install og nyde resultatet. Jeg vil gerne have mere orden i tjenesterne, jeg vil følge med i CNAB-udgivelserne, bruge dem, implementere, overbevise. En god skabelon til udformning af Readme i repoet.
Der er rigtig mange informationer om faldgruberne ved at skrive operatører. Jeg mener, at præsentationen er obligatorisk for dem, der planlægger at skrive deres egen operatør til Kubernetes. Alle aspekter som status, affaldsindsamling, samtidighed og meget mere tages i betragtning. Meget indholdsrigt. Jeg kunne virkelig godt lide citatet fra koden i Kubernetes' persistent volumes:
K8s omfavner kompleksiteten af integration for at opnå enkle implementeringer.
Denne præsentation beskriver detaljeret et af de grundlæggende arkitektur-elementer i klyngen — control plane, nemlig en gruppe af controllere. Der beskrives deres rolle og arkitektur, samt grundlæggende principper for at skabe din egen controller baseret på eksisterende eksempler.
En af de mest originale anbefalinger er at undgå at skjule unormale situationer bag korrekt opførsel af controllere, men i stedet ændre opførslen på en måde, der signalerer til systemet, at der er opstået problemer.
Meget interessant erfaring, der giver masser af information og opskrifter på, hvad man skal overveje, når man har virkelig høj belastning. I Kubernetes er de godt inde og understøtter 50 klynger. De fortalte om alle aspekter ved at presse maksimal ydeevne. Jeg anbefaler at se præsentationen, inden man træffer tekniske beslutninger om klynger.
Foredraget, hvor jeg indså, at Loki absolut skal prøves til logs i et cluster, og jeg sandsynligvis vil blive ved med det. Essensen: Elastic er tung. Grafana ønskede at udvikle en let og skalerbar løsning, der var velegnet til at debugge problemer. Løsningen blev elegant: Loki trækker metadata fra Kubernetes (labels som Prometheus), og organiserer logs baseret på dem. På den måde kan man vælge stykker af loggen efter service, finde en specifik pod, vælge et bestemt tidspunkt, filtrere efter fejlnummer. Disse filtre fungerer uden fuldtekst-søgning. Således kan man gradvist indsnævre søgeområdet og finde den specifikke fejl, man har brug for. Til sidst involveres søgningen alligevel, men da området er indsnævret, er hastigheden tilstrækkelig uden indeksering. Ved at klikke på den indlæses konteksten — et par linjer før og et par linjer log efter. Således ser det ud som at søge i en logfil og grepe i den, men lidt mere bekvemt og i det samme interface som metrics. Det kan tælle antallet af forekomster af søgeforespørgslen. Selve søgeforespørgslerne ligner Prometheus-sproget og ser enkle ud. Foredragsholderen gjorde opmærksom på, at løsningen ikke er særlig velegnet til analyse. Jeg anbefaler stærkt alle, der har brug for logs, at se det, det er en meget let præsentation.
Processerne for kanariefugle- og blå-grøn udrulning præsenteres meget tydeligt. Jeg anbefaler at se foredraget til dem, der endnu ikke har grebet det. Foredragsholderne præsenterer løsningen som en udvidelse til det lovende CI-CD-system ARGO. Det er lettere at lytte til foredragsholderens engelske tale fra Rusland end til de andre talere.
En af de mest komplekse aspekter af clusterstyring er fortsat sikkerhedskonfiguration, specielt adgangsrettigheder til ressourcer. Inbyggede K8s-primitiver tillader konfiguration af autorisation på alle mulige måder. Hvordan kan man uden problemer holde dem opdateret? Hvordan kan man forstå, hvad der foregår med adgangsrettighederne, og debugge de oprettede roller? I denne præsentation præsenteres ikke kun en oversigt over flere værktøjer til fejlretning af autorisation i k8s, men der gives også generelle anbefalinger til opbygning af enkle og effektive politikker.
Andre foredrag
Jeg vil ikke anbefale. Nogle var præsenteret som kapteins, mens andre var meget komplekse. Jeg anbefaler at tjekke denne playliste og se alt, hvad der er markeret som keynote. Dette vil give et bredt perspektiv på industrien omkring Cloud Native Apps, hvorefter du bør trykke ctrl+f og søge efter relevante nøgleord, virksomheder, produkter og tilgange.
Her er linket til playlisten med præsentationer, vær opmærksom på det.
Om virksomheders stande
På Haproxy standen fik jeg en t-shirt til min søn. Jeg tvivler på, at jeg derfor vil erstatte Nginx med Haproxy i produktionen, men jeg husker dem bedre end nogen anden. Hvem ved, hvad de nye ejere vil gøre med Nginx.
På IBM standen blev der afholdt korte præsentationer hele tre dage, og de tiltrak folk ved at udlodde Oculus Go, Beats hovedtelefoner og en drone. Man skulle være der i en halv time ad gangen. Jeg har prøvet min lykke to gange på tre dage — uden held. Der var også korte præsentationer fra VMWare og Microsoft.
På Ubuntu standen gjorde jeg det, som alle tilsyneladende gjorde — tog et billede med Shuttleworth. En imødekommende mand, der blev glad, da han fandt ud af, at jeg har brugt det siden 8.04, og at serveren har kørt i 10 år uden dist upgrade uden et eneste nedbrud (dog uden internetadgang).
Ubuntu arbejder på deres MicroK8s — Hurtig, Let, Upstream Developer Kubernetes
Jeg kunne ikke gå forbi den trætte Dmitry Stolyarov, snakkede med ham om ingeniørernes hårde hverdag med at supportere Kubernetes. Han vil delegere læsningen af præsentationer til sine kolleger, men forbereder en ny måde at præsentere materiale på. Han opfordrede til at abonnere på Flants YouTube-kanal.
IBM, Cisco, Microsoft og VMWare har investeret mange penge i deres stande. De open source-venner havde mere beskedne stande. Jeg talte med repræsentanter fra Grafana, de overbeviste mig — jeg skal prøve Loki. Generelt virker det som om, at fuldtekstsøgning i loggingsystemet kun er nødvendig for analyse, mens systemer som Loki er tilstrækkelige til fejlfinding. Jeg talte med udviklerne af Prometheus. De planlægger ikke at lave langtidslagring af metrics og downsampling af data. De anbefaler cortex og thanos som løsninger. Der var rigtig mange stande, man skulle have en hel dag for at besøge dem alle. En håndfuld løsninger til overvågning som service. En håndfuld sikkerhedstjenester. En håndfuld præstationsservice. En håndfuld UI til Kubernetes. Mange, der tilbyder k8s som service. Alle vil have deres del af markedet.
Amazon og Google har lejet tagterrasser med kunstgræs, hvor de har stillet liggestole op. Amazon delte krus og serverede limonade, mens de ved standen præsenterede nye funktioner i arbejdet med spot-instanser. Google delte småkager med Kubernetes-logoet og skabte et fantastisk fotosted, samtidig med at de fiskede efter store enterprise-fisk ved standen.
Om Barcelona
Jeg er forelsket i Barcelona. Jeg har været der for anden gang, første gang var i 2012 på en sightseeing-tur. Det er utroligt, men mange fakta dukkede op i hukommelsen, jeg kunne fortælle mine kolleger meget, jeg var en lille guide. Den friske havluft befriede mig straks fra min allergi. Lækre skaldyr, paella, sangria. Meget varm, solrig arkitektur. Lav bebyggelse, utrolig meget grønt. I løbet af de tre dage gik vi rundt i omkring 50 kilometer, man har lyst til at spadsere rundt i denne by igen og igen. Alt dette efter foredragene om aftenen.
Hvad jeg fik ud af det
Jeg er meget glad for, at jeg fik muligheden for at deltage i denne konference. Den har givet mig klarhed over det, der før var uklart. Den inspirerede mig og gjorde visse ting åbenlyse.
En rød tråd gennem hele konferencen var: Kubernetes er ikke et slutmål, men et værktøj. En platform til at skabe platforme.
Og den primære opgave for hele bevægelsen er: At samle og lancere skalerbare applikationer
De vigtigste områder, som fællesskabet arbejder med, er blevet krystallisere. Ligesom de 12 principper for applikationer, er der nu en liste over, hvad og hvordan man skal gøre for infrastrukturen generelt. Hvis du vil, kan dette kaldes trends:
- Dynamiske miljøer
- Offentlige, hybride og private skyer
- Containere
- Service mesh
- Mikrotjenester
- Immutable infrastruktur
- Deklarativ API
Disse teknikker gør det muligt at bygge systemer med følgende egenskaber:
- Sikre mod datatab
- Elastiske (tilpasser sig belastningen)
- Let at vedligeholde
- Observerbare (de tre søjler: overvågning, logning, sporingsmængde)
- Med mulighed for at implementere større ændringer ofte og forudsigeligt sikkert.
CNCF udvælger de bedste projekter (en lille liste) og anbefaler sådanne ting:
- Fornuftig automatisering
- Åben kildekode
- Frihed til at vælge tjenesteudbyder
Kubernetes er komplekst. Det er ideelt set simpelt, men svært som helhed. Ingen har vist en all-in-one-løsning. På markedet for k8s som en tjeneste, og i resten af markedet, er det vilde vesten: support sælges til både 50$ og 1000$ om måneden. Alle dykker ned i en bestemt del og graver dybt. Nogle fokuserer på overvågning og dashboards, andre på ydeevne, og nogle på sikkerhed.
K8S, det hele er kun lige begyndt!
Kilde: habr.com
