
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+ 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/k9sKwa magawo ena a Linux ndi makina ena ogwiritsira ntchito, palinso okonzeka kuyika . 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/binPalibe 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.)

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.
![]()
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 "?".

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:
![]()
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:

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.
![]()
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:

(Chilichonse mwazinthu izi chikhoza kusinthidwa, kusinthidwa, kupangidwa describe.)
Ndipo nayi Kutumiza ndi Ingress:

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).

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):

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):

... ndi kubwereranso ndi Ctrl + l. Tiyenera kulandira chidziwitso kuti zonse zidayenda bwino:
k9s/whoami-5cfbdbb469 successfully rolled backNdipo kuti muwonjezere zofananira, ingodinani pa "s" (mulingo) ndikusankha kuchuluka komwe mukufuna:

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.

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:

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 ...

Pali chithandizo chofunikira cha Helm. Mwachitsanzo, umu ndi momwe mungawonere zotulutsidwa zomwe zayikidwa pagulu:
:helm all # все
:helm $namespace # в конкретном пространстве имен
miyeso yolinganizira
Ngakhale zomangidwa mu K9s 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.

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


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 .
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 . Zitsanzo zopangidwa kale (zidutswa 7) zilipo . Nachi chitsanzo cha chimodzi mwa zikopa izi (mu navy):

Mapulagini
Pomaliza 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:

Mwa mapulagini pali, mwachitsanzo, kuphatikiza ndi kubectl-jq ndi chida chowonera zipika. .
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
