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:
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.)
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.
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 "?".
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:
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:
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.
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:
(Gellir golygu, newid, gwneud pob un o'r adnoddau hyn describe.)
A dyma Deployment with Ingress:
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).
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):
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:
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):
... 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:
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.
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:
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 ...
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".
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.
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):
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:
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.