Polaris introdotto per mantenere integri i cluster Kubernetes

Nota. trad.: L'originale di questo testo è stato scritto da Rob Scott, uno dei principali ingegneri SRE di ReactiveOps, che è dietro lo sviluppo del progetto annunciato. L’idea della convalida centralizzata di ciò che viene distribuito su Kubernetes ci è molto vicina, quindi seguiamo con interesse tali iniziative.

Polaris introdotto per mantenere integri i cluster Kubernetes

Lieto di presentarvi Polaris è un progetto open source che aiuta a mantenere l'integrità di un cluster Kubernetes. Abbiamo creato Polaris per automatizzare alcune delle migliori pratiche utilizzate in ReactiveOps per mantenere i cluster eseguiti in modo sicuro e affidabile su un gran numero di clienti. È ora di rendere open source il codice.

Di volta in volta, abbiamo visto errori di configurazione apparentemente minori portare a grossi problemi che tengono svegli gli ingegneri la notte. Qualcosa di molto semplice, ad esempio la configurazione delle richieste di risorse che è stata dimenticata per dimenticanza (richieste di risorse) — potrebbe interrompere la scalabilità automatica e persino portare i carichi di lavoro a rimanere senza risorse. Se prima piccoli errori di configurazione portavano a interruzioni della produzione, ora Polaris consente di prevenirli completamente.

Polaris ti aiuta a evitare problemi di configurazione che influiscono sulla stabilità, affidabilità, scalabilità e sicurezza delle tue applicazioni. Semplifica l'identificazione dei difetti nelle configurazioni di distribuzione e la prevenzione di problemi futuri. Con Polaris puoi dormire sonni tranquilli sapendo che le tue applicazioni vengono distribuite utilizzando una serie di standard ben testati.

Polaris è costituito da due componenti chiave:

  1. un pannello di monitoraggio che fornisce informazioni sulla qualità della configurazione delle distribuzioni esistenti nel cluster;
  2. un webhook di test sperimentale che impedisce l'implementazione di distribuzioni che non soddisfano lo standard accettato.

Cruscotto Polaris

La dashboard Polaris è stata creata per fornire un modo semplice e visivo per vedere lo stato attuale delle distribuzioni Kubernetes e ottenere consigli per miglioramenti. Fornisce una panoramica completa del cluster e suddivide anche i risultati per categoria, spazio dei nomi e distribuzione.

Polaris introdotto per mantenere integri i cluster Kubernetes

Gli standard predefiniti di Polaris sono piuttosto elevati, quindi non sorprenderti se il tuo punteggio è inferiore a quello previsto. L'obiettivo principale di Polaris è stabilire standard elevati e puntare a un'eccellente configurazione predefinita. Se la configurazione proposta sembra troppo rigida, può essere corretta durante il processo di configurazione della distribuzione, ottimizzandola per carichi di lavoro specifici.

Nell'ambito della pubblicazione Polaris, abbiamo deciso non solo di presentare lo strumento in sé, ma anche di descrivere in dettaglio i test in esso contenuti. Ogni recensione include un collegamento alla documentazione correlata, che spiega perché riteniamo che sia importante e fornisce collegamenti a risorse aggiuntive sull'argomento.

Webhook Polaris

Se il dashboard aiuta a ottenere una panoramica della configurazione corrente delle distribuzioni, il webhook garantisce la conformità agli standard per tutte le distribuzioni che verranno implementate nel cluster.

Una volta corretti i problemi identificati dalla dashboard, è possibile utilizzare un webhook per garantire che la configurazione non scenda mai più al di sotto dello standard stabilito. Il webhook non consentirà distribuzioni nel cluster la cui configurazione contiene deviazioni significative (il livello di "errore").

Il potenziale di questo webhook è entusiasmante, ma richiederà ancora test approfonditi per essere considerato pronto per la produzione. Questa è attualmente una funzionalità sperimentale e parte di un progetto Open Source completamente nuovo. Poiché potrebbe interferire con l'aggiornamento delle distribuzioni, utilizzarlo con cautela.

Guida introduttiva

Spero che, poiché stai ancora leggendo questo annuncio, Polaris sia uno strumento che potresti trovare utile. Vuoi provare Dashboard tu stesso? La distribuzione di un pannello in un cluster è molto semplice. Viene installato con diritti minimi (sola lettura) e tutti i dati rimangono all'interno. Per distribuire Dashboard utilizzando kubectl, esegui:

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

Ora devi configurare il port forwarding per accedere alla Dashboard tramite la porta locale 8080:

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

Naturalmente, ci sono molti altri modi per utilizzare e distribuire Polaris, incluso l'utilizzo di Helm. Puoi imparare questo e molto altro da Repository Polaris su GitHub.

Questo è solo l'inizio.

Siamo entusiasti di ciò che Polaris ha costruito finora, ma la storia non finisce qui. Ci sono molti nuovi test in arrivo che vorremmo aggiungere per espandere la funzionalità. Stiamo anche cercando un modo migliore per implementare le regole di controllo delle eccezioni a livello di spazio dei nomi o di risorsa. Se desideri maggiori informazioni sui nostri piani, dai un'occhiata roadmap.

Se ritieni che Polaris possa essere utile, prenditi il ​​tempo per provarlo. Accetteremo volentieri qualsiasi idea, feedback, domanda o richiesta pull. Puoi contattarci a sito del progettoIn GitHub o Twitter.

PS da traduttore

Leggi anche sul nostro blog:

Fonte: habr.com

Aggiungi un commento