de Chris Cooney

Cum se configurează un terminal Kubernetes serios

Toate instrumentele CLI de care are nevoie un tocilar în creștere pentru k8s

Cum se configureaza un terminal Kubernetes serios

Kubernetes vine preambalat cu un CLI remarcabil. Pentru operații de bază, funcționează minunat. Din păcate, când trebuie să faci ceva rapid, complexitatea crește.

Comunitatea Kubernetes a construit tot felul de instrumente bazate pe web pentru monitorizarea clusterului dvs. – vizualizarea opțiunilor kube, grafana etc. Cu toate acestea, având un terminal complet echipat va accelera rapid timpul necesar pentru a ajunge la rădăcina unei probleme. Este o parte fundamentală a cuțitului dvs. elvețian.

Următoarea este o listă foarte scurtă de instrumente open source pe care le-am aplicat terminalului meu OSX. Atunci când sunt utilizate împreună, îmi permit să mă întorc în jurul clusterului meu kubernetes, să depanez rapid problemele și să monitorizez comportamentul. Am decupat o mulțime de mici utilități mici și m-am lipit de instrumentele pe care le găsesc în fiecare zi.

Înainte de orice instrumente …

Înainte de a merge după aceste instrumente, aș recomanda cu tărie instalarea zsh. Este un ambalaj remarcabil, open source în jurul terminalului OSX standard. Este mai bogat în funcții și intuitiv, iar pluginurile pe care le puteți instala sunt fantastice. Unele dintre aceste instrumente enumerate presupun că aveți instalat ZSH.

k9s

1611506467 85 Cum se configureaza un terminal Kubernetes serios
o da

Încep puternic. K9s este ursul momma al instrumentelor CLI pentru clusterul kubernetes. Puteți SSH direct în pod-uri cu o singură apăsare de tastă, vizualizarea jurnalelor, ștergerea resurselor și multe altele. Oferă acces remarcabil pentru cele mai frecvente operațiuni pe care le veți efectua. Aceasta este o bază pentru orice inginer care utilizează kubernetes.

kubectx

Dar un lucru pe care K9s nu îl acceptă este comutarea între diferite contexte în configurația dvs. kubernetes. Este foarte rar că vom avea un singur cluster. Comutarea între acestea este la fel de simplă ca

kubectl config use-context my-context

Dar, cu aceasta, există câteva condiții prealabile:

  • Trebuie să știți numele clusterului înainte de a rula.
  • Există un altul, similar set-context comandă care te-ar putea împiedica.

kubectx prezintă o alternativă mai simplă la aceasta. Dacă alergi kubectx pe cont propriu, va enumera toate contextele din .kube/config fişier. Puteți furniza apoi numele contextului care vă interesează:

kubectx my-context

Nu este nevoie să vă amintiți toate contextele, nu este nevoie să verificați manual fișierele și nu aveți posibilitatea să primiți o comandă greșită. Frumos și simplu. Combinat cu k9s, aceasta oferă o mulțime de navigabilitate din CLI cu apăsări minime de taste.

kubens

Odată ce vă deplasați în contexte, vă recomandăm să intrați într-un anumit spațiu de nume. Încă o dată, este foarte obișnuit să aveți mai multe spații de nume în cluster. Bine, ahmetb (domnul care v-a adus kubectx), de asemenea, pus împreună kubens. Este la fel ca kubectx, numai pentru spațiile de nume.

kubens kube-system

Acum toate comenzile tale se execută împotriva kube-system spațiu de nume, în mod implicit. De asemenea, puteți alerga kubens fără ca altceva să vadă o listă a spațiilor dvs. de nume.

kube-ps1

Deci, puteți comuta între contexte și spații de nume. Dar de unde știi către cine te orientezi în prezent? Este o durere să continui să verifici. În acest moment, pentru a afla că va trebui să rulați:

kubens
kubectx
kubectl <my-command>

Pentru a elimina acest lucru, ps1 este un plugin zsh care vă va arăta automat contextul curent și spațiul de nume:

1611506468 676 Cum se configureaza un terminal Kubernetes serios
Indică contextul meu minikube și spațiul de nume implicit

Acum puteți vedea spațiul de nume și contextul pe care le indicați fără a rula o singură comandă. De asemenea, este extrem de configurabil – puteți dezactiva spațiul de nume sau contextul, dacă sunteți interesat doar de unul dintre ele sau puteți utiliza kubeoff pentru a dezactiva totul în întregime.

popeye

Acum, pe ceva puțin diferit. popeye va rula scanări automate ale resurselor din depozitul dvs. și va evidenția probleme clare, evidente. Acesta este un instrument foarte nou și pe care l-am găsit foarte util. Dacă sunteți în căutarea unor lucruri de curățenie de primăvară în cluster, începând cu popeye vă va oferi câteva indicații clare despre ceea ce trebuie remediat.

1611506468 342 Cum se configureaza un terminal Kubernetes serios
Acestea au fost primele câteva rânduri ale unui raport foarte lung și detaliat.

rautacios

Folosit vreodată kubectl logs? Ați observat că puteți urmări jurnalele dintr-un singur pod odată? Ei bine, nu vă mai faceți griji! Stern este un instrument care vă permite să trageți jurnalele de pe mai multe poduri, pe baza unei interogări foarte flexibile.

Vorbesc în mod regulat despre kubernetes, DevOps și multe altele despre mine cont twitter.