Tirohanga o k9s - he atanga tauranga matatau mo Kubernetes

Tirohanga o k9s - he atanga tauranga matatau mo Kubernetes

K9s ka whakarato i tetahi atanga kaiwhakamahi mutunga mo te taunekeneke me nga tautau Kubernetes. Ko te whainga o tenei kaupapa Open Source he ngawari ki te whakatere, ki te aro turuki me te whakahaere i nga tono i roto i nga K8s. Ka aro turuki tonu a K9s i nga huringa i roto i nga Kubernetes me te tuku whakahau tere ki te mahi me nga rauemi kua aro turukihia.

Kua tuhia te kaupapa ki te reo Haere, kua neke atu i te kotahi tau me te haurua: ko te tuunga tuatahi i mahia i te Hui-tanguru 1, 2019. I te wa e tuhi ana, 9000+ nga whetu kei runga GitHub me te tata ki te 80 nga kaikoha. Kia kite tatou he aha te mahi a k9s?

Te whakaurunga me te whakarewatanga

He kiritaki tenei (e pa ana ki te roopu Kubernetes) he maamaa te whakahaere hei ahua Docker:

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

Mo etahi tohatoha Linux me etahi atu punaha whakahaere, kua reri ano ki te whakauru putea. I te nuinga o te waa, mo nga punaha Linux, ka taea e koe te whakauru i tetahi konae takirua:

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

Kaore he whakaritenga motuhake mo te roopu K8s ake. Ma te whakatau i nga arotake, ka mahi ano te tono me nga putanga tawhito o Kubernetes penei i te 1.12.

Ka whakarewahia te tono ma te whakamahi i te whirihora paerewa .kube/config - he rite ki tana mahi kubectl.

Takahanga

Ma te taunoa, ka tuwhera he matapihi me te mokowāingoa taunoa kua tohua mo te horopaki. Arā, mena i tuhi koe kubectl config set-context --current --namespace=test, ka tuwhera te mokowā ingoa test. (Tirohia ki raro mo te huri i nga horopaki/mokowāingoa.)

Tirohanga o k9s - he atanga tauranga matatau mo Kubernetes

Haere ki aratau whakahau ka mahia ma te pehi ":". I muri i tera, ka taea e koe te whakahaere i nga mahi o nga k9s ma te whakamahi i nga whakahau - hei tauira, ki te tiro i te rarangi o StatefulSets (i te waahi ingoa o naianei), ka taea e koe te whakauru. :sts.

Tirohanga o k9s - he atanga tauranga matatau mo Kubernetes

Mo etahi atu rauemi Kubernetes:

  • :ns — mokowā ingoa;
  • :deploy — Nga tukunga;
  • :ing — Nga whakaurunga;
  • :svc — Ratonga.

Hei whakaatu i te rarangi katoa o nga momo rauemi e waatea ana hei tiro, he tono :aliases.

He watea hoki ki te tiro i te rarangi o nga whakahau e waatea ana ma nga huinga matua wera i roto i te matapihi o naianei: ki te mahi i tenei, paato noa "?".

Tirohanga o k9s - he atanga tauranga matatau mo Kubernetes

Kei roto ano i nga k9s kei reira aratau rapu, ki te haere ki te mea he nui ki te whakauru "/". Ma te reira, ka mahia he rapunga mo nga mea o te "matapihi" o naianei. Me kii mena kua uru koe i mua :ns, kei a koe he rarangi ingoa mokowhiti kua tuwhera. Mena he maha rawa o raatau, na kia kaua e panuku ki raro mo te wa roa, he nui ki te whakauru ki te matapihi me nga ingoa ingoa. /mynamespace.

Ki te rapu ma te tapanga, ka taea e koe te kowhiri i nga putunga katoa i roto i te mokowāingoa e hiahiatia ana, ka uru, hei tauira, / -l app=whoami. Ka whiwhi tatou i te rarangi o nga pene me tenei tapanga:

Tirohanga o k9s - he atanga tauranga matatau mo Kubernetes

Ka mahi te rapunga ki nga momo matapihi katoa, tae atu ki nga raarangi, te maataki i nga whakaaturanga YAML, me te describe mo nga rauemi - tirohia i raro mo etahi atu korero mo enei ahuatanga.

He aha te ahua o te rerenga whakatere whanui?

Ma te whakahau :ctx ka taea e koe te kowhiri i tetahi horopaki:

Tirohanga o k9s - he atanga tauranga matatau mo Kubernetes

Hei whiriwhiri i tetahi mokowā ingoa, kei reira te whakahau kua whakahuahia :ns, ka taea e koe te whakamahi i te rapu mo te waahi e hiahiatia ana: /test.

Mena ka kowhiria e matou te rauemi e pai ana ki a matou (hei tauira, ko taua StatefulSet), ka puta nga korero e pa ana ki a ia: e hia nga poti e rere ana me nga korero poto mo ratou.

Tirohanga o k9s - he atanga tauranga matatau mo Kubernetes

Ko nga peera anake ka pai - katahi ka nui te uru :pod. Mo te ConfigMaps (:cm - mo te rarangi o enei rauemi), ka taea e koe te kowhiri i te mea e pai ana ka paato i te "u", katahi ka korero a K9s ko wai e whakamahi ana (tenei CM).

Ko tetahi atu waahanga pai mo te tiro rauemi ko to raatau "X-ray" (Tirohanga Xray). Ka karangahia tenei aratau e te whakahau :xray RESOURCE a ... he ngawari ake te whakaatu me pehea te mahi i te whakamarama. Anei he whakaahua mo StatefulSets:

Tirohanga o k9s - he atanga tauranga matatau mo Kubernetes
(Ka taea e ia o enei rauemi te whakatika, te whakarereke, te hanga describe.)

Anei te Whakamahinga me Ingress:

Tirohanga o k9s - he atanga tauranga matatau mo Kubernetes

Te mahi me nga rauemi

Ka taea e koe te tiki korero mo ia rauemi i roto i te YAML me ona describe mā te pēhi i ngā pokatata papapātuhi e hāngai ana (“y” me “d”, tēnā). Ae ra, he maha atu nga mahi taketake: ko o raatau rarangi me nga pokatata papapātuhi ka kitea tonu he mihi ki te "pane" watea i roto i te atanga (huna ma te pehi Ctrl + e).

Tirohanga o k9s - he atanga tauranga matatau mo Kubernetes

I te wa e whakatika ana i tetahi rauemi ("e" i muri i tana kowhiringa), ka whakatuwherahia te ētita kuputuhi kua tautuhia ki nga taurangi taiao (export EDITOR=vim).

Anei te ahua o te whakamaarama taipitopito o te rauemi (describe):

Tirohanga o k9s - he atanga tauranga matatau mo Kubernetes

Ko tenei putanga (te putanga ranei o te tiro i te whakaaturanga rauemi YAML) ka taea te tiaki ma te whakamahi i te pokatata papapātuhi mohio Ctrl + s. Ko te waahi ka tiakina ka mohiotia mai i te karere K9s:

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

Ka taea hoki e koe te whakaora rauemi mai i nga konae taapiri i hangaia, i muri i te tango i nga tapanga punaha me nga korero. Ki te mahi i tenei, me haere koe ki te whaiaronga me ratou (:dir /tmp), ka tohua te konae e hiahiatia ana ka tono apply.

Ma te ara, i nga wa katoa ka taea e koe te hoki ki te ReplicaSet o mua mena he raru kei te waa. Hei mahi i tenei, tohua te RS e hiahiatia ana (:rs mo ta ratou rarangi ingoa):

Tirohanga o k9s - he atanga tauranga matatau mo Kubernetes

... ka huri whakamuri me Ctrl + l. Me whiwhi whakamohiotanga kua pai nga mea katoa:

k9s/whoami-5cfbdbb469 successfully rolled back

A ki te tauine i nga tauira, paato noa i te "s" (tauine) ka kowhiri i te maha o nga tauira e hiahiatia ana:

Tirohanga o k9s - he atanga tauranga matatau mo Kubernetes

Ka taea e koe te whakauru i tetahi o nga ipu ma te whakamahi i te anga: ki te mahi i tenei, haere ki te peera e hiahiatia ana, paatohia te "s" (anga) ka kowhiri i te ipu.

Ētahi atu āhuatanga

Ko te tikanga, kei te tautokohia te tirotiro i nga raarangi ("l" mo te rauemi kua tohua). A, ki te maataki i nga raarangi hou, kaore he take ki te pehi tonu i te Whakauru: he nui ki te tohu ("m"), katahi ka whai i nga karere hou.

Tirohanga o k9s - he atanga tauranga matatau mo Kubernetes

I roto ano i te matapihi ano, ka taea e koe te kowhiri i te awhe wa mo te putanga o nga raarangi:

  • kī "1" - mo te 1 meneti;
  • "2" - 5 meneti;
  • "3" - 15 meneti;
  • "4" - 30 meneti;
  • "5" - 1 haora;
  • "0" - mo te ora katoa o te pākākano.

Aratau whakahaere motuhake Pulse (whakahau :pulse) e whakaatu ana i nga korero whanui mo te roopu Kubernetes:

Tirohanga o k9s - he atanga tauranga matatau mo Kubernetes

Kei roto ka kite koe i te maha o nga rauemi me o raatau mana (e whakaatu ana te matomato i nga mea kei a raatau te mana Running).

Ko tetahi atu ahuatanga pai o K9s ka kiia Tuhinga. Ka tirotirohia e ia nga rauemi katoa mo etahi paearu tika me te whakaatu i te "whakatauranga" me nga whakamaramatanga. Hei tauira, ka kite koe he iti rawa nga tauira, he rohe ranei, ka rere etahi ipu hei pakiaka ...

Tirohanga o k9s - he atanga tauranga matatau mo Kubernetes

He tautoko taketake mo Helm. Hei tauira, penei me pehea e kite ai koe i nga tukunga kua horahia ki te tautau:

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

Benchmark

Ahakoa i hangaia ki nga K9 hey he kaiwhakaputa kawenga tūmau HTTP ngawari, he rereke ki te ab rongonui ake (ApacheBench).

Kia taea ai, me whakahoe te tauranga-whakamua i roto i te pākākano. Ki te mahi i tenei, tohua te pona ka pehi i te Shift + f, haere ki te tahua-a-mua ma te whakamahi i te ingoa "pf".

Tirohanga o k9s - he atanga tauranga matatau mo Kubernetes

I muri i te kowhiri i te tauranga me te pehi Ctrl + b, ka timata te tohu tohu. Ko nga hua o ana mahi ka rongoa ki roto /tmp a kei te waatea mo te maataki i muri mai i nga K9s.

Tirohanga o k9s - he atanga tauranga matatau mo Kubernetes
Tirohanga o k9s - he atanga tauranga matatau mo Kubernetes

Hei huri i te whirihoranga o te tohu tohu, me hanga e koe he konae $HOME/.k9s/bench-<my_context>.yml (kua whakaritea mo ia tautau).

NB: He mea nui te toronga o nga konae YAML katoa ki roto i te raarangi .k9s i tino rite .yml (.yaml kaore e mahi tika).

Tauira whirihoranga:

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

atanga

Ko te ahua o nga pou mo nga rarangi rauemi ka whakarereketia ma te hanga i tetahi konae $HOME/.k9s/views.yml. He tauira o ona ihirangi:

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

Pono, he iti rawa te pou mo nga tapanga, kei reira take i roto i te kaupapa.

Ko te whakariterite ma nga pou ka mahia e nga pokatata papapātuhi:

  • Huri + n - mā te ingoa;
  • Huri + o - mā ngā kōpuku;
  • Huri + i - mā te IP;
  • Huri + a - i te wa e ora ana te ipu;
  • Huri + t - ma te maha o nga whakaara ano;
  • Huri + r - mā te tūnga rite;
  • Huri + c - ma te kohi CPU;
  • Huri + m - ma te kohi mahara.

Mena kaore tetahi e pai ki te kaupapa tae taunoa, ka tautokohia e K9s hiako. Ko nga tauira kua rite (e 7 nga waahanga) e waatea ana konei. Anei tetahi tauira o tetahi o enei hiako (i roto i te navy):

Tirohanga o k9s - he atanga tauranga matatau mo Kubernetes

monomai

Hei whakamutunga monomai tukua koe ki te whakawhānui i te kaha o K9s. Ko ahau ano i whakamahi kotahi anake i roto i aku mahi - kubectl get all -n $namespace.

He penei te ahua. Waihangatia he kōnae $HOME/.k9s/plugin.yml me nga ihirangi penei:

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"

Inaianei ka taea e koe te haere ki te mokowāingoa ka pēhi i te "g" ki te mahi me te whakahau e rite ana:

Tirohanga o k9s - he atanga tauranga matatau mo Kubernetes

I roto i nga mono kei reira, hei tauira, te whakauru ki te kubectl-jq me tetahi taputapu mo te tiro i nga raarangi. whetu.

mutunga

Mo taku reka, ko nga K9 i puta he tino watea ki te mahi: ka taea e koe te tere ki te rapu i nga mea katoa e hiahia ana koe me te kore e whakamahi. kubectl. I pai ahau ki te tirohanga o nga rakau me o raatau penapena, tere tere o nga rauemi, te tere o te mahi i roto i te whanui *, ka puta ke te whai hua o te aratau Popeye. Ko te korero motuhake ko te kaha ki te hanga monomai me te whakarereke i te tono kia pai ki o hiahia.

* Ahakoa, me te nui o nga pororakau, i kite ano ahau i te puhoi o te mahi a nga K9. I enei wa, ka "kai" te taputapu e 2 nga matua mai i te Intel Xeon E312xx ka taea hoki te whakatio.

He aha kei te ngaro i tenei wa? Ka hoki tere ki te putanga o mua (kaore matou e korero mo te RS) me te kore e haere ki te raarangi. I tua atu, ka puta te whakaoranga mo anake katoa rauemi: ki te mukua e koe he tuhipoka, tapanga ranei, me muku me te whakahoki ano i te rauemi katoa (koinei me haere koe ki te raarangi). Ko tetahi atu mea iti - kaore he ra rawaka mo nga "purua" kua tiakina.

PS

Pānuihia hoki i runga i ta maatau blog:

Source: will.com

Tāpiri i te kōrero