Presentato Polaris per mantenere i cluster Kubernetes in buone condizioni

Nota del traduttore.: L'originale di questo testo è stato scritto da Rob Scott, Senior SRE di ReactiveOps, che è responsabile dello sviluppo del progetto annunciato. Siamo molto vicini all'idea di una validazione centralizzata di ciò che viene distribuito in Kubernetes, quindi seguiamo con interesse iniziative simili.

Presentato Polaris per mantenere i cluster Kubernetes in buone condizioni

È un piacere presentare Polaris — un progetto open source che aiuta a mantenere la 'salute' del cluster Kubernetes. Abbiamo creato Polaris per automatizzare alcune delle migliori pratiche adottate in ReactiveOps per garantire un funzionamento sicuro e affidabile dei cluster per un gran numero di clienti. È giunto il momento di rendere pubblico il codice sorgente.

Ancora e ancora, siamo stati testimoni di come piccole imperfezioni nella configurazione portassero a gravi problemi, rendendo difficile il sonno degli ingegneri. Qualcosa di molto semplice — come una configurazione delle richieste di risorse dimenticata (resource requests) — potrebbe rompere l'auto-scalabilità e portare a situazioni in cui i carichi di lavoro rimanevano senza risorse. Se in passato piccole imperfezioni nella configurazione causavano interruzioni nei sistemi di produzione, oggi Polaris consente di evitarle completamente.

Polaris aiuta a evitare problemi di configurazione che influenzano la stabilità, l'affidabilità, la scalabilità e la sicurezza delle tue applicazioni. Consente di identificare facilmente le carenze nelle configurazioni dei deployment e prevenire problemi futuri. Con Polaris, puoi dormire sonni tranquilli, sapendo che le applicazioni sono distribuite secondo un insieme di standard ben consolidati.

Polaris è composto da due componenti chiave:

  1. una dashboard di monitoraggio che fornisce informazioni su quanto siano ben configurati i deployment esistenti nel cluster;
  2. un webhook di convalida sperimentale che impedisce il rilascio dei deployment che non soddisfano gli standard stabiliti.

Polaris Dashboard

Il pannello di Polaris è stato creato per fornire un modo semplice e chiaro per vedere lo stato attuale dei deployment in Kubernetes e ricevere raccomandazioni per miglioramenti. Offre una panoramica completa del cluster, suddividendo anche i risultati per categorie, spazi dei nomi e deployment.

Presentato Polaris per mantenere i cluster Kubernetes in buone condizioni

Gli standard stabiliti in Polaris per impostazione predefinita sono piuttosto elevati, quindi non sorprenderti se la valutazione risulta inferiore a quanto ti aspettavi. L'obiettivo principale di Polaris è stabilire alti standard e puntare a una configurazione eccellente per impostazione predefinita. Se la configurazione suggerita sembra troppo rigida, può essere modificata durante il processo di configurazione del deployment, ottimizzandola per carichi di lavoro specifici.

Nell'ambito della pubblicazione di Polaris, abbiamo deciso non solo di presentare lo strumento, ma anche di descrivere in dettaglio i test inclusi. Ogni verifica include un link alla documentazione pertinente, dove viene spiegato perché riteniamo sia importante, e fornendo link a risorse aggiuntive sul tema.

Polaris Webhook

Se il pannello di monitoraggio aiuta a ottenere una visione generale della configurazione attuale dei deployment, il webhook garantisce il rispetto degli standard per tutti i deployment che verranno implementati nel cluster.

Una volta risolti i problemi identificati dal pannello di monitoraggio, è possibile utilizzare il webhook per garantire che la configurazione non scenda mai al di sotto dello standard stabilito. Il webhook non permetterà di distribuire nel cluster deployment la cui configurazione presenta deviazioni significative (livello 'error').

Il potenziale di questo webhook è stimolante; tuttavia, per considerarlo pronto per la produzione, sarà necessario un attento test. Attualmente è una funzionalità sperimentale e parte di un nuovissimo progetto Open Source. Poiché potrebbe ostacolare l'aggiornamento dei deployment, usalo con cautela.

Inizio

Spero che, poiché stai ancora leggendo questo annuncio, Polaris sia uno strumento che potrebbe tornarti utile. Vuoi provare il Dashboard da solo? Distribuire il pannello in un cluster è molto semplice. Si installa con minimi permessi (solo lettura), e tutti i dati rimangono interni. Per distribuire il Dashboard usando kubectl, esegui:

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

Ora è necessario configurare il forwarding delle porte per accedere al Dashboard tramite la porta locale 8080:

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

Certo, ci sono molti altri modi per utilizzare e distribuire Polaris, compreso tramite Helm. Puoi scoprire di più su questo e altro nel repository di Polaris su GitHub.

Questo è solo l'inizio

Siamo felici di ciò che siamo già riusciti a integrare in Polaris, ma la storia non finisce qui. Sono in arrivo molti nuovi test che intendiamo aggiungere per ampliare le funzionalità. Stiamo anche cercando il modo migliore per implementare le regole di verifica delle eccezioni a livello di spazi dei nomi o risorse. Se desideri maggiori informazioni sui nostri piani, dai un'occhiata alla roadmap.

Se pensi che Polaris possa esserti utile, ti preghiamo di dedicare del tempo per provarlo. Siamo felici di ricevere qualsiasi idea, feedback, domanda o pull request. Puoi contattarci su sito del progetto, nel GitHub o su Twitter.

P.S. dal traduttore

Leggete anche nel nostro blog:

Fonte: habr.com

Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster