Chidule cha k9s - mawonekedwe apamwamba a Kubernetes

Chidule cha k9s - mawonekedwe apamwamba a Kubernetes

K9 ndi imapereka mawonekedwe ogwiritsira ntchito polumikizirana ndi magulu a Kubernetes. Cholinga cha pulojekitiyi ya Open Source ndikupangitsa kuti zikhale zosavuta kuyenda, kuyang'anira, ndi kuyang'anira mapulogalamu mu K8s. K9s nthawi zonse imayang'anira kusintha kwa Kubernetes ndipo imapereka malamulo ofulumira kuti agwire ntchito ndi zinthu zomwe zimayang'aniridwa.

Ntchitoyi idalembedwa mu Go ndipo yakhala ikupitilira chaka ndi theka: kudzipereka koyamba kudapangidwa pa February 1, 2019. Panthawi yolemba, pali nyenyezi za 9000+ GitHub ndi pafupifupi 80 opereka. Tiyeni tiwone zomwe k9s angachite?

Kukhazikitsa ndi kukhazikitsa

Uyu ndi kasitomala (mogwirizana ndi gulu la Kubernetes) ntchito yomwe ndiyosavuta kuyendetsa ngati chithunzi cha Docker:

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

Kwa magawo ena a Linux ndi makina ena ogwiritsira ntchito, palinso okonzeka kuyika phukusi. Mwambiri, pamakina a Linux, mutha kukhazikitsa fayilo ya 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

Palibe zofunikira zenizeni za gulu la K8s palokha. Kutengera ndemanga, pulogalamuyi imagwiranso ntchito ndi mitundu yakale ya Kubernetes monga 1.12.

Pulogalamuyi imayambitsidwa pogwiritsa ntchito standard config .kube/config - zofanana ndi momwe zimakhalira kubectl.

Kuyenda

Mwachikhazikitso, zenera limatsegulidwa ndi dzina losasinthika lomwe lafotokozedwa pamutuwu. Ndiko kuti, ngati munalemba kubectl config set-context --current --namespace=test, ndiye malo a mayina adzatsegulidwa test. (Onani m'munsimu kuti musinthe zochitika / malo a mayina.)

Chidule cha k9s - mawonekedwe apamwamba a Kubernetes

Pitani ku command mode zimachitika ndi kukanikiza ":". Pambuyo pake, mutha kuwongolera magwiridwe antchito a k9s pogwiritsa ntchito malamulo - mwachitsanzo, kuti muwone mndandanda wa StatefulSets (pamalo apano), mutha kulowa. :sts.

Chidule cha k9s - mawonekedwe apamwamba a Kubernetes

Pazinthu zina za Kubernetes:

  • :ns - malo a mayina;
  • :deploy - Deployments;
  • :ing - Ingresss;
  • :svc - ntchito.

Kuti muwonetse mndandanda wathunthu wazinthu zomwe zilipo kuti muwonere, pali lamulo :aliases.

Ndikoyeneranso kuwona mndandanda wamalamulo omwe amapezeka mwa kuphatikiza makiyi otentha mkati mwazenera lomwe lilipo: kuti muchite izi, ingodinani "?".

Chidule cha k9s - mawonekedwe apamwamba a Kubernetes

Komanso mu k9s muli kusaka, kupita komwe kuli kokwanira kulowa "/". Ndi izo, kufufuza kumachitika pazomwe zili mu "zenera" lamakono. Tinene ngati mudalowapo kale :ns, muli ndi mndandanda wamalo omwe atsegulidwa. Ngati pali ochuluka kwambiri, ndiye kuti kuti musapitirire pansi kwa nthawi yayitali, ndikwanira kulowa pawindo ndi malo a mayina. /mynamespace.

Kuti mufufuze ndi zilembo, mutha kusankha ma pod onse omwe mukufuna, kenako lowetsani, mwachitsanzo, / -l app=whoami. Tipeza mndandanda wa ma pod okhala ndi chizindikiro ichi:

Chidule cha k9s - mawonekedwe apamwamba a Kubernetes

Kusaka kumagwira ntchito m'mawindo amitundu yonse, kuphatikiza matabwa, kuwona mawonekedwe a YAML, ndi describe za zothandizira - onani pansipa kuti mumve zambiri za izi.

Kodi kuyenda konsekonse kumawoneka bwanji?

Kugwiritsa ntchito lamulo :ctx mutha kusankha nkhani:

Chidule cha k9s - mawonekedwe apamwamba a Kubernetes

Kuti musankhe malo a mayina, pali lamulo lomwe latchulidwa kale :ns, ndiyeno mutha kugwiritsa ntchito kufufuza malo omwe mukufuna: /test.

Ngati tsopano tisankha zomwe tikufuna (mwachitsanzo, StatefulSet yomweyo), zidziwitso zofananira zidzawonekera: ndi ma pod angati omwe akuyenda ndi chidziwitso chachidule chokhudza iwo.

Chidule cha k9s - mawonekedwe apamwamba a Kubernetes

Ma pod okha angakhale okondweretsa - ndiye kuti ndikwanira kulowa :pod. Pankhani ya ConfigMaps (:cm - pamndandanda wazinthu izi), mutha kusankha chinthu chomwe mukufuna ndikudina "u", pambuyo pake K9s adzakuuzani omwe amagwiritsa ntchito (CM iyi).

Chinthu chinanso chothandiza pakuwonera zida ndi zawo "x-ray" (mawonedwe a Xray). Njira iyi imatchedwa ndi lamulo :xray RESOURCE ndi ... ndizosavuta kuwonetsa momwe zimagwirira ntchito kuposa kufotokoza. Nachi chithunzi cha StatefulSets:

Chidule cha k9s - mawonekedwe apamwamba a Kubernetes
(Chilichonse mwazinthu izi chikhoza kusinthidwa, kusinthidwa, kupangidwa describe.)

Ndipo nayi Kutumiza ndi Ingress:

Chidule cha k9s - mawonekedwe apamwamba a Kubernetes

Kugwira ntchito ndi zothandizira

Mutha kudziwa zambiri za chida chilichonse mu YAML kapena zake describe pokanikiza njira zazifupi za kiyibodi ("y" ndi "d", motsatana). Zachidziwikire, palinso magwiridwe antchito ochulukirapo: mndandanda wawo ndi njira zazifupi za kiyibodi zimawonekera nthawi zonse chifukwa cha "mutu" wosavuta pawonekedwe (wobisika mwa kukanikiza Ctrl + e).

Chidule cha k9s - mawonekedwe apamwamba a Kubernetes

Mukakonza chida chilichonse ("e" pambuyo posankha), mkonzi wamawu wofotokozedwa m'malo osiyanasiyana amatsegulidwa (export EDITOR=vim).

Ndipo apa ndi momwe kufotokozera mwatsatanetsatane kwa gwero kumawonekera (describe):

Chidule cha k9s - mawonekedwe apamwamba a Kubernetes

Zotulutsa izi (kapena zotuluka powonera chiwonetsero chazinthu za YAML) zitha kusungidwa pogwiritsa ntchito njira yachidule ya kiyibodi Ctrl + s. Kumene idzasungidwa idzadziwika kuchokera ku uthenga wa K9s:

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

Mutha kubwezeretsanso zothandizira kuchokera pamafayilo osungira omwe adapangidwa, mutachotsa zilembo zamakina ndi zofotokozera. Kuti muchite izi, muyenera kupita nawo ku chikwatu (:dir /tmp), kenako sankhani fayilo yomwe mukufuna ndikuyika apply.

Mwa njira, nthawi iliyonse mutha kubwereranso ku ReplicaSet yapitayi ngati pali zovuta ndi zomwe zilipo. Kuti muchite izi, sankhani RS yomwe mukufuna (:rs kwa mndandanda wawo):

Chidule cha k9s - mawonekedwe apamwamba a Kubernetes

... ndi kubwereranso ndi Ctrl + l. Tiyenera kulandira chidziwitso kuti zonse zidayenda bwino:

k9s/whoami-5cfbdbb469 successfully rolled back

Ndipo kuti muwonjezere zofananira, ingodinani pa "s" (mulingo) ndikusankha kuchuluka komwe mukufuna:

Chidule cha k9s - mawonekedwe apamwamba a Kubernetes

Mutha kulowetsa chilichonse mwazotengerazo pogwiritsa ntchito chipolopolo: kuti muchite izi, pitani ku poto yomwe mukufuna, dinani "s" (chipolopolo) ndikusankha chidebecho.

Zina

Zachidziwikire, zipika zowonera zimathandizidwanso ("l" pazosankha). Ndipo kuti muwone zipika zatsopano, palibe chifukwa chokhalira kukanikiza Lowani: ndikokwanira kuyika chizindikiro ("m"), ndikungotsatira mauthenga atsopano.

Chidule cha k9s - mawonekedwe apamwamba a Kubernetes

Komanso pawindo lomwelo, mutha kusankha nthawi yotulutsa zipika:

  • kiyi "1" - kwa mphindi imodzi;
  • "2" - 5 mphindi;
  • "3" - 15 mphindi;
  • "4" - 30 mphindi;
  • "5" - 1 ora;
  • "0" - kwa moyo wonse wa pod.

Special opaleshoni mode Pulse (command :pulse) ikuwonetsa zambiri za gulu la Kubernetes:

Chidule cha k9s - mawonekedwe apamwamba a Kubernetes

Mmenemo mumatha kuwona kuchuluka kwazinthu ndi momwe zilili (zobiriwira zimasonyeza omwe ali ndi udindo Running).

Chinthu china chozizira cha K9s chimatchedwa Papa. Imayang'ana zida zonse kuti ipeze njira zina zolondola ndikuwonetsa "magawo" omwe amabwera ndi mafotokozedwe. Mwachitsanzo, mutha kuwona kuti palibe zitsanzo kapena malire okwanira, ndipo chidebe china chimatha kuyenda ngati mizu ...

Chidule cha k9s - mawonekedwe apamwamba a Kubernetes

Pali chithandizo chofunikira cha Helm. Mwachitsanzo, umu ndi momwe mungawonere zotulutsidwa zomwe zayikidwa pagulu:

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

miyeso yolinganizira

Ngakhale zomangidwa mu K9s Hei ndi jenereta yosavuta ya seva ya HTTP, njira ina yodziwika bwino ab (ApacheBench).

Kuti muyitse, muyenera kuyatsa port-forward mu pod. Kuti muchite izi, sankhani pod ndikusindikiza Shift + f, pitani ku submenu ya port-forward pogwiritsa ntchito "pf" alias.

Chidule cha k9s - mawonekedwe apamwamba a Kubernetes

Mukasankha doko ndikukanikiza Ctrl + b, chizindikirocho chidzayamba. Zotsatira za ntchito yake zimasungidwa mu /tmp ndipo akupezeka kuti mudzawonedwe pambuyo pake mu K9s.

Chidule cha k9s - mawonekedwe apamwamba a Kubernetes
Chidule cha k9s - mawonekedwe apamwamba a Kubernetes

Kuti musinthe makonzedwe a benchmark, muyenera kupanga fayilo $HOME/.k9s/bench-<my_context>.yml (zopangidwira gulu lililonse).

NB: Ndikofunikira kukulitsa mafayilo onse a YAML mu bukhu .k9s izo zinali chimodzimodzi .yml (.yaml sizikugwira ntchito bwino).

Chitsanzo chokonzekera:

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

mawonekedwe

Mawonekedwe a mindandanda yazinthu zosinthidwa amasinthidwa ndikupanga fayilo $HOME/.k9s/views.yml. Chitsanzo cha zomwe zili:

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

Zowona, palibe gawo lokwanira la zilembo, zomwe zilipo nkhani mu polojekiti.

Kusanja ndi mizati kumachitika ndi njira zazifupi za kiyibodi:

  • Shift + n - ndi dzina;
  • Shift + o - ndi mfundo;
  • Shift + i - ndi IP;
  • Shift + a - ndi moyo wa chidebecho;
  • Shift + t - ndi kuchuluka kwa kuyambiranso;
  • Shift + r - mwa kukonzekera;
  • Shift + c - pogwiritsa ntchito CPU;
  • Shift + m - pogwiritsa ntchito kukumbukira.

Ngati wina sakonda mtundu wosasintha, K9s amathandizira zikopa. Zitsanzo zopangidwa kale (zidutswa 7) zilipo apa. Nachi chitsanzo cha chimodzi mwa zikopa izi (mu navy):

Chidule cha k9s - mawonekedwe apamwamba a Kubernetes

Mapulagini

Pomaliza mapulagini zimakupatsani mwayi wokulitsa luso la K9s. Ine ndekha ndagwiritsa ntchito imodzi mwa izo mu ntchito yanga - kubectl get all -n $namespace.

Zikuwoneka chonchi. Pangani fayilo $HOME/.k9s/plugin.yml ndi zinthu monga izi:

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"

Tsopano mutha kupita ku malo a mayina ndikudina "g" kuti mupereke ndi lamulo lofananira:

Chidule cha k9s - mawonekedwe apamwamba a Kubernetes

Mwa mapulagini pali, mwachitsanzo, kuphatikiza ndi kubectl-jq ndi chida chowonera zipika. wolimba.

Pomaliza

Mwa kukoma kwanga, ma K9 adakhala osavuta kugwira nawo ntchito: mutha kuzolowera kufunafuna chilichonse chomwe mungafune osachigwiritsa ntchito. kubectl. Ndinakondwera ndi malingaliro a zipika ndi kupulumutsa kwawo, kusintha mwamsanga kwazinthu, kuthamanga kwa ntchito mwachizoloΕ΅ezi *, mawonekedwe a Popeye adakhala othandiza. Kutchulidwa kwapadera ndikutha kupanga mapulagini ndikusintha pulogalamuyo kuti igwirizane ndi zosowa zanu.

* Ngakhale, ndi mitengo yambiri, ndinawonanso kugwira ntchito pang'onopang'ono kwa K9s. Nthawi ngati izi, zidazo "zidadya" ma cores 2 kuchokera ku Intel Xeon E312xx ndipo zimatha kuzizira.

Chikusowa pakali pano ndi chiyani? Kubweza mwachangu ku mtundu wakale (sitikulankhula za RS) osapita ku chikwatu. Komanso, kuchira kumachitika kokha chiwerengero gwero: ngati muchotsa zolemba kapena zolemba, muyenera kuchotsa ndikubwezeretsanso gwero lonse (apa ndipamene muyenera kupita ku chikwatu). Chidutswa china - palibe tsiku lokwanira la "zosunga zobwezeretsera" zotere.

PS

Werenganinso pa blog yathu:

Source: www.habr.com

Kuwonjezera ndemanga