Polaris introduceret for at holde Kubernetes-klynger sunde

Bemærk. overs.: Originalen af ​​denne tekst er skrevet af Rob Scott, den ledende SRE-ingeniør hos ReactiveOps, som står bag udviklingen af ​​det annoncerede projekt. Vi er meget tæt på ideen om centraliseret validering af, hvad der er implementeret i Kubernetes, så vi følger sådanne initiativer med interesse.

Polaris introduceret for at holde Kubernetes-klynger sunde

Glad for at introducere Polaris er et open source-projekt, der hjælper med at opretholde "sundheden" i en Kubernetes-klynge. Vi byggede Polaris for at automatisere nogle af de bedste praksisser, der bruges af ReactiveOps for at holde klynger kørende sikkert og pålideligt for et stort antal klienter. Det er tid til open source.

Gang på gang har vi set, hvordan tilsyneladende mindre konfigurationsfejl fører til alvorlige problemer, der forhindrer ingeniører i at sove om natten. Noget meget simpelt - for eksempel konfigurationen af ​​anmodninger om ressourcer, der blev overset på grund af glemsomhed (ressourceanmodninger) - kunne bryde autoskalering og endda føre til, at arbejdsbyrder blev efterladt uden ressourcer. Hvis tidligere mindre konfigurationsforglemmelser førte til afbrydelser i produktionen, giver Polaris dig nu mulighed for fuldstændigt at forhindre dem.

Polaris hjælper dig med at undgå konfigurationsproblemer, der påvirker stabiliteten, pålideligheden, skalerbarheden og sikkerheden af ​​dine applikationer. Det gør det nemt at identificere svagheder i implementeringskonfigurationer og forhindre fremtidige problemer. Med Polaris kan du sove roligt velvidende, at applikationer implementeres ved hjælp af et sæt gennemtestede standarder.

Polaris består af to nøglekomponenter:

  1. et dashboard, der giver information om, hvor godt de eksisterende implementeringer i klyngen er konfigureret;
  2. en eksperimentel test webhook, der forhindrer implementeringer i at rulle ud, der ikke opfylder den accepterede standard.

Polaris instrumentbræt

Polaris Dashboard blev oprettet for at give en enkel og visuel måde at se den aktuelle status for Kubernetes-implementeringer og få anbefalinger til forbedringer. Det giver et komplet overblik over klyngen og opdeler resultaterne efter kategori, navneområde og implementering.

Polaris introduceret for at holde Kubernetes-klynger sunde

Standardstandarderne sat af Polaris er ret høje, så bliv ikke overrasket, hvis scoren er lavere end forventet. Hovedmålet med Polaris er at sætte høje standarder og stræbe efter en fantastisk standardkonfiguration. Hvis den foreslåede konfiguration virker for stiv, kan den rettes under installationskonfigurationsprocessen og optimere til specifikke arbejdsbelastninger.

Som en del af Polaris-publikationen besluttede vi ikke kun at præsentere selve værktøjet, men også at beskrive i detaljer de test, der er inkluderet i det. Hver anmeldelse indeholder et link til den relevante dokumentation, der forklarer, hvorfor vi synes, det er vigtigt, og links til yderligere ressourcer om emnet.

Polaris Webhook

Hvis dashboardet hjælper dig med at få et overblik over den aktuelle konfiguration af implementeringer, så håndhæver webhook standarder for alle implementeringer, der kun vil blive rullet ud til klyngen.

Efter at problemerne identificeret af dashboardet er rettet, kan en webhook bruges til at sikre, at konfigurationen aldrig falder under den etablerede standard igen. Webhook tillader ikke implementering i klyngen, hvis konfiguration indeholder væsentlige afvigelser (af "fejl"-niveauet).

Potentialet ved denne webhook er opmuntrende, men det kræver stadig omfattende tests for at blive betragtet som produktionsklar. Det er i øjeblikket en eksperimentel funktion og en del af et helt nyt Open Source-projekt. Fordi det kan forstyrre implementeringsopdateringer, skal du bruge det med forsigtighed.

Kom godt i gang

Jeg håber, at mens du stadig læser denne meddelelse, er Polaris et værktøj, som du måske kan finde nyttigt. Vil du selv prøve Dashboard? Det er meget nemt at implementere et panel i en klynge. Det er installeret med minimale rettigheder (skrivebeskyttet), og alle data forbliver inde. For at implementere Dashboard ved hjælp af kubectl skal du køre:

kubectl apply -f https://raw.githubusercontent.com/reactiveops/polaris/master/deploy/dashboard.yaml

Nu skal du konfigurere portvideresendelse for at få adgang til Dashboardet via den lokale port 8080:

kubectl port-forward --namespace polaris svc/polaris-dashboard 8080:80

Selvfølgelig er der mange andre måder at bruge og implementere Polaris på, inklusive Helm. Du kan lære om dette og meget mere fra Polaris repository på GitHub.

Dette er blot begyndelsen

Vi er glade for det, vi allerede har indbygget i Polaris, men historien slutter ikke der. Der er mange nye test på vej, som jeg gerne vil tilføje for at udvide funktionaliteten. Vi leder også efter en bedre måde at implementere regler for kontrol af undtagelser på navneområdet eller ressourceniveauet. For mere information om vores planer, se venligst vejkort.

Hvis du har indtryk af, at Polaris kan være nyttig, så tag dig tid til at prøve det. Vi modtager gerne ideer, feedback, spørgsmål eller pull-anmodninger. Du kan kontakte os på projektets hjemmesideI GitHub eller Twitter.

PS fra oversætteren

Læs også på vores blog:

Kilde: www.habr.com

Tilføj en kommentar