Va'aiga lautele o k9s - ose feso'ota'iga pito i luma mo Kubernetes

Va'aiga lautele o k9s - ose feso'ota'iga pito i luma mo Kubernetes

K9s e maua ai se fa'aoga fa'aoga fa'aoga mo le fegalegaleai ma fuifui Kubernetes. O le sini o lenei Poloketi Open Source o le faafaigofieina lea o le faʻatautaia, mataʻituina, ma pulea talosaga ile K8s. K9s e mataʻituina pea suiga i Kubernetes ma tuʻuina atu faʻatonuga vave mo le galue i punaoa mataʻituina.

O le poloketi ua tusia i le Go ma ua silia ma le tausaga ma le afa: o le tautinoga muamua na faia ia Fepuari 1, 2019. I le taimi o le tusitusi, e 9000+ fetu i luga GitHub ma e tusa ma le 80 tagata fai sao. Sei o tatou va'ai po'o le a le mea e mafai e k9s ona fai?

Fa'apipi'i ma fa'alauiloa

Ole tagata fa'atau lea (e fa'atatau i le Kubernetes cluster) talosaga, lea e sili ona faigofie e tamo'e o se ata Docker:

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

Mo nisi fa'asalalauga Linux ma isi faiga fa'aoga o lo'o iai fo'i ua sauni-e fa'apipi'i afifi. I se tulaga lautele, mo Linux faiga e mafai ona e faʻapipiʻi le faila faila:

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

E leai ni manaʻoga faʻapitoa mo le K8s cluster lava ia. Faʻamasinoina e ala i iloiloga, o loʻo galue foi le talosaga ma lomiga tuai o Kubernetes pei ole 1.12.

O le talosaga e amata faʻaaoga le faʻaoga masani .kube/config - e tutusa ma le faiga kubectl.

Faʻasalaga

Ona o le faaletonu, e matala se faamalama ma le igoa tulaga masani ua faamaoti mai mo le talaaga. O lona uiga, afai na e tusia kubectl config set-context --current --namespace=test, ona tatala lea o le igoa avanoa test. (Vaai i lalo e uiga i le suia o tulaga/igoa igoa.)

Va'aiga lautele o k9s - ose feso'ota'iga pito i luma mo Kubernetes

Alu i le faiga fa'atonu faia i le kiliki i le ":". Ona mafai lea ona e pulea pe faʻafefea ona galue le k9s e faʻaaoga ai poloaiga - mo se faʻataʻitaʻiga, e matamata i se lisi o StatefulSets (i le igoa o loʻo iai nei) e mafai ona e ulufale i totonu. :sts.

Va'aiga lautele o k9s - ose feso'ota'iga pito i luma mo Kubernetes

Mo nisi punaoa Kubernetes:

  • :ns - Avanoa igoa;
  • :deploy - Fa'atonu;
  • :ing - Ulufale;
  • :svc - Au'aunaga.

Ina ia faʻaalia se lisi atoa o ituaiga punaoa o loʻo avanoa mo le matamataina, o loʻo i ai se faʻatonuga :aliases.

E faigofie foi le vaʻai i le lisi o faʻatonuga o loʻo maua e ala i faʻasalalauga vevela i totonu o le faamalama o loʻo i ai nei: e fai lenei mea, naʻo le kiliki i le "?".

Va'aiga lautele o k9s - ose feso'ota'iga pito i luma mo Kubernetes

E iai fo'i ile k9s faiga su'esu'e, e alu i ai na'o le mea e te mana'omia e ulufale ai i le "/". E su'esu'e i totonu o le "fa'amalama" o lo'o iai nei. Mo se faʻataʻitaʻiga, afai na e ulufale muamua :ns, e iai sau lisi o igoa avanoa o lo'o tatala. Afai e tele naua, ina ia aua neʻi taʻavale i lalo mo se taimi umi, naʻo le ulufale i le faamalama ma igoa avanoa. /mynamespace.

Ina ia su'e e ala i igoa, e mafai ona e filifili uma pods i le igoa e mana'omia, ona ulufale lea, mo se fa'ata'ita'iga, / -l app=whoami. O le a matou maua se lisi o pods ma lenei igoa:

Va'aiga lautele o k9s - ose feso'ota'iga pito i luma mo Kubernetes

O le sailiga e galue i ituaiga uma o faamalama, e aofia ai ogalaau, matamata YAML faʻaaliga ma describe mo punaoa - va'ai i lalo mo nisi fa'amatalaga i nei gafatia.

E faape'i foliga o le tafega atoa o le folauga?

Faatasi ai ma le poloaiga :ctx e mafai ona e filifilia le talaaga:

Va'aiga lautele o k9s - ose feso'ota'iga pito i luma mo Kubernetes

Ina ia filifili se namespace o loʻo i ai le poloaiga ua uma ona taʻua :ns, ona mafai lea ona e fa'aogaina le sailiga mo le avanoa e mana'omia: /test.

Afai tatou te filifilia nei le punaoa tatou te fiafia i ai (mo se faʻataʻitaʻiga, le StatefulSet tutusa), o faʻamatalaga tutusa o le a faʻaalia mo ia: e fia pods o loʻo taʻavale ma faʻamatalaga puupuu e uiga ia i latou.

Va'aiga lautele o k9s - ose feso'ota'iga pito i luma mo Kubernetes

Na'o pods atonu e fiafia - ona na'o le ulufale :pod. I le tulaga o ConfigMaps (:cm - mo se lisi o nei punaoa) e mafai ona e filifilia le mea e fiafia i ai ma kiliki i le "u", pe a uma ona taʻu atu e K9s poʻo ai tonu (lenei CM) o loʻo faʻaaogaina.

O le isi mea faigofie mo le matamataina o punaoa o latou "X-ray" (XRay va'aiga). O lenei faiga e taʻua e le poloaiga :xray RESOURCE ma... e sili atu ona faigofie le faʻaalia pe faʻapefea ona galue nai lo le faʻamatalaina. O se faʻataʻitaʻiga lea mo StatefulSets:

Va'aiga lautele o k9s - ose feso'ota'iga pito i luma mo Kubernetes
(O nei punaoa taʻitasi e mafai ona faʻasaʻo, suia, faia describe.)

Ma o le Deployment lea ma Ingress:

Va'aiga lautele o k9s - ose feso'ota'iga pito i luma mo Kubernetes

Galulue ma Punaoa

O faʻamatalaga e uiga i punaoa taʻitasi e mafai ona maua ile YAML poʻo lona describe e ala i le oomiina o ala pupuu keyboard talafeagai (“y” ma le “d” faasologa). O loʻo i ai, ioe, e sili atu galuega faʻavae: o la latou lisi ma ala pupuu keyboard e faʻaalia i taimi uma faʻafetai i se "ulutala" talafeagai i totonu o le atinaʻe (natia i le oomi Ctrl + e).

Va'aiga lautele o k9s - ose feso'ota'iga pito i luma mo Kubernetes

Pe a faʻasaʻo soʻo se punaoa ("e" pe a uma ona filifilia), o le tusitala o tusitusiga e faʻamalamalamaina i fesuiaiga o le siosiomaga (export EDITOR=vim).

Ma o le mea lea e foliga mai o se faʻamatalaga auiliili o le punaoa (describe):

Va'aiga lautele o k9s - ose feso'ota'iga pito i luma mo Kubernetes

O lenei gaioiga (poʻo le gaioiga o le matamataina o le YAML faʻaaliga o se punaoa) e mafai ona faʻasaoina e faʻaaoga ai le ala masani keyboard Ctrl + s. O fea o le a faʻasaoina o le a iloa mai le K9s feʻau:

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

E mafai fo'i ona e toe fa'afo'i puna'oa mai faila fa'asao na faia e ala i le 'ave'esea muamua o fa'ailoga ma fa'amatalaga. Ina ia faia lenei mea e tatau ona e alu i le lisi ma i latou (:dir /tmp), ona filifili lea o le faila e manaʻomia ma faʻaoga apply.

I le ala, i soo se taimi e mafai ona e toe foʻi i tua i le ReplicaSet muamua pe a iai ni faʻafitauli i le taimi nei. Ina ia faia lenei mea, e tatau ona e filifilia le RS manaʻomia (:rs mo la latou lisi):

Va'aiga lautele o k9s - ose feso'ota'iga pito i luma mo Kubernetes

... ma toe fa'afo'i fa'aaoga Ctrl + l. E tatau ona matou mauaina se faʻamatalaga na manuia mea uma:

k9s/whoami-5cfbdbb469 successfully rolled back

Ma e fua fa'atusa, na'o le kiliki i le "s" (fua) ma filifili le numera mana'omia o kopi:

Va'aiga lautele o k9s - ose feso'ota'iga pito i luma mo Kubernetes

E mafai ona e ulufale i soʻo se pusa e faʻaaoga ai le atigi: e fai lenei mea, alu i le pusa manaʻomia, kiliki i luga o le "s" (shell) ma filifili le atigipusa.

O isi vaega

Ioe, o lo'o lagolagoina fo'i le va'aiga o ogalaau ("l" mo punaoa ua filifilia). Ma e matamata i ogalaau fou, e leai se manaʻoga e faʻaauau pea le ulufale i totonu: naʻo le faia o se faʻailoga ("m"), ona mataʻituina lea na o feʻau fou.

Va'aiga lautele o k9s - ose feso'ota'iga pito i luma mo Kubernetes

Fa'apea fo'i i le fa'amalama lava e tasi e mafai ona e filifilia le taimi mo le fa'auluina o ogalaau:

  • ki "1" - i le 1 minute;
  • “2” - 5 minute;
  • “3” - 15 minute;
  • “4” - 30 minute;
  • "5" - 1 itula;
  • "0" - mo le olaga atoa o le pusa.

Faiga fa'apitoa fa'agaioiga Pulse (poloaiga :pulse) o loʻo faʻaalia ai faʻamatalaga lautele e uiga i le Kubernetes cluster:

Va'aiga lautele o k9s - ose feso'ota'iga pito i luma mo Kubernetes

I totonu e mafai ona e vaʻaia le numera o punaoa ma o latou tulaga (o loʻo i ai se tulaga o loʻo faʻaalia i le lanu meamata Running).

O le isi mea manaia o K9s ua taʻua Popeye. E siaki uma punaoa mo nisi tulaga saʻo ma faʻaalia le taunuuga o le "fuainumera" ma faʻamatalaga. Mo se faʻataʻitaʻiga, e mafai ona e vaʻaia e le lava faʻataʻitaʻiga poʻo tapulaʻa, ma o nisi pusa e mafai ona taʻavale e pei o aʻa...

Va'aiga lautele o k9s - ose feso'ota'iga pito i luma mo Kubernetes

O lo'o iai le lagolago fa'aHelm. Mo se faʻataʻitaʻiga, o le auala lea e mafai ai ona e vaʻai i faʻasalalauga ua faʻapipiʻiina i le fuifui:

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

Penchmark

Na latou fausia foi i K9s Ei o se faʻapipiʻi uta faigofie mo se HTTP server, o se isi mea i le ab sili ona lauiloa (ApacheBench).

Ina ia mafai ai, e te manaʻomia le faʻaogaina o le port-forward i le pod. Ina ia faia lenei mea, filifili pod ma fetaomi Shift + f, alu i le port-forward submenu faʻaaoga le igoa "pf".

Va'aiga lautele o k9s - ose feso'ota'iga pito i luma mo Kubernetes

A maeʻa ona filifilia le taulaga ma oomi Ctrl + b, o le faʻailoga lava ia o le a faʻalauiloa. O taunuuga o lana galuega o loo teuina i totonu /tmp ma o lo'o avanoa mo le maimoaina mulimuli ane ile K9s.

Va'aiga lautele o k9s - ose feso'ota'iga pito i luma mo Kubernetes
Va'aiga lautele o k9s - ose feso'ota'iga pito i luma mo Kubernetes

Ina ia suia le faʻatulagaga faʻailoga e te manaʻomia le fatuina o se faila $HOME/.k9s/bench-<my_context>.yml (fa'amatala mo fuifui ta'itasi).

NB: E taua le faʻalauteleina o faila YAML uma i totonu o le lisi .k9s sa tonu lava .yml (.yaml e le lelei le galue).

Fa'ata'ita'iga fa'atusa:

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

Ofisa

O foliga vaaia o koluma mo lisi o punaoa e suia e ala i le fatuina o se faila $HOME/.k9s/views.yml. O se faʻataʻitaʻiga o lona anotusi:

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

E moni, e le lava le koluma mo igoa, lea e iai mataupu i le poloketi.

O le fa'avasegaina i koluma o lo'o fa'atinoina i le fa'aogaina o ala pupuu:

  • Shift + n - i le igoa;
  • Shift + o - e ala i nodes;
  • Shift + i - e ala i le IP;
  • Shift + a - e ala ile container i le olaga atoa;
  • Shift + t - i le numera o toe amata;
  • Shift + r - e ala i le tulaga sauni;
  • Shift + c - e ala ile fa'aogaina ole CPU;
  • Shift + m - e ala ile taumafaina manatua.

Afai e le fiafia se tasi i le faʻaogaina o lanu lanu, e lagolagoina foi e K9s paʻu. Fa'ata'ita'iga ua saunia (7 fasi pepa) o lo'o avanoa iinei. O se fa'ata'ita'iga lea o se tasi o nei pa'u (i le neivi):

Va'aiga lautele o k9s - ose feso'ota'iga pito i luma mo Kubernetes

Plugins

Mulimuli plugini fa'atagaina oe e fa'alautele le gafatia o K9s. O aʻu lava na faʻaaogaina naʻo le tasi o latou i laʻu galuega - kubectl get all -n $namespace.

E pei o lea. Fausia se faila $HOME/.k9s/plugin.yml ma mea e pei o lenei:

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"

O lea e mafai ona e alu i le igoa avanoa ma lolomi le "g" e faʻatino ai le faʻatonuga tutusa:

Va'aiga lautele o k9s - ose feso'ota'iga pito i luma mo Kubernetes

I totonu o plugini o loʻo i ai, mo se faʻataʻitaʻiga, faʻatasi ma kubectl-jq ma se aoga mo le matamataina o ogalaau. stern.

iʻuga

Mo loʻu tofo, K9s na foliga mai e faigofie tele ona faʻaoga: faʻatasi ai ma e mafai ona e faʻaaogaina vave i le sailia o mea uma e te manaʻomia e aunoa ma le faʻaaogaina. kubectl. Sa ou fiafia i le matamataina o ogalaau ma faasaoina i latou, faʻasaʻo vave o punaoa, saoasaoa o galuega lautele *, Popeye mode na faʻaaogaina e aoga. E tatau ona taʻua faʻapitoa le mafai ona fatuina plugini ma faʻavasega le talosaga e fetaui ma ou manaʻoga.

* E ui lava, faatasi ai ma le tele o ogalaau, na ou matauina foi le faagesegese o galuega a K9s. I na taimi, o le aoga "ai" 2 cores o le Intel Xeon E312xx ma e mafai foi ona malolo.

O le a le mea o lo'o misi i le taimi nei? Toe fo'i vave i le lomiga muamua (matou te le o talanoa e uiga i le RS) e aunoa ma le alu i le lisi. E le gata i lea, o le toe faʻaleleia e tupu naʻo mo aofaʻi punaoa: afai na e tapeina se faʻamatalaga poʻo se igoa, e tatau ona e tape ma toe faʻafoʻi le punaoa atoa (o le mea lea e te manaʻomia e te alu ai i le lisi). O le isi mea itiiti o lo'o misi le aso o ia fa'apolopolo "backups".

SALA

Faitau foi i la matou blog:

puna: www.habr.com

Faaopoopo i ai se faamatalaga