Polaris geïntroduceerd om Kubernetes-clusters gezond te houden

Opmerking. vert.: Het origineel van deze tekst is geschreven door Rob Scott, een vooraanstaand SRE-ingenieur bij ReactiveOps, dat achter de ontwikkeling van het aangekondigde project staat. Het idee van gecentraliseerde validatie van wat er in Kubernetes wordt geïmplementeerd, staat ons heel dicht bij, dus we volgen dergelijke initiatieven met belangstelling.

Polaris geïntroduceerd om Kubernetes-clusters gezond te houden

Graag voorstellen Polaris is een open source-project dat helpt de gezondheid van een Kubernetes-cluster te behouden. We hebben Polaris gebouwd om enkele van de best practices die in ReactiveOps worden gebruikt te automatiseren om clusters veilig en betrouwbaar te laten draaien bij een groot aantal klanten. Het is tijd om de code te openen.

Keer op keer hebben we gezien dat ogenschijnlijk kleine configuratiefouten tot grote problemen leiden waar technici 's nachts wakker van liggen. Iets heel eenvoudigs, bijvoorbeeld de configuratie van resourceverzoeken die door vergeetachtigheid zijn vergeten (bronverzoeken) – zou de automatische schaling kunnen doorbreken en er zelfs toe kunnen leiden dat de werklast zonder middelen blijft zitten. Als voorheen kleine fouten in de configuratie tot productieonderbrekingen leidden, kunt u deze nu met Polaris volledig voorkomen.

Polaris helpt u configuratieproblemen te voorkomen die van invloed zijn op de stabiliteit, betrouwbaarheid, schaalbaarheid en beveiliging van uw applicaties. Het maakt het gemakkelijk om fouten in implementatieconfiguraties te identificeren en toekomstige problemen te voorkomen. Met Polaris kunt u gerust slapen, wetende dat uw applicaties worden geïmplementeerd volgens een reeks goed geteste standaarden.

Polaris bestaat uit twee belangrijke componenten:

  1. een monitoringpaneel dat informatie geeft over hoe goed de bestaande implementaties in het cluster zijn geconfigureerd;
  2. een experimentele testwebhook die voorkomt dat implementaties worden uitgerold die niet aan de geaccepteerde standaard voldoen.

Polaris-dashboard

Het Polaris-dashboard is gemaakt om op een eenvoudige en visuele manier de huidige status van Kubernetes-implementaties te bekijken en aanbevelingen voor verbeteringen te krijgen. Het biedt een compleet overzicht van het cluster en splitst de resultaten ook op per categorie, naamruimte en implementatie.

Polaris geïntroduceerd om Kubernetes-clusters gezond te houden

De standaardnormen van Polaris zijn behoorlijk hoog, dus wees niet verbaasd als je score lager is dan je had verwacht. Het belangrijkste doel van Polaris is om hoge eisen te stellen en te streven naar een uitstekende standaardconfiguratie. Als de voorgestelde configuratie te rigide lijkt, kan deze worden gecorrigeerd tijdens het implementatieconfiguratieproces, waardoor deze wordt geoptimaliseerd voor specifieke werklasten.

Als onderdeel van de Polaris-publicatie hebben we besloten om niet alleen de tool zelf te presenteren, maar ook om de tests die erin zijn opgenomen in detail te beschrijven. Elke recensie bevat een link naar gerelateerde documentatie, waarin wordt uitgelegd waarom wij deze belangrijk vinden, en links naar aanvullende bronnen over het onderwerp.

Polaris Webhook

Als het dashboard helpt om een ​​overzicht te krijgen van de huidige configuratie van implementaties, dan zorgt de webhook ervoor dat aan de standaarden wordt voldaan voor alle implementaties die naar het cluster worden uitgerold.

Zodra de door het dashboard geïdentificeerde problemen zijn verholpen, kunt u een webhook gebruiken om ervoor te zorgen dat de configuratie nooit meer onder de vastgestelde norm valt. De webhook staat geen implementaties toe in het cluster waarvan de configuratie significante afwijkingen bevat (het “foutniveau”).

Het potentieel van deze webhook is opwindend, maar er zijn nog steeds uitgebreide tests voor nodig om als productieklaar te worden beschouwd. Dit is momenteel een experimentele functie en onderdeel van een compleet nieuw Open Source-project. Omdat dit het bijwerken van implementaties kan verstoren, moet u er voorzichtig mee zijn.

Aan de slag

Ik hoop dat, aangezien je deze aankondiging nog steeds leest, Polaris een hulpmiddel is dat je misschien nuttig vindt. Wilt u Dashboard zelf uitproberen? Het implementeren van een paneel in een cluster is heel eenvoudig. Het wordt geïnstalleerd met minimale rechten (alleen-lezen) en alle gegevens blijven binnen. Voer het volgende uit om Dashboard te implementeren met kubectl:

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

Nu moet u port forwarding configureren om toegang te krijgen tot het Dashboard via lokale poort 8080:

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

Natuurlijk zijn er veel andere manieren om Polaris te gebruiken en in te zetten, waaronder het gebruik van Helm. Hierover en nog veel meer kun je leren Polaris-repository op GitHub.

Dit is nog maar het begin

We zijn enthousiast over wat Polaris tot nu toe heeft gebouwd, maar daar houdt het verhaal niet op. Er zijn veel nieuwe tests op komst die we graag willen toevoegen om de functionaliteit uit te breiden. We zijn ook op zoek naar een betere manier om regels voor het controleren van uitzonderingen te implementeren op naamruimte- of resourceniveau. Wilt u meer informatie over onze plannen, kijk dan op wegenkaart.

Als u de indruk heeft dat Polaris nuttig kan zijn, neem dan de tijd om het te proberen. We accepteren graag alle ideeën, feedback, vragen of pull-verzoeken. U kunt contact met ons opnemen via projectsiteIn GitHub of Twitter.

PS van vertaler

Lees ook op onze blog:

Bron: www.habr.com

Voeg een reactie