Trosolwg o k9s - rhyngwyneb terfynell uwch ar gyfer Kubernetes

Trosolwg o k9s - rhyngwyneb terfynell uwch ar gyfer Kubernetes

K9s yn darparu rhyngwyneb defnyddiwr terfynol ar gyfer rhyngweithio â chlystyrau Kubernetes. Nod y prosiect Ffynhonnell Agored hwn yw ei gwneud hi'n hawdd llywio, monitro a rheoli cymwysiadau yn K8s. Mae K9s yn monitro newidiadau yn Kubernetes yn gyson ac yn cynnig gorchmynion cyflym i weithio gydag adnoddau wedi'u monitro.

Mae'r prosiect wedi'i ysgrifennu yn Go ac mae wedi bod o gwmpas ers dros flwyddyn a hanner: gwnaed yr ymrwymiad cyntaf ar Chwefror 1, 2019. Ar adeg ysgrifennu hwn, mae 9000+ o sêr ymlaen GitHub a thua 80 o gyfranwyr. Gawn ni weld beth all k9s ei wneud?

Gosod a lansio

Mae hwn yn gymhwysiad cleient (mewn perthynas â chlwstwr Kubernetes) sydd hawsaf i'w redeg fel delwedd Docker:

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

Ar gyfer rhai dosbarthiadau Linux a systemau gweithredu eraill, mae yna hefyd barod i'w gosod pecynnau. Yn gyffredinol, ar gyfer systemau Linux, gallwch osod ffeil ddeuaidd:

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

Nid oes unrhyw ofynion penodol ar gyfer clwstwr K8s ei hun. A barnu yn ôl yr adolygiadau, mae'r rhaglen hefyd yn gweithio gyda fersiynau hŷn o Kubernetes fel 1.12.

Mae'r cais yn cael ei lansio gan ddefnyddio'r ffurfwedd safonol .kube/config - yn debyg i sut y mae'n ei wneud kubectl.

Navigation

Yn ddiofyn, mae ffenestr yn agor gyda'r gofod enw rhagosodedig a nodir ar gyfer y cyd-destun. Hynny yw, pe baech yn ysgrifennu kubectl config set-context --current --namespace=test, yna bydd y gofod enw yn agor test. (Gweler isod am gyd-destunau newidiol/gofodau enwau.)

Trosolwg o k9s - rhyngwyneb terfynell uwch ar gyfer Kubernetes

Mynd i modd gorchymyn yn cael ei wneud trwy wasgu ":". Ar ôl hynny, gallwch reoli gweithrediad k9s gan ddefnyddio gorchmynion - er enghraifft, i weld y rhestr o StatefulSets (yn y gofod enw cyfredol), gallwch chi nodi :sts.

Trosolwg o k9s - rhyngwyneb terfynell uwch ar gyfer Kubernetes

Ar gyfer rhai adnoddau Kubernetes eraill:

  • :ns — gofodau enwau;
  • :deploy — Gosodiadau;
  • :ing — Yn dod i mewn;
  • :svc —Gwasanaethau.

I arddangos rhestr gyflawn o'r mathau o adnoddau sydd ar gael i'w gweld, mae gorchymyn :aliases.

Mae hefyd yn gyfleus i weld y rhestr o orchmynion sydd ar gael trwy gyfuniadau allweddol poeth o fewn y ffenestr gyfredol: i wneud hyn, cliciwch ar "?".

Trosolwg o k9s - rhyngwyneb terfynell uwch ar gyfer Kubernetes

Hefyd mewn k9s mae modd chwilio, i fynd y mae'n ddigon i fynd i mewn "/". Ag ef, cynhelir chwiliad ar gynnwys y "ffenestr" gyfredol. Gadewch i ni ddweud a wnaethoch chi gofrestru o'r blaen :ns, mae gennych restr o ofodau enwau ar agor. Os oes gormod ohonyn nhw, yna er mwyn peidio â sgrolio i lawr am amser hir, mae'n ddigon i fynd i mewn i'r ffenestr gyda bylchau enwau /mynamespace.

I chwilio yn ôl labeli, gallwch ddewis pob cod yn y gofod enw a ddymunir, yna nodwch, er enghraifft, / -l app=whoami. Byddwn yn cael rhestr o godennau gyda'r label hwn:

Trosolwg o k9s - rhyngwyneb terfynell uwch ar gyfer Kubernetes

Mae'r chwiliad yn gweithio mewn pob math o ffenestri, gan gynnwys logiau, gwylio maniffestau YAML, a describe am adnoddau - gweler isod am ragor o fanylion am y nodweddion hyn.

Sut olwg sydd ar y llif llywio cyffredinol?

Gan ddefnyddio'r gorchymyn :ctx gallwch ddewis cyd-destun:

Trosolwg o k9s - rhyngwyneb terfynell uwch ar gyfer Kubernetes

I ddewis gofod enw, mae'r gorchymyn a grybwyllwyd eisoes :ns, ac yna gallwch ddefnyddio'r chwiliad am y gofod a ddymunir: /test.

Os byddwn yn awr yn dewis yr adnodd y mae gennym ddiddordeb ynddo (er enghraifft, yr un StatefulSet), bydd y wybodaeth gyfatebol yn ymddangos ar ei gyfer: faint o godennau sy'n rhedeg gyda gwybodaeth gryno amdanynt.

Trosolwg o k9s - rhyngwyneb terfynell uwch ar gyfer Kubernetes

Dim ond codennau all fod o ddiddordeb - yna mae'n ddigon i fynd i mewn :pod. Yn achos ConfigMaps (:cm - ar gyfer y rhestr o'r adnoddau hyn), gallwch ddewis y gwrthrych o ddiddordeb a chlicio ar "u", ac ar ôl hynny bydd K9s yn dweud wrthych pwy sy'n ei ddefnyddio'n benodol (y CM hwn).

Nodwedd ddefnyddiol arall ar gyfer gwylio adnoddau yw eu "pelydr-x" (gwedd pelydr-X). Gelwir y modd hwn gan y gorchymyn :xray RESOURCE ac ... mae'n haws dangos sut mae'n gweithio nag i egluro. Dyma enghraifft ar gyfer StatefulSets:

Trosolwg o k9s - rhyngwyneb terfynell uwch ar gyfer Kubernetes
(Gellir golygu, newid, gwneud pob un o'r adnoddau hyn describe.)

A dyma Deployment with Ingress:

Trosolwg o k9s - rhyngwyneb terfynell uwch ar gyfer Kubernetes

Gweithio gydag adnoddau

Gallwch gael gwybodaeth am bob adnodd yn YAML neu ei describe trwy wasgu'r llwybrau byr bysellfwrdd cyfatebol (“y” a “d”, yn y drefn honno). Wrth gwrs, mae yna weithrediadau hyd yn oed yn fwy sylfaenol: mae eu rhestr a'u llwybrau byr bysellfwrdd bob amser yn weladwy diolch i "bennawd" cyfleus yn y rhyngwyneb (wedi'i guddio trwy wasgu Ctrl + e).

Trosolwg o k9s - rhyngwyneb terfynell uwch ar gyfer Kubernetes

Wrth olygu unrhyw adnodd ("e" ar ôl ei ddewis), agorir y golygydd testun a ddiffinnir yn y newidynnau amgylchedd (export EDITOR=vim).

A dyma sut olwg sydd ar y disgrifiad manwl o'r adnodd (describe):

Trosolwg o k9s - rhyngwyneb terfynell uwch ar gyfer Kubernetes

Gellir arbed yr allbwn hwn (neu allbwn gwylio maniffest adnoddau YAML) gan ddefnyddio'r llwybr byr bysellfwrdd cyfarwydd Ctrl + s. Bydd yn hysbys o'r neges K9s ymhle y bydd yn cael ei chadw:

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

Gallwch hefyd adfer adnoddau o'r ffeiliau wrth gefn a grëwyd, ar ôl tynnu labeli system ac anodiadau. I wneud hyn, mae angen i chi fynd i'r cyfeiriadur gyda nhw (:dir /tmp), yna dewiswch y ffeil a ddymunir a gwnewch gais apply.

Gyda llaw, ar unrhyw adeg gallwch rolio'n ôl i'r ReplicaSet blaenorol os oes problemau gyda'r un presennol. I wneud hyn, dewiswch yr RS a ddymunir (:rs ar gyfer eu rhestr):

Trosolwg o k9s - rhyngwyneb terfynell uwch ar gyfer Kubernetes

... a treigl yn ôl gyda Ctrl+l. Dylem gael hysbysiad bod popeth wedi mynd yn dda:

k9s/whoami-5cfbdbb469 successfully rolled back

Ac i raddio'r atgynyrchiadau, cliciwch ar y "s" (graddfa) a dewiswch y nifer a ddymunir o achosion:

Trosolwg o k9s - rhyngwyneb terfynell uwch ar gyfer Kubernetes

Gallwch chi fynd i mewn i unrhyw un o'r cynwysyddion gan ddefnyddio'r gragen: i wneud hyn, ewch i'r pod a ddymunir, cliciwch ar "s" (cragen) a dewiswch y cynhwysydd.

Nodweddion eraill

Wrth gwrs, cefnogir gwylio logiau hefyd ("l" ar gyfer yr adnodd a ddewiswyd). Ac er mwyn gwylio logiau newydd, nid oes angen pwyso Enter yn gyson: mae'n ddigon i farcio (“m”), ac yna dim ond olrhain negeseuon newydd.

Trosolwg o k9s - rhyngwyneb terfynell uwch ar gyfer Kubernetes

Hefyd yn yr un ffenestr, gallwch ddewis yr ystod amser ar gyfer allbwn y logiau:

  • allwedd "1" - am 1 munud;
  • "2" - 5 munud;
  • "3" - 15 munud;
  • "4" - 30 munud;
  • "5" - 1 awr;
  • "0" - am oes gyfan y pod.

Modd gweithredu arbennig Pulse (gorchymyn :pulse) yn dangos gwybodaeth gyffredinol am glwstwr Kubernetes:

Trosolwg o k9s - rhyngwyneb terfynell uwch ar gyfer Kubernetes

Ynddo gallwch weld nifer yr adnoddau a'u statws (dangosiadau gwyrdd y rhai sydd â'r statws Running).

Gelwir nodwedd oer arall o K9s Popeye. Mae'n gwirio'r holl adnoddau ar gyfer meini prawf penodol o gywirdeb ac yn dangos y "graddfa" canlyniadol gydag esboniadau. Er enghraifft, gallwch weld nad oes digon o samplau neu derfynau, a gall rhai cynhwysydd redeg fel gwraidd ...

Trosolwg o k9s - rhyngwyneb terfynell uwch ar gyfer Kubernetes

Mae cymorth Helm sylfaenol. Er enghraifft, dyma sut y gallwch weld y datganiadau a ddefnyddir yn y clwstwr:

:helm all # все
:helm $namespace # в конкретном пространстве имен

Meincnod

Hyd yn oed wedi'i adeiladu i mewn i K9s hey yn generadur llwyth gweinydd HTTP syml, dewis arall i'r ab mwy adnabyddus (ApacheBench).

Er mwyn ei alluogi, mae angen i chi alluogi port-forward yn y pod. I wneud hyn, dewiswch y pod a gwasgwch Shift + f, ewch i'r is-ddewislen port-ymlaen gan ddefnyddio'r alias "pf".

Trosolwg o k9s - rhyngwyneb terfynell uwch ar gyfer Kubernetes

Ar ôl dewis y porthladd a phwyso Ctrl + b, bydd y meincnod ei hun yn cychwyn. Cedwir canlyniadau ei waith yn /tmp ac maent ar gael i'w gweld yn ddiweddarach yn K9s.

Trosolwg o k9s - rhyngwyneb terfynell uwch ar gyfer Kubernetes
Trosolwg o k9s - rhyngwyneb terfynell uwch ar gyfer Kubernetes

I newid cyfluniad y meincnod, mae angen i chi greu ffeil $HOME/.k9s/bench-<my_context>.yml (penderfynir ar gyfer pob clwstwr).

DS: Mae'n bwysig ymestyn holl ffeiliau YAML mewn cyfeiriadur .k9s yr oedd yn union .yml (.yaml ddim yn gweithio'n gywir).

Enghraifft ffurfweddu:

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

rhyngwyneb

Mae ymddangosiad colofnau ar gyfer rhestrau o adnoddau yn cael ei addasu trwy greu ffeil $HOME/.k9s/views.yml. Enghraifft o'i gynnwys:

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

Gwir, nid oes digon o golofn ar gyfer labeli, y mae ar eu cyfer mater yn y prosiect.

Mae didoli yn ôl colofnau yn cael ei wneud gan lwybrau byr bysellfwrdd:

  • Shift + n - yn ôl enw;
  • Shift + o - gan nodau;
  • Shift + i - gan IP;
  • Shift + a - erbyn oes y cynhwysydd;
  • Shift + t - yn ôl y nifer o ailgychwyn;
  • Shift + r - yn ôl statws parodrwydd;
  • Shift + c - yn ôl defnydd CPU;
  • Shift + m - yn ôl defnydd cof.

Os nad yw rhywun yn hoffi'r cynllun lliw rhagosodedig, mae K9s hyd yn oed yn cefnogi crwyn. Mae enghreifftiau parod (7 darn) ar gael yma. Dyma enghraifft o un o'r crwyn hyn (yn y llynges):

Trosolwg o k9s - rhyngwyneb terfynell uwch ar gyfer Kubernetes

Ategion

O'r diwedd ategion caniatáu i chi ehangu galluoedd K9s. Dw i fy hun wedi defnyddio dim ond un ohonyn nhw yn fy ngwaith - kubectl get all -n $namespace.

Mae'n edrych fel hyn. Creu ffeil $HOME/.k9s/plugin.yml gyda chynnwys fel hyn:

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"

Nawr gallwch chi fynd i'r gofod enw a phwyso "g" i weithredu gyda'r gorchymyn cyfatebol:

Trosolwg o k9s - rhyngwyneb terfynell uwch ar gyfer Kubernetes

Ymhlith yr ategion mae, er enghraifft, integreiddiadau â kubectl-jq a chyfleustodau ar gyfer gwylio logiau braidd.

Casgliad

Er fy chwaeth i, roedd K9s yn gyfleus iawn i weithio gyda nhw: gallwch chi ddod i arfer yn gyflym â chwilio am bopeth sydd ei angen arnoch heb ei ddefnyddio. kubectl. Roeddwn yn falch gyda barn y logiau a'u harbed, golygu cyflym o adnoddau, cyflymder y gwaith yn gyffredinol *, y modd Popeye drodd allan i fod yn ddefnyddiol. Sylw arbennig yw'r gallu i greu ategion ac addasu'r rhaglen i gyd-fynd â'ch anghenion.

* Er, gyda nifer fawr o foncyffion, sylwais hefyd ar weithrediad araf K9s. Ar adegau o'r fath, roedd y cyfleustodau'n "bwyta" 2 graidd o'r Intel Xeon E312xx a gallai hyd yn oed rewi.

Beth sydd ar goll ar hyn o bryd? Dychweliad cyflym i'r fersiwn flaenorol (nid ydym yn sôn am RS) heb fynd i'r cyfeiriadur. Yn ogystal, mae adferiad yn digwydd yn unig ar gyfer yn unig adnodd: os byddwch yn dileu anodiad neu label, bydd yn rhaid i chi ddileu ac adfer yr adnodd cyfan (dyma lle mae angen i chi fynd i'r cyfeiriadur). Treiffl arall - nid oes digon o ddyddiad ar gyfer "copïau wrth gefn" o'r fath sydd wedi'u cadw.

PS

Darllenwch hefyd ar ein blog:

Ffynhonnell: hab.com

Ychwanegu sylw