Bayyani na k9s - ci-gaba na tashar tashar Kubernetes

Bayyani na k9s - ci-gaba na tashar tashar Kubernetes

K9s ku yana ba da mahaɗin mai amfani ta ƙarshe don hulɗa tare da gungu na Kubernetes. Manufar wannan Buɗewar aikin shine don sauƙaƙe kewayawa, saka idanu, da sarrafa aikace-aikace a cikin K8s. K9s koyaushe yana lura da canje-canje a cikin Kubernetes kuma yana ba da umarni masu sauri don aiki tare da albarkatun da aka sa ido.

An rubuta aikin a cikin Go kuma ya kasance sama da shekara guda da rabi: an yi alƙawarin farko a ranar 1 ga Fabrairu, 2019. A lokacin rubutawa, akwai taurari 9000+ akan GitHub da masu bayar da gudummuwa kusan 80. Bari mu ga abin da k9s zai iya yi?

Shigarwa da ƙaddamarwa

Wannan abokin ciniki ne (dangane da gungu na Kubernetes) aikace-aikacen da ya fi sauƙi aiki azaman hoton Docker:

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

Don wasu rarrabawar Linux da sauran tsarin aiki, akwai kuma shirye-shiryen shigarwa fakiti. Gabaɗaya, don tsarin Linux, zaku iya shigar da fayil ɗin 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

Babu takamaiman buƙatu don gungu na K8s kanta. Yin la'akari da sake dubawa, aikace-aikacen kuma yana aiki tare da tsofaffin nau'ikan Kubernetes kamar 1.12.

An ƙaddamar da aikace-aikacen ta amfani da daidaitaccen tsari .kube/config - kama da yadda yake yi kubectl.

Kewaya

Ta hanyar tsoho, taga yana buɗewa tare da tsohowar sarari suna da aka ƙayyade don mahallin. Wato idan ka rubuta kubectl config set-context --current --namespace=test, sa'an nan sunan zai bude test. (Duba ƙasa don canza mahallin / wuraren suna.)

Bayyani na k9s - ci-gaba na tashar tashar Kubernetes

Je zuwa yanayin umarni ana yin ta latsa ":". Bayan haka, zaku iya sarrafa aikin k9s ta amfani da umarni - alal misali, don duba jerin abubuwan StatefulSets (a cikin sunan suna na yanzu), zaku iya shiga. :sts.

Bayyani na k9s - ci-gaba na tashar tashar Kubernetes

Don wasu albarkatun Kubernetes:

  • :ns - wuraren suna;
  • :deploy - Ayyuka;
  • :ing - Ci gaba;
  • :svc - ayyuka.

Don nuna cikakken jerin nau'ikan albarkatun da akwai don dubawa, akwai umarni :aliases.

Hakanan ya dace don duba jerin umarni da ake samu ta hanyar haɗin maɓalli masu zafi a cikin taga na yanzu: don yin wannan, kawai danna "?".

Bayyani na k9s - ci-gaba na tashar tashar Kubernetes

Hakanan a cikin k9s akwai yanayin bincike, don zuwa wanda ya isa ya shigar da "/". Tare da shi, ana yin bincike akan abubuwan da ke cikin "taga" na yanzu. Bari mu ce idan kun shiga a baya :ns, kuna da jerin wuraren suna a buɗe. Idan akwai da yawa daga cikinsu, to, don kada a gungura ƙasa na dogon lokaci, ya isa ya shiga cikin taga tare da wuraren suna. /mynamespace.

Don bincika ta lambobi, zaku iya zaɓar duk kwas ɗin da ke cikin sararin sunan da ake so, sannan shigar da, misali, / -l app=whoami. Za mu sami jerin kwasfa masu wannan alamar:

Bayyani na k9s - ci-gaba na tashar tashar Kubernetes

Binciken yana aiki a kowane nau'in windows, gami da rajistan ayyukan, duban YAML, da describe don albarkatu - duba ƙasa don ƙarin cikakkun bayanai kan waɗannan fasalulluka.

Menene madaidaicin tafiyar kewayawa yayi kama?

Amfani da umarnin :ctx za ku iya zaɓar mahallin:

Bayyani na k9s - ci-gaba na tashar tashar Kubernetes

Don zaɓar filin suna, akwai umarnin da aka riga aka ambata :ns, sa'an nan kuma za ku iya amfani da bincike don sararin da ake so: /test.

Idan yanzu mun zaɓi albarkatun da muke sha'awar (misali, StatefulSet iri ɗaya), bayanin da ya dace zai bayyana don shi: kwas ɗin nawa ne ke gudana tare da taƙaitaccen bayani game da su.

Bayyani na k9s - ci-gaba na tashar tashar Kubernetes

Kwasfa kawai na iya zama mai ban sha'awa - sannan ya isa ya shiga :pod. A cikin yanayin ConfigMaps (:cm - don jerin waɗannan albarkatun), zaku iya zaɓar abin sha'awa kuma danna "u", bayan haka K9s zai gaya muku wanda ke amfani da shi musamman (wannan CM).

Wani fasali mai amfani don duba albarkatun shine su "X-ray" (kallon Xray). Ana kiran wannan yanayin ta umarnin :xray RESOURCE kuma ... yana da sauƙin nuna yadda yake aiki fiye da bayyanawa. Anan ga hoto don StatefulSets:

Bayyani na k9s - ci-gaba na tashar tashar Kubernetes
(Kowane ɗayan waɗannan albarkatun ana iya gyara, canza, yin su describe.)

Kuma a nan ne Ƙaddamarwa tare da Ingress:

Bayyani na k9s - ci-gaba na tashar tashar Kubernetes

Yin aiki tare da albarkatu

Kuna iya samun bayanai game da kowace hanya a cikin YAML ko ta describe ta latsa gajerun hanyoyin keyboard masu dacewa ("y" da "d", bi da bi). Tabbas, akwai ƙarin ayyuka na yau da kullun: jerin su da gajerun hanyoyin keyboard koyaushe suna bayyane godiya ga “header” mai dacewa a cikin dubawa (boye ta latsa Ctrl + e).

Bayyani na k9s - ci-gaba na tashar tashar Kubernetes

Lokacin gyara kowane hanya ("e" bayan zaɓin sa), ana buɗe editan rubutun da aka ayyana a cikin masu canjin yanayi (export EDITOR=vim).

Kuma ga yadda cikakken bayanin albarkatun yayi kama (describe):

Bayyani na k9s - ci-gaba na tashar tashar Kubernetes

Ana iya adana wannan fitarwa (ko fitowar duban bayanan YAML na albarkatu) ta amfani da gajeriyar hanyar keyboard Ctrl + s da aka saba. Inda za a adana za a san shi daga saƙon K9s:

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

Hakanan zaka iya dawo da albarkatu daga fayilolin ajiyar da aka ƙirƙira, bayan cire alamun tsarin da annotations. Don yin wannan, kuna buƙatar zuwa kundin adireshi tare da su (:dir /tmp), sannan zaɓi fayil ɗin da ake so sannan a yi amfani da shi apply.

Af, a kowane lokaci zaku iya komawa zuwa ReplicaSet na baya idan akwai matsaloli tare da na yanzu. Don yin wannan, zaɓi RS ɗin da ake so (:rs ga lissafin su):

Bayyani na k9s - ci-gaba na tashar tashar Kubernetes

... da kuma sake dawowa tare da Ctrl + l. Ya kamata mu sami sanarwa cewa komai yayi kyau:

k9s/whoami-5cfbdbb469 successfully rolled back

Kuma don auna kwafin kwafin, kawai danna kan "s" (ma'auni) kuma zaɓi adadin da ake so:

Bayyani na k9s - ci-gaba na tashar tashar Kubernetes

Kuna iya shigar da kowane kwantena ta amfani da harsashi: don yin wannan, je zuwa kwas ɗin da ake so, danna "s" (shell) kuma zaɓi akwati.

Sauran siffofi

Tabbas, ana kuma tallafawa rajistan ayyukan ("l" don albarkatun da aka zaɓa). Kuma don kallon sabbin rajistan ayyukan, babu buƙatar danna Shigar koyaushe: ya isa ya yi alama (“m”), sannan kawai waƙa da sabbin saƙonni.

Bayyani na k9s - ci-gaba na tashar tashar Kubernetes

Hakanan a cikin wannan taga, zaku iya zaɓar kewayon lokacin don fitar da logs:

  • maɓallin "1" - don minti 1;
  • "2" - minti 5;
  • "3" - minti 15;
  • "4" - minti 30;
  • "5" - 1 awa;
  • "0" - duk tsawon rayuwar kwafsa.

Yanayin aiki na musamman Pulse (umurni :pulse) yana nuna cikakken bayani game da gungu na Kubernetes:

Bayyani na k9s - ci-gaba na tashar tashar Kubernetes

A ciki zaku iya ganin adadin albarkatun da matsayinsu (kore yana nuna waɗanda ke da matsayi Running).

Wani kyakkyawan yanayin K9s ana kiransa Popeye. Yana bincika duk albarkatun don wasu ƙa'idodi na daidai kuma yana nuna sakamakon "ƙima" tare da bayani. Misali, zaku iya ganin cewa babu isassun samfurori ko iyakoki, kuma wasu kwantena na iya gudana azaman tushen ...

Bayyani na k9s - ci-gaba na tashar tashar Kubernetes

Akwai tallafin Helm na asali. Misali, wannan shine yadda zaku ga abubuwan da aka tura a cikin gungu:

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

da samfurin

Ko da an gina shi cikin K9s hey mai sauƙi ne mai ɗaukar nauyin uwar garken HTTP, madadin wanda aka fi sani da ab (ApacheBench).

Don kunna ta, kuna buƙatar kunna tashar gaba-gaba a cikin kwas ɗin. Don yin wannan, zaɓi kwaf ɗin kuma danna Shift + f, je zuwa menu na gaba na tashar jiragen ruwa ta amfani da "pf" alias.

Bayyani na k9s - ci-gaba na tashar tashar Kubernetes

Bayan zaɓar tashar jiragen ruwa kuma danna Ctrl + b, alamar alamar zata fara. Ana adana sakamakon aikinsa a ciki /tmp kuma akwai don kallo daga baya a cikin K9s.

Bayyani na k9s - ci-gaba na tashar tashar Kubernetes
Bayyani na k9s - ci-gaba na tashar tashar Kubernetes

Don canza saitin ma'auni, kuna buƙatar ƙirƙirar fayil $HOME/.k9s/bench-<my_context>.yml (an ƙaddara don kowane gungu).

NB: Yana da mahimmanci cewa fadada duk fayilolin YAML a cikin kundin adireshi .k9s ya kasance daidai .yml (.yaml ba ya aiki daidai).

Misalin tsari:

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

dubawa

Ana canza bayyanar ginshiƙan don lissafin albarkatun ta hanyar ƙirƙirar fayil $HOME/.k9s/views.yml. Misalin abun cikinsa:

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

Gaskiya ne, babu isasshen ginshiƙi don alamomi, wanda akwai batu a cikin aikin.

Ana rarrabewa ta ginshiƙai ta gajerun hanyoyin madannai:

  • Shift + n - da suna;
  • Shift + o - ta nodes;
  • Shift + i - ta IP;
  • Shift + a - ta tsawon rayuwar akwati;
  • Shift + t - ta adadin sake farawa;
  • Shift + r - ta halin shirye-shirye;
  • Shift + c - ta amfani da CPU;
  • Shift + m - ta hanyar amfani da ƙwaƙwalwar ajiya.

Idan wani ba ya son tsarin launi na asali, K9s ma yana goyan baya konkoma karãtunsa fãtun. Akwai misalan shirye-shiryen da aka yi (guda 7) akwai a nan. Ga misalin ɗaya daga cikin waɗannan fatun (a cikin sojojin ruwa):

Bayyani na k9s - ci-gaba na tashar tashar Kubernetes

Plugins

A ƙarshe plugins ba ka damar fadada damar K9s. Ni kaina na yi amfani da guda ɗaya kawai a cikin aikina - kubectl get all -n $namespace.

Ga alama haka. Ƙirƙiri fayil $HOME/.k9s/plugin.yml da abun ciki kamar haka:

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"

Yanzu zaku iya zuwa filin suna kuma danna "g" don aiwatar da umarni mai dacewa:

Bayyani na k9s - ci-gaba na tashar tashar Kubernetes

Daga cikin plugins akwai, alal misali, haɗin kai tare da kubectl-jq da mai amfani don duba rajistan ayyukan. tsananin.

ƙarshe

Don dandano na, K9s ya zama dacewa sosai don aiki tare: zaku iya saurin saba da neman duk abin da kuke buƙata ba tare da amfani da shi ba. kubectl. Na yi farin ciki da ra'ayi na rajistan ayyukan da adana su, saurin gyare-gyare na albarkatu, saurin aiki a gaba ɗaya *, yanayin Popeye ya zama mai amfani. Bayani na musamman shine ikon ƙirƙirar plugins da gyara aikace-aikacen don dacewa da bukatunku.

* Ko da yake, tare da babban adadin rajistan ayyukan, na kuma lura da jinkirin aiki na K9s. A irin wannan lokacin, mai amfani ya "ci" 2 cores daga Intel Xeon E312xx kuma yana iya daskare.

Menene ya ɓace a halin yanzu? Saurin juyowa zuwa sigar da ta gabata (ba muna magana game da RS) ba tare da zuwa kundin adireshi ba. Bugu da ƙari, farfadowa yana faruwa ne kawai don total albarkatun: idan ka share annotation ko lakabi, dole ne ka share kuma mayar da dukan albarkatun (wannan shi ne inda kana bukatar ka je ga directory). Wani ɗan ƙaramin abu - babu isassun kwanan wata don irin wannan "ajiyayyen" ajiya.

PS

Karanta kuma a kan shafinmu:

source: www.habr.com

Add a comment