Diventa un Jedi Kubernetes con Alfred Workflows

Si tratta di produttività.

Negli ultimi anni qui a FairFly, abbiamo lavorato con Kubernetes, un ottimo strumento di orchestrazione dei container che ci sta aiutando a gestire tutti i nostri servizi e implementazioni.

Kubernetes è un sistema open source per automatizzare la distribuzione, il ridimensionamento e la gestione di applicazioni containerizzate originariamente progettato da Google (fonte: Wikipedia)

In questo post vorrei presentare come siamo riusciti a ottenere la padronanza e gestire in modo più efficiente tutte le nostre risorse di kubernetes utilizzando un ottimo strumento chiamato flussi di lavoro Alfred di cui ampiamente utilizziamo e ci prendiamo cura qui in FairFly. Questo e la nostra passione per la produttività e l'efficienza hanno portato il nostro team di ricerca e sviluppo a un'era più rapida e produttiva.

Da questo punto in poi assumerò che tu abbia familiarità con la tecnologia e che tu abbia un'esperienza intermedia.

Nei secoli bui ... c'era solo kubectl

Kubernetes ti offre un piacevole strumento CLI chiamato: kubectl

Kubectl - Un'interfaccia da riga di comando per l'esecuzione di comandi contro i cluster Kubernetes (dalla pagina di panoramica di kubectl kubernetes.io)

Ci siamo trovati a svolgere varie attività quotidiane usando kubectl, in modo non produttivo; che include la visualizzazione dei registri, l '"esecuzione" in pod, la visualizzazione del processo di inizializzazione della distribuzione, l'eliminazione di risorse o semplicemente la visita alla nostra dashboard di Kubernetes.

Inoltre, kubectl ha il completamento automatico ma è super lento, la ricerca non è abbastanza buona e non fornisce informazioni sufficienti sul contesto, ad esempio quanti pod sono attivi per la distribuzione? qual è il suo stato? eccetera.

Ad esempio, per recuperare i registri, i registri del comando kubectl richiedono come argomento. Ora dobbiamo trovare il nome del pod desiderato o digitando $ kubectl get pods o utilizzando il completamento automatico.

Questo processo è super lento, quindi ho dovuto trovare un modo per renderlo più efficiente (ho già detto che siamo dei maniaci della produttività?), Quindi ho iniziato a utilizzare etichette che mi hanno aiutato a trovare un sottoinsieme di risorse un po 'più veloce, ma anche quello non lo era abbastanza veloce. Anche la navigazione della storia bash (CTRL + R) non ha soddisfatto le mie esigenze di efficienza.

E poi mi ha colpito!

Presentazione di Alfred Workflow.

Per coloro che non hanno familiarità con Alfred, voi ragazzi vi state perdendo.
Alfred (alternative che puoi controllare: Wox, Hain) è un task runner per Mac OS che amplia notevolmente ciò che Spotlight può fare, permettendoti di essere più produttivo con azioni personalizzate, ad esempio, apri app, esegui script e utilizza la maggior parte delle funzionalità del tuo sistema operativo come desideri; essere più veloce che mai! E, soprattutto, ti consente di progettare flussi di lavoro completamente personalizzati.

Esempio di semplice flusso di lavoro Elenco cose da fare - www.alfredapp.com

Kubernetes Alfred Workflow

Ho deciso di creare un flusso di lavoro personalizzato per realizzare la magia
(scarica qui) creando una serie di comandi che avvolgono kubectl e forniscono le funzionalità di completamento e ricerca che ci siamo persi così tanto. Questi comandi includono le nostre operazioni quotidiane più comuni come ad esempio registri di coda, "esecuzione" in contenitori, ecc.

Passaggio 1: installazione rapida

ksetenv - aprirà un menu per
- L'URL della dashboard (obbligatorio!)
- Il tuo percorso locale kubectl
(Default: / usr / local / bin / kubectl)

  • Installa kubetail (must!) - Script di Bash per adattare i log di Kubernetes da più pod contemporaneamente. ($ brew installa kubetail)

Passaggio 2: utilizzare la forza

Un elenco dei comandi disponibili.kl (registri)

kl - Ottieni i log delle risorse.
ks - Accedi a qualsiasi pod pod.
kw - Guarda e descrivi le risorse.
kr - Rimuovi rapidamente le risorse. Non preoccuparti, premendo ⏎ non rimuoverai nulla, dovrai tenere premuto MAIUSC + ⏎ per eseguire.
kre: rimuove i pod sfrattati.
kd - Vai alla dashboard.
kds - Esplora le tue risorse nella dashboard.

Bonus: DataDog Monitor Pods (comando kdm)

Monitoriamo le nostre risorse con DataDog, il recupero di metriche come memoria / CPU richiede un po 'di tempo, è necessario accedere a DataDog → Metriche → Explorer, nella sezione Grafico scegliere tutte le metriche che si desidera visualizzare e quindi scegliere Più risorse ... è frustrante.
Per questo specifico utilizzo, ho creato il comando kdm Alfred, in cui scegli la tua risorsa dall'elenco e ottieni un riepilogo istantaneo in DataDog.

kdm

Esplora le metriche delle risorse in DataDog.

Conclusione

Come probabilmente hai visto, noi di Fairfly siamo una specie di maniaci della produttività! Usiamo i flussi di lavoro personalizzati Alfred per praticamente tutto e cerchiamo costantemente di migliorare e rendere il nostro lavoro di squadra e la nostra infrastruttura migliori e più veloci. Spero che troverai il tempo per utilizzare questo flusso di lavoro, abbiamo creato questo toolbox per te - È GRATUITO.
Non esitate a contattare per qualsiasi feedback, suggerimento sui flussi di lavoro e altro all'indirizzo eldar@fairfly.com.