Sealladh farsaing air k9s - eadar-aghaidh crìochnachaidh adhartach airson Kubernetes

Sealladh farsaing air k9s - eadar-aghaidh crìochnachaidh adhartach airson Kubernetes

K9s a’ toirt seachad eadar-aghaidh cleachdaiche deireannach airson eadar-obrachadh le cruinneachaidhean Kubernetes. Is e amas a’ phròiseict Open Source seo a dhèanamh furasta a bhith a’ seòladh, a’ cumail sùil air agus a’ riaghladh thagraidhean ann an K8n. Bidh K9s an-còmhnaidh a’ cumail sùil air atharrachaidhean ann an Kubernetes agus a’ tabhann òrdughan sgiobalta airson obrachadh le goireasan sgrùdaichte.

Tha am pròiseact sgrìobhte ann an Go agus tha e air a bhith timcheall airson còrr air bliadhna gu leth: chaidh a’ chiad ghealladh a dhèanamh air 1 Gearran, 2019. Aig àm sgrìobhaidh, tha còrr air 9000 rionnag air adhart GitHub agus mu 80 com-pàirtiche. Feuch am faic sinn dè as urrainn dha k9s a dhèanamh?

Stàladh agus cur air bhog

Is e seo tagradh teachdaiche (a thaobh cruinneachadh Kubernetes) a tha nas fhasa a ruith mar ìomhaigh Docker:

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

Airson cuid de sgaoilidhean Linux agus siostaman obrachaidh eile, tha deiseil airson stàladh cuideachd пакеты. San fharsaingeachd, airson siostaman Linux, faodaidh tu faidhle dà-chànanach a stàladh:

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

Chan eil riatanasan sònraichte ann airson buidheann K8s fhèin. A ’breithneachadh leis na lèirmheasan, bidh an tagradh cuideachd ag obair le dreachan nas sine de Kubernetes leithid 1.12.

Tha an tagradh air a chuir air bhog a’ cleachdadh an config àbhaisteach .kube/config - coltach ri mar a tha e kubectl.

Seòladh

Gu gnàthach, bidh uinneag a’ fosgladh leis an ainm-àite bunaiteach a chaidh a shònrachadh airson a’ cho-theacsa. Is e sin, ma sgrìobh thu kubectl config set-context --current --namespace=test, an uairsin fosglaidh an t-ainm-àite test. (Faic gu h-ìosal airson co-theacsan/ainmean atharrachadh.)

Sealladh farsaing air k9s - eadar-aghaidh crìochnachaidh adhartach airson Kubernetes

Rach gu modh àithne air a dhèanamh le putadh air ":". Às deidh sin, faodaidh tu smachd a chumail air gnìomhachd k9s le bhith a ’cleachdadh òrdughan - mar eisimpleir, gus an liosta StatefulSets fhaicinn (anns an ainm-àite gnàthach), faodaidh tu cuir a-steach :sts.

Sealladh farsaing air k9s - eadar-aghaidh crìochnachaidh adhartach airson Kubernetes

Airson cuid de ghoireasan Kubernetes eile:

  • :ns - ainmean-àite;
  • :deploy - cleachdadh;
  • :ing - a-steach;
  • :svc — Seirbheisean.

Gus liosta iomlan de na seòrsaichean ghoireasan a tha rim faicinn a thaisbeanadh, tha òrdugh ann :aliases.

Tha e cuideachd goireasach an liosta òrdughan a tha rim faighinn le measgachadh iuchair teth fhaicinn taobh a-staigh na h-uinneige gnàthach: gus seo a dhèanamh, dìreach cliog air "?".

Sealladh farsaing air k9s - eadar-aghaidh crìochnachaidh adhartach airson Kubernetes

Cuideachd ann an k9s tha modh lorg, gus a dhol chun a tha e gu leòr a dhol a-steach "/". Leis, thèid sgrùdadh a dhèanamh air susbaint na “uinneige” gnàthach. Canaidh sinn ma chaidh thu a-steach roimhe seo :ns, tha liosta de dh'ainmean fosgailte agad. Ma tha cus dhiubh ann, an uairsin gus nach gluais thu sìos airson ùine mhòr, tha e gu leòr a dhol a-steach don uinneig le ainmean-àite /mynamespace.

Gus sgrùdadh a dhèanamh le bileagan, faodaidh tu a h-uile pod a thaghadh anns an àite ainm a tha thu ag iarraidh, an uairsin cuir a-steach, mar eisimpleir, / -l app=whoami. Gheibh sinn liosta de pods leis an leubail seo:

Sealladh farsaing air k9s - eadar-aghaidh crìochnachaidh adhartach airson Kubernetes

Bidh an sgrùdadh ag obair anns a h-uile seòrsa uinneag, a’ toirt a-steach logaichean, coimhead air taisbeanaidhean YAML, agus describe airson goireasan - faic gu h-ìosal airson tuilleadh fiosrachaidh mu na feartan sin.

Cò ris a tha an sruth seòlaidh iomlan coltach?

Leis an àithne :ctx faodaidh tu co-theacsa a thaghadh:

Sealladh farsaing air k9s - eadar-aghaidh crìochnachaidh adhartach airson Kubernetes

Gus àite-ainm a thaghadh, tha an àithne a chaidh ainmeachadh mar-thà :ns, agus an uairsin faodaidh tu an rannsachadh airson an àite a tha thu ag iarraidh a chleachdadh: /test.

Ma thaghas sinn an goireas anns a bheil ùidh againn a-nis (mar eisimpleir, an aon StatefulSet), nochdaidh am fiosrachadh co-fhreagarrach air a shon: cia mheud pod a tha a’ ruith le fiosrachadh goirid mun deidhinn.

Sealladh farsaing air k9s - eadar-aghaidh crìochnachaidh adhartach airson Kubernetes

Is dòcha gum bi ùidh aig pods a-mhàin - an uairsin tha e gu leòr airson a dhol a-steach :pod. A thaobh ConfigMaps (:cm - airson liosta nan goireasan sin), faodaidh tu an rud anns a bheil ùidh a thaghadh agus cliog air “u”, agus às deidh sin innsidh K9s dhut cò a bhios ga chleachdadh gu sònraichte (an CM seo).

Is e feart feumail eile airson coimhead air goireasan an cuid "x-ray" (sealladh Xray). Canar am modh seo leis an àithne :xray RESOURCE agus ... tha e nas fhasa sealltainn mar a tha e ag obair na bhith a mhìneachadh. Seo dealbh airson StatefulSets:

Sealladh farsaing air k9s - eadar-aghaidh crìochnachaidh adhartach airson Kubernetes
(Faodar gach aon de na goireasan sin a dheasachadh, atharrachadh, a dhèanamh describe.)

Agus seo cleachdadh le Ingress:

Sealladh farsaing air k9s - eadar-aghaidh crìochnachaidh adhartach airson Kubernetes

Ag obair le goireasan

Gheibh thu fiosrachadh mu gach goireas ann an YAML no a ghoireas describe le putadh air na h-ath-ghoiridean meur-chlàr co-fhreagarrach (“y” agus “d”, fa leth). Gu dearbh, tha gnìomhachd eadhon nas bunaitiche ann: tha an liosta agus na geàrr-liostaichean meur-chlàr aca an-còmhnaidh rim faicinn le taing do “header” goireasach san eadar-aghaidh (falaichte le putadh Ctrl + e).

Sealladh farsaing air k9s - eadar-aghaidh crìochnachaidh adhartach airson Kubernetes

Nuair a bhios tu a’ deasachadh goireas sam bith (“e” às deidh a thaghadh), thèid an deasaiche teacsa a tha air a mhìneachadh ann an caochladairean na h-àrainneachd fhosgladh (export EDITOR=vim).

Agus seo cò ris a tha an tuairisgeul mionaideach air a’ ghoireas coltach (describe):

Sealladh farsaing air k9s - eadar-aghaidh crìochnachaidh adhartach airson Kubernetes

Faodar an toradh seo (no an toradh bho bhith a’ coimhead air goireas YAML) a shàbhaladh le bhith a’ cleachdadh an ath-ghoirid meur-chlàr eòlach Ctrl + s. Bidh fios far an tèid a shàbhaladh bhon teachdaireachd K9s:

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

Faodaidh tu cuideachd goireasan a thoirt air ais bho na faidhlichean cùl-taic cruthaichte, às deidh dhut bileagan siostam agus notaichean a thoirt air falbh. Gus seo a dhèanamh, feumaidh tu a dhol dhan eòlaire còmhla riutha (:dir /tmp), an uairsin tagh am faidhle a tha thu ag iarraidh agus cuir a-steach apply.

Co-dhiù, aig àm sam bith faodaidh tu a dhol air ais chun ReplicaSet roimhe seo ma tha duilgheadasan ann leis an fhear a th’ ann an-dràsta. Gus seo a dhèanamh, tagh an RS a tha thu ag iarraidh (:rs airson an liosta):

Sealladh farsaing air k9s - eadar-aghaidh crìochnachaidh adhartach airson Kubernetes

... agus roll air ais le Ctrl + l. Bu chòir dhuinn fios fhaighinn gun deach a h-uile càil gu math:

k9s/whoami-5cfbdbb469 successfully rolled back

Agus gus na mac-samhail a sgèileadh, dìreach cliog air an "s" (sgèile) agus tagh an àireamh de shuidheachaidhean a tha thu ag iarraidh:

Sealladh farsaing air k9s - eadar-aghaidh crìochnachaidh adhartach airson Kubernetes

Faodaidh tu gin de na soithichean a chuir a-steach leis an t-slige: gus seo a dhèanamh, rachaibh chun pod a tha thu ag iarraidh, cliog air “s” (slige) agus tagh an soitheach.

Comharran eile

Gu dearbh, tha e cuideachd a 'toirt taic do bhith a' coimhead air logaichean ("l" airson an goireas taghte). Agus gus sùil a thoirt air logaichean ùra, chan eil feum air putadh air Enter gu cunbhalach: tha e gu leòr airson a chomharrachadh (“m”), agus an uairsin dìreach sùil a chumail air teachdaireachdan ùra.

Sealladh farsaing air k9s - eadar-aghaidh crìochnachaidh adhartach airson Kubernetes

Cuideachd san aon uinneag, faodaidh tu an raon ùine a thaghadh airson toradh nan logaichean:

  • iuchair "1" - airson 1 mhionaid;
  • "2" - 5 mionaidean;
  • "3" - 15 mionaidean;
  • "4" - 30 mionaidean;
  • "5" - 1 uair a thìde;
  • "0" - fad beatha a 'phoit.

Modh obrachaidh sònraichte Pulse (òrdugh :pulse) a’ sealltainn fiosrachadh coitcheann mu bhuidheann Kubernetes:

Sealladh farsaing air k9s - eadar-aghaidh crìochnachaidh adhartach airson Kubernetes

Ann, chì thu an àireamh de ghoireasan agus an inbhe (uaine a 'sealltainn an fheadhainn aig a bheil an inbhe Running).

Canar feart fionnar eile de K9s Popeye. Bidh e a’ sgrùdadh a h-uile goireas airson slatan-tomhais sònraichte de cheartachd agus a’ taisbeanadh an “rangachadh” a thig às le mìneachadh. Mar eisimpleir, chì thu nach eil gu leòr sampaill no crìochan ann, agus faodaidh cuid de shoitheach ruith mar fhreumh ...

Sealladh farsaing air k9s - eadar-aghaidh crìochnachaidh adhartach airson Kubernetes

Tha taic bunaiteach Helm. Mar eisimpleir, seo mar a chì thu na fiosan air an cleachdadh sa bhuidheann:

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

Slat-tomhais

Eadhon air a thogail a-steach do K9n Hey na ghineadair luchdan frithealaiche HTTP sìmplidh, roghainn eile an àite an ab as ainmeil (ApacheBench).

Gus a chomasachadh, feumaidh tu port-air adhart a chomasachadh sa pod. Gus seo a dhèanamh, tagh am pod agus brùth Shift + f, rach chun submenu port-forward a’ cleachdadh an alias “pf”.

Sealladh farsaing air k9s - eadar-aghaidh crìochnachaidh adhartach airson Kubernetes

Às deidh dhut am port a thaghadh agus Ctrl + b a bhrùthadh, tòisichidh an slat-tomhais fhèin. Tha toraidhean na h-obrach aige air an stòradh ann /tmp agus tha iad rim faicinn nas fhaide air adhart ann an K9s.

Sealladh farsaing air k9s - eadar-aghaidh crìochnachaidh adhartach airson Kubernetes
Sealladh farsaing air k9s - eadar-aghaidh crìochnachaidh adhartach airson Kubernetes

Gus rèiteachadh an t-slat-tomhais atharrachadh, feumaidh tu faidhle a chruthachadh $HOME/.k9s/bench-<my_context>.yml (air a dhearbhadh airson gach buidheann).

NB: Tha e cudromach gun leudaich a h-uile faidhle YAML ann an eòlaire .k9s bha e dìreach .yml (.yaml chan eil e ag obair ceart).

Eisimpleir rèiteachaidh:

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

eadar-aghaidh

Tha coltas cholbhan airson liostaichean ghoireasan air atharrachadh le bhith a’ cruthachadh faidhle $HOME/.k9s/views.yml. Eisimpleir den t-susbaint aige:

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

Fìor, chan eil colbh gu leòr ann airson bileagan, airson a bheil cùis sa phròiseact.

Bithear a’ rèiteachadh a rèir cholbhan le ath-ghoiridean meur-chlàr:

  • Shift + n - a rèir ainm;
  • Shift + o - le nodan;
  • Shift + i - le IP;
  • Shift + a - a rèir beatha an t-soithich;
  • Shift + t - leis an àireamh de ath-thòiseachadh;
  • Shift + r - le inbhe ullachaidh;
  • Shift + c - a rèir caitheamh CPU;
  • Shift + m - le caitheamh cuimhne.

Mura toil le cuideigin an sgeama dathan bunaiteach, tha K9n eadhon a’ toirt taic craiceann. Tha eisimpleirean deiseil (7 pìosan) rim faighinn an seo. Seo eisimpleir de aon de na craiceann sin (anns a' chabhlach):

Sealladh farsaing air k9s - eadar-aghaidh crìochnachaidh adhartach airson Kubernetes

Плагины

Mu dheireadh plugain leigeil leat comasan K9s a leudachadh. Cha do chleachd mi fhìn ach aon dhiubh nam obair - kubectl get all -n $namespace.

Tha e coltach ri seo. Cruthaich faidhle $HOME/.k9s/plugin.yml le susbaint mar seo:

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"

A-nis faodaidh tu a dhol chun àite-ainm agus brùth air “g” gus a chuir an gnìomh leis an àithne fhreagarrach:

Sealladh farsaing air k9s - eadar-aghaidh crìochnachaidh adhartach airson Kubernetes

Am measg nam plugins tha, mar eisimpleir, aonachadh le kubectl-jq agus goireas airson coimhead air logaichean sgaoileadh.

co-dhùnadh

Airson mo bhlas, bha K9n gu math goireasach airson obrachadh leis: faodaidh tu fàs cleachdte ri bhith a’ coimhead airson a h-uile dad a dh’ fheumas tu gun a bhith ga chleachdadh. kubectl. Bha mi toilichte le sealladh nan logaichean agus an sàbhaladh, deasachadh luath de ghoireasan, astar na h-obrach san fharsaingeachd *, thionndaidh am modh Popeye gu bhith feumail. Is e iomradh sònraichte an comas plugins a chruthachadh agus an tagradh atharrachadh gus freagairt air na feumalachdan agad.

* Ged, le àireamh mhòr de logaichean, mhothaich mi cuideachd gu robh gnìomhachd slaodach K9n. Aig na h-amannan sin, bha an goireas “ag ithe” 2 cores bhon Intel Xeon E312xx agus dh’ fhaodadh e eadhon reothadh.

Dè tha a dhìth an-dràsta? Rach air ais gu sgiobalta chun dreach roimhe (chan eil sinn a’ bruidhinn mu RS) gun a dhol don eòlaire. A bharrachd air an sin, chan eil ath-bheothachadh a 'tachairt ach airson iomlan goireas: ma sguabas tu às nota no leubail, feumaidh tu an goireas gu lèir a sguabadh às agus a thoirt air ais (seo far am feum thu a dhol dhan eòlaire). Trifle eile - chan eil ceann-latha gu leòr ann airson a leithid de “lethbhreacan-glèidhidh”.

PS

Leugh cuideachd air ar blog:

Source: www.habr.com

Cuir beachd ann