Dulmar guud ee k9s - interface terminal horumarsan oo loogu talagalay Kubernetes

Dulmar guud ee k9s - interface terminal horumarsan oo loogu talagalay Kubernetes

K9s waxay siisaa interface user terminal si ay ula falgalaan kooxaha Kubernetes. Hadafka mashruuca Isha Furan waa in la fududeeyo socodsiinta, la socodka, iyo maareynta codsiyada K8s. K9s waxay si joogto ah ula socdaan isbeddelada Kubernetes waxayna bixiyaan amarro degdeg ah si ay ula shaqeeyaan ilaha la kormeero.

Mashruucu wuxuu ku qoran yahay Go wuxuuna socday in ka badan hal sano iyo bar: ballanqaadkii ugu horreeyay waxaa la sameeyay Febraayo 1, 2019. Waqtiga qorista, waxaa jira 9000+ xiddigood GitHub iyo ilaa 80 wax ku darsaday. Aynu aragno waxa k9s samayn karo?

Rakibaadda iyo bilaabista

Kani waa macmiil (ee laxidhiidha kutlada Kubernetes) arjiga ugu fudud in loo shaqeeyo sidii sawir Docker:

docker run --rm -it -v $KUBECONFIG:/root/.kube/config quay.io/derailed/k9s

Qaybinta Linux iyo nidaamyada kale ee hawlgalka, waxaa sidoo kale jira in la rakibo baakadaha. Guud ahaan, nidaamyada Linux, waxaad ku rakibi kartaa faylka binary:

sudo wget -qO- https://github.com/derailed/k9s/releases/download/v0.22.0/k9s_Linux_x86_64.tar.gz | tar zxvf -  -C /tmp/
sudo mv /tmp/k9s /usr/local/bin

Ma jiraan shuruudo gaar ah oo loogu talagalay kooxda K8s lafteeda. Marka la eego dib u eegista, codsigu wuxuu sidoo kale la shaqeeyaa noocyadii hore ee Kubernetes sida 1.12.

Codsiga waxaa la bilaabay iyadoo la isticmaalayo habka caadiga ah .kube/config - oo la mid ah sida ay u shaqeyso kubectl.

Jihada

Sida caadiga ah, daaqad ayaa ku furma meesha magaca caadiga ah ee loo cayimay macnaha guud. Taasi waa, haddii aad qortay kubectl config set-context --current --namespace=test, ka dibna meesha magaca ayaa furmi doonta test. (Ka eeg hoos si aad u beddesho macnaha guud/magacyada.)

Dulmar guud ee k9s - interface terminal horumarsan oo loogu talagalay Kubernetes

Tag habka amarka waxaa lagu sameeyaa adigoo riixaya ":". Taas ka dib, waxaad xakameyn kartaa hawlgalka k9s adoo isticmaalaya amarrada - tusaale ahaan, si aad u aragto liiska StatefulSets (ee magaca hadda jira), waxaad geli kartaa :sts.

Dulmar guud ee k9s - interface terminal horumarsan oo loogu talagalay Kubernetes

Qaar ka mid ah ilaha kale ee Kubernetes:

  • :ns - meelaha magacyada;
  • :deploy - Hawlgelinta;
  • :ing - Xadgudubyada;
  • :svc - Adeegyada.

Si loo muujiyo liis dhamaystiran oo ah noocyada kheyraadka ee diyaarka u ah daawashada, waxaa jira amar :aliases.

Waxa kale oo ay ku habboon tahay in la eego liiska amarrada ay heli karaan isku-dhafka muhiimka ah ee muhiimka ah ee daaqadda hadda jira: si tan loo sameeyo, kaliya dhagsii "?".

Dulmar guud ee k9s - interface terminal horumarsan oo loogu talagalay Kubernetes

Sidoo kale k9s waxaa ku jira habka raadinta, si aad u tagto taas oo ku filan in la galo "/". Iyada oo leh, baaritaan ayaa lagu sameeyaa waxa ku jira "daaqadda" hadda. Aynu nidhaahno haddii aad hore u soo gashay :ns, waxa aad haysaa liis meelo magacyo ah oo furan. Haddii ay jiraan kuwo aad u badan, markaa si aan hoos loogu dhigin wakhti dheer, waa ku filan inaad gasho daaqada magacyo leh. /mynamespace.

Si aad u raadiso calaamado, waxaad dooran kartaa dhammaan galbadaha ku yaal goobta magaca la rabo, ka dib geli, tusaale ahaan, / -l app=whoami. Waxaan heli doonaa liis gabo-gabo ah oo summadan leh:

Dulmar guud ee k9s - interface terminal horumarsan oo loogu talagalay Kubernetes

Raadinta waxay ka shaqeysaa dhammaan noocyada kala duwan ee daaqadaha, oo ay ku jiraan diiwaannada, daawashada calaamadaha YAML, iyo describe wixii agab ah - hoos ka eeg faahfaahin dheeraad ah oo ku saabsan sifooyinkan.

Sidee buu u eg yahay socodka socodka guud?

Iyadoo amarka :ctx waxaad dooran kartaa macnaha guud:

Dulmar guud ee k9s - interface terminal horumarsan oo loogu talagalay Kubernetes

Si aad u doorato meel magaceed, waxaa jira amarkii hore loo sheegay :ns, ka dibna waxaad isticmaali kartaa raadinta booska la rabo: /test.

Haddii aan hadda dooranno kheyraadka aan xiisayno (tusaale ahaan, isla StatefulSet), macluumaadka u dhigma ayaa u soo bixi doona: intee in le'eg ayaa ku ordaya macluumaad kooban oo iyaga ku saabsan.

Dulmar guud ee k9s - interface terminal horumarsan oo loogu talagalay Kubernetes

Gelida kaliya ayaa laga yaabaa inay xiiseyneyso - ka dibna waa ku filan tahay in la galo :pod. Xaaladda ConfigMaps (:cm - liiska kheyraadkan), waxaad dooran kartaa shayga xiisaha oo guji "u", ka dib K9s ayaa kuu sheegi doona cidda sida gaarka ah u isticmaasha (CM-kan).

Muuqaal kale oo waxtar u leh daawashada kheyraadka waa iyaga "X-ray" (muuqaalka raajada). Habkan waxaa lagu magacaabaa amarka :xray RESOURCE iyo ... way fududahay in la tuso sida ay u shaqeyso halkii la sharaxi lahaa. Halkan waxaa ah sawirka StatefulSets:

Dulmar guud ee k9s - interface terminal horumarsan oo loogu talagalay Kubernetes
(Mid kasta oo ka mid ah agabkan waa la hagaajin karaa, la beddeli karaa, waa la samayn karaa describe.)

Oo halkan waxaa ah Soo-galista:

Dulmar guud ee k9s - interface terminal horumarsan oo loogu talagalay Kubernetes

Ku shaqaynta kheyraadka

Waxaad ka heli kartaa macluumaadka ku saabsan kheyraad kasta gudaha YAML ama keeda describe adigoo riixaya furayaasha kiiboodhka ee u dhigma ("y" iyo "d", siday u kala horreeyaan). Dabcan, waxaa jira xitaa hawlgallo aasaasi ah oo badan: liiskooda iyo furayaasha furayaasha furaha ayaa had iyo jeer la arki karaa iyadoo ay ugu wacan tahay "madaxa" ku habboon ee interface-ka (qarin adigoo riixaya Ctrl + e).

Dulmar guud ee k9s - interface terminal horumarsan oo loogu talagalay Kubernetes

Markaad tafatirayso kheyraad kasta ("e" ka dib xulashada), tifaftiraha qoraalka ee lagu qeexay doorsoomayaasha deegaanka ayaa la furayexport EDITOR=vim).

Oo halkan waa sida ay u egtahay sharraxaadda faahfaahsan ee kheyraadku (describe):

Dulmar guud ee k9s - interface terminal horumarsan oo loogu talagalay Kubernetes

Soo-saarkan (ama soo-saarka muuqaalka muuqaalka kheyraadka YAML) waa lagu keydin karaa iyadoo la adeegsanayo kiiboodhka gaaban ee caanka ah Ctrl + s. Halka ay ku badbaadi doonto waxaa laga ogaan doonaa fariinta K9:

Log /tmp/k9s-screens-root/kubernetes/Describe-1601244920104133900.yml saved successfully!

Waxa kale oo aad dib u soo celin kartaa kheyraadka faylasha kaydka ah ee la abuuray, ka dib markaad ka saarto calaamadaha nidaamka iyo faallooyinka. Si tan loo sameeyo, waxaad u baahan tahay inaad la tagtid hagaha iyaga (:dir /tmp), ka dibna dooro faylka la rabo oo codso apply.

Jid ahaan, wakhti kasta waxaad dib ugu laaban kartaa ReplicaSet-kii hore haddii ay jiraan dhibaatooyin kan hadda jira. Si tan loo sameeyo, dooro RS-ga aad rabto (:rs liiskooda):

Dulmar guud ee k9s - interface terminal horumarsan oo loogu talagalay Kubernetes

... oo dib ugu noqo Ctrl + l. Waa inaan helnaa ogeysiin ah in wax walba si wanaagsan u dhaceen:

k9s/whoami-5cfbdbb469 successfully rolled back

Oo si loo cabbiro nuqullada, kaliya dhagsii "s" (miisaanka) oo dooro tirada la rabo ee tusaalooyinka:

Dulmar guud ee k9s - interface terminal horumarsan oo loogu talagalay Kubernetes

Waxaad geli kartaa mid kasta oo ka mid ah weelasha adigoo isticmaalaya qolofka: si aad tan u sameyso, aad boodhka la rabo, dhagsii "s" (shell) oo dooro weelka.

Tilmaamo kale

Dabcan, daawashada diiwaannada sidoo kale waa la taageerayaa ("l" ee kheyraadka la doortay). Iyo si aad u daawato diiwaanka cusub, looma baahna in si joogto ah loo riixo Gelida: waa ku filan in la calaamadiyo ("m"), ka dibna kaliya la soco fariimaha cusub.

Dulmar guud ee k9s - interface terminal horumarsan oo loogu talagalay Kubernetes

Sidoo kale isla daaqadda dhexdeeda, waxaad dooran kartaa waqtiga kala duwan ee soo saarida logs:

  • furaha "1" - 1 daqiiqo;
  • "2" - 5 daqiiqo;
  • "3" - 15 daqiiqo;
  • "4" - 30 daqiiqo;
  • "5" - 1 saac;
  • "0" - inta lagu jiro nolosha oo dhan.

Qaabka hawlgalka gaarka ah Pulse (command :pulse) waxay tusinaysaa macluumaadka guud ee ku saabsan kutlada Kubernetes:

Dulmar guud ee k9s - interface terminal horumarsan oo loogu talagalay Kubernetes

Halkaas waxaad ka arki kartaa tirada kheyraadka iyo heerka ay joogaan (cagaarku wuxuu muujinayaa kuwa leh heerka Running).

Muuqaal kale oo wanaagsan oo K9s ah ayaa loo yaqaan Popeye. Waxay hubisaa dhammaan agabyada shuruudaha saxda ah waxayna muujisaa natiijada "qiimaynta" oo leh sharraxaad. Tusaale ahaan, waxaad arki kartaa in aysan jirin muunado ku filan ama xad, iyo weel qaar ka mid ah wuxuu u shaqeyn karaa sidii xidid ...

Dulmar guud ee k9s - interface terminal horumarsan oo loogu talagalay Kubernetes

Waxaa jira taageerada aasaasiga ah ee Helm. Tusaale ahaan, sidan waa sida aad ku arki karto sii daynta lagu dhex daadiyay kooxda:

:helm all # всС
:helm $namespace # Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ пространствС ΠΈΠΌΠ΅Π½

cabbirka

Xataa lagu dhisay K9s hey waa koronto-dhaliye fudud oo server-ka HTTP ah, beddelka ab (ApacheBench).

Si aad awood ugu yeelatid, waxaad u baahan tahay inaad karti u geliso-horumarka-kormeerka podka. Si aad tan u samayso, dooro boodhka oo taabo Shift + f, aad u sii wad liiska dekedaha adoo isticmaalaya alias "pf".

Dulmar guud ee k9s - interface terminal horumarsan oo loogu talagalay Kubernetes

Ka dib markaad doorato dekedda oo aad riixdo Ctrl + b, bartilmaameedka laftiisa ayaa bilaabmaya. Natiijooyinka shaqadiisa ayaa lagu kaydiyaa /tmp waxayna diyaar u yihiin daawashada dambe ee K9s.

Dulmar guud ee k9s - interface terminal horumarsan oo loogu talagalay Kubernetes
Dulmar guud ee k9s - interface terminal horumarsan oo loogu talagalay Kubernetes

Si aad u bedesho qaabaynta bartilmaameedka, waxaad u baahan tahay inaad abuurto fayl $HOME/.k9s/bench-<my_context>.yml (waxaa loo go'aamiyay koox kasta).

FG: Waa muhiim in la kordhiyo dhammaan faylasha YAML ee ku jira hagaha .k9s sax bay ahayd .yml (.yaml si sax ah uma shaqeeyo).

Tusaalaha qaabaynta:

benchmarks:
  defaults:
    # ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²
    concurrency: 2
    # ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ запросов
    requests: 1000
  containers:
    # Настройки для ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° с Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠΎΠΌ
    # ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ опрСдСляСтся ΠΊΠ°ΠΊ namespace/pod-name:container-name
    default/nginx:nginx:
      concurrency: 2
      requests: 10000
      http:
        path: /
        method: POST
        body:
          {"foo":"bar"}
        header:
          Accept:
            - text/html
          Content-Type:
            - application/json
 services:
    # МоТно ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊ Π½Π° сСрвисах Ρ‚ΠΈΠΏΠ° NodePort ΠΈ LoadBalancer
    # Бинтаксис: namespace/service-name
    default/nginx:
      concurrency: 5
      requests: 500
      http:
        method: GET
        path: /auth
      auth:
        user: flant
        password: s3cr3tp455w0rd

interface

Muuqashada tiirarka liisaska agabka waxaa wax laga beddelaa iyadoo la abuurayo fayl $HOME/.k9s/views.yml. Tusaale waxa ku jira:

k9s:
 views:
   v1/pods:
     columns:
       - AGE
       - NAMESPACE
       - NAME
       - IP
       - NODE
       - STATUS
       - READY
   v1/services:
     columns:
       - AGE
       - NAMESPACE
       - NAME
       - TYPE
       - CLUSTER-IP

Run, ma jiraan tiir ku filan calaamadaha, kuwaas oo ay jiraan arrinta mashruuca.

Ku kala soocida tiirarka waxaa lagu fuliyaa kiiboodhka gaaban:

  • Shift + n - magaca;
  • Shift + o - by noodes;
  • Shift + i - by IP;
  • Shift + a - inta uu nool yahay weelka;
  • Shift + t - tirada dib u bilaabashada;
  • Shift + r - heerka diyaargarowga;
  • Shift + c - isticmaalka CPU;
  • Shift + m - isticmaalka xusuusta.

Haddii qof aanu jeclayn nidaamka midabka caadiga ah, K9s xataa way taageertaa hargaha. Tusaalayaal diyaarsan (7 xabbo) ayaa diyaar ah halkan. Halkan waxaa ah tusaale mid ka mid ah maqaarkan (ciidamada badda):

Dulmar guud ee k9s - interface terminal horumarsan oo loogu talagalay Kubernetes

Plugins

Ugu dambeyntii plugins kuu ogolaanaya inaad ballaariso awoodaha K9s. Aniga qudhaydu waxa aan shaqadeyda ku isticmaalay mid ka mid ah kubectl get all -n $namespace.

Waxay u egtahay sidan. Samee fayl $HOME/.k9s/plugin.yml oo xambaarsan nuxurka sida tan:

plugin:
 get-all:
   shortCut: g    
   confirm: false    
   description: get all
   scopes:
   - all
   command: sh
   background: false
   args:
   - -c
   - "kubectl -n $NAMESPACE get all -o wide | less"

Hadda waxaad aadi kartaa goobta magaca oo riix "g" si aad u fuliso amarka u dhigma:

Dulmar guud ee k9s - interface terminal horumarsan oo loogu talagalay Kubernetes

Plugins-yada waxaa ka mid ah, tusaale ahaan, isku-dhafka kubectl-jq iyo utility loogu talagalay daawashada diiwaannada adag.

gunaanad

Dhadhankayga, K9s waxay u noqotay mid aad ugu habboon in lala shaqeeyo: si dhakhso ah ayaad ula qabsan kartaa raadinta wax kasta oo aad u baahan tahay adigoon isticmaalin. kubectl. Waxaan ku faraxsanahay aragtida logyada iyo badbaadintooda, tafatirka degdega ah ee kheyraadka, xawaaraha shaqada guud ahaan *, qaabka Popeye wuxuu u soo baxay inuu noqdo mid faa'iido leh. Xusid gaar ah waa awoodda lagu abuurayo plugins oo wax ka beddelka codsiga si uu ugu habboonaado baahiyahaaga.

* In kasta oo, oo leh mug weyn oo logu, waxaan sidoo kale ogaaday hawl-galka gaabis ee K9s. Waqtiyadan oo kale, utility-gu wuxuu "cunay" 2 kore oo ka yimid Intel Xeon E312xx oo xitaa wuu barafobi karaa.

Maxaa hadda ka maqan? Dib ugu noqoshada degdega ah nuqulkii hore (kama hadlayno RS) adoon tagin hagaha. Intaa waxaa dheer, soo kabashada waxay ku dhacdaa oo keliya wadarta guud kheyraadka: haddii aad tirtirto sharraxaadda ama calaamadda, waa inaad tirtirtaa oo aad soo celisaa dhammaan kheyraadka (halkan waa meesha aad u baahan tahay inaad tagto buug-tusaha). Wax yar oo kale - ma jirto taariikh ku filan "kaabayaal" sidan oo kale ah.

PS

Sidoo kale ka akhri boggayaga:

Source: www.habr.com

Add a comment