Iyo purojekiti yakanyorwa muGo uye yave iripo kweanopfuura gore nehafu: yekutanga kuzvipira yakaitwa muna Kukadzi 1, 2019. Panguva yekunyora, pane 9000+ nyeredzi pa
Kuisa uye kutanga
Uyu mutengi (maererano neKubernetes cluster) application iri nyore kumhanya seDocker mufananidzo:
docker run --rm -it -v $KUBECONFIG:/root/.kube/config quay.io/derailed/k9s
Kune mamwe maLinux kugovera uye mamwe masisitimu anoshanda, kune zvakare akagadzirira-kuisa
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
Iko hakuna chaiyo inodiwa yeK8s cluster pachayo. Tichifunga nezve wongororo, chishandiso chinoshandawo neshanduro dzekare dzeKubernetes senge 1.12.
Iyo application inotangwa uchishandisa yakajairwa config .kube/config
- zvakafanana nezvainoita kubectl
.
Navigation
Nekumisikidza, hwindo rinovhurika rine default namespace yakatsanangurwa kune iyo mamiriro. Kureva, kana iwe wakanyora kubectl config set-context --current --namespace=test
, ipapo nzvimbo yezita ichavhurwa test
. (Ona pazasi pekuchinja mamiriro / nzvimbo dzezita.)
Enda ku command mode inoitwa nekudzvanya ":". Mushure meizvozvo, unogona kudzora kushanda kwek9s uchishandisa mirairo - semuenzaniso, kuona iyo rondedzero yeStatefulSets (mune yazvino namespace), unogona kupinda. :sts
.
Kune zvimwe zviwanikwa zveKubernetes:
-
:ns
- nzvimbo dzezita; -
:deploy
- Deployments; -
:ing
- Ingresses; -
:svc
- mabasa.
Kuti uratidze runyoro rwakakwana rwemhando dzezvishandiso zviripo zvekuona, pane murairo :aliases
.
Izvo zvakare zviri nyore kuona rondedzero yemirairo inowanikwa nekupisa kiyi musanganiswa mukati mehwindo razvino: kuita izvi, ingobaya pa "?".
Zvakare mu k9s mune kutsvaga maitiro, kuenda kwairi zvakakwana kupinda "/". Nayo, kutsvaga kunoitwa pane zviri mukati "hwindo" razvino. Ngatitii kana wakambopinda :ns
, une runyoro rwemazita akavhurwa. Kana pane zvakawanda zvadzo, saka kuitira kuti urege kupfuurira pasi kwenguva yakareba, zvakakwana kupinda muhwindo nemazita emazita. /mynamespace
.
Kutsvaga nemazita, unogona kusarudza ese mapodhi munzvimbo yaunoda mazita, wobva wapinda, semuenzaniso, / -l app=whoami
. Tichawana rondedzero yemapods ane label iyi:
Kutsvaga kunoshanda mumhando dzese dzemahwindo, kusanganisira matanda, kuona YAML inoratidzira, uye describe
kune zviwanikwa - ona pazasi kuti uwane rumwe ruzivo nezve aya maficha.
Ko kuyerera kwese kwese kunotaridzika sei?
Nemurairo :ctx
unogona kusarudza mamiriro:
Kusarudza nzvimbo yezita, pane murairo watotaurwa :ns
, uye ipapo unogona kushandisa kutsvaga kwenzvimbo yaunoda: /test
.
Kana isu tasarudza ikozvino sosi yatiri kufarira (semuenzaniso, iyo yakafanana StatefulSet), iyo inoenderana ruzivo ichaonekwa kune iyo: mangani mapodhi ari kumhanya aine ruzivo rupfupi pamusoro pavo.
Mapodhi chete anogona kufarira - saka zvakakwana kupinda :pod
. Kana iri ConfigMaps (:cm
- kune rondedzero yezviwanikwa izvi), unogona kusarudza chinhu chaunofarira uye tinya pa "u", mushure mezvo K9s ichakuudza kuti ndiani anonyatsoishandisa (iyi CM).
Chimwe chinhu chinobatsira chekuona zviwanikwa ndezvavo "X-ray" (Xray maonero). Iyi modhi inodanwa nemurairo :xray RESOURCE
uye ... zviri nyore kuratidza kuti zvinoshanda sei pane kutsanangura. Heino mufananidzo weStatefulSets:
(Imwe neimwe yezviwanikwa izvi inogona kugadziridzwa, kuchinjwa, kuitwa describe
.)
Uye heino Deployment neIngress:
Kushanda nezviwanikwa
Iwe unogona kuwana ruzivo nezve yega yega sosi muYAML kana yayo describe
nekudzvanya anoenderana mapfupi ekhibhodi ("y" uye "d", zvichiteerana). Ehezve, kune zvakatonyanya mashandiro ekutanga: rondedzero yavo uye mapfupi ekhibhodi anogara achionekwa nekuda kwe "musoro" wakanakira mune interface (yakavanzwa nekudzvanya Ctrl + e).
Paunenge uchigadzirisa chero sosi ("e" mushure mekusarudza kwayo), iwo mameseji edhita anotsanangurwa munzvimbo dzakasiyana-siyana anovhurwa (export EDITOR=vim
).
Uye hezvino izvo kutsanangurwa kwakadzama kweiyo sosi kunoratidzika (describe
):
Izvi zvinobuda (kana kuburitsa kwekuona iyo YAML sosi kuratidza) inogona kuchengetedzwa uchishandisa yakajairika keyboard nzira Ctrl + s. Kwaichachengeterwa ichazivikanwa kubva kune K9s meseji:
Log /tmp/k9s-screens-root/kubernetes/Describe-1601244920104133900.yml saved successfully!
Iwe unogona zvakare kudzoreredza zviwanikwa kubva kune akagadzirwa mafaera ekuchengetedza, mushure mekubvisa masisitimu mavara uye zvirevo. Kuti uite izvi, unofanirwa kuenda kune dhairekitori navo (:dir /tmp
), wobva wasarudza faira raunoda woisa apply
.
Nenzira, chero nguva iwe unogona kudzoreredza kune yakapfuura ReplicaSet kana paine matambudziko neazvino. Kuti uite izvi, sarudza yaunoda RS (:rs
kune yavo rondedzero):
... uye kudzoreredza neCtrl + l. Isu tinofanirwa kuwana chiziviso chekuti zvese zvakafamba zvakanaka:
k9s/whoami-5cfbdbb469 successfully rolled back
Uye kuyera replicas, ingobaya pa "s" (chiyero) uye sarudza nhamba yaunoda yezviitiko:
Iwe unogona kupinda chero yemidziyo uchishandisa goko: kuti uite izvi, enda kune yaunoda pod, tinya pa "s" (shell) uye sarudza mudziyo.
Zvimwe zvinhu
Ehe, kuona matanda zvakare kunotsigirwa ("l" kune yakasarudzwa sosi). Uye kuti utarise matanda matsva, hapana chikonzero chekugara uchidzvanya Enter: zvakakwana kumaka ("m"), uye wozotevera chete mameseji matsva.
Zvakare muhwindo rimwe chete, unogona kusarudza nguva yenguva yekubuda kwematanda:
- kiyi "1" - kweminiti 1;
- "2" - 5 maminitsi;
- "3" - 15 maminitsi;
- "4" - 30 maminitsi;
- "5" - 1 awa;
- "0" - kwehupenyu hwose hwepodhi.
Yakakosha yekushandisa mode Pulse (command :pulse
) inoratidza ruzivo rwakakwana nezve Kubernetes cluster:
Mariri iwe unogona kuona huwandu hwezviwanikwa uye chimiro chavo (girinhi inoratidza avo vane chimiro Running
).
Chimwe chinotonhorera chimiro cheK9s chinonzi Popeye. Inotarisa zvese zviwanikwa kune mamwe maitiro ekurongeka uye inoratidza mhedzisiro "rating" ine tsananguro. Semuenzaniso, iwe unogona kuona kuti hapana akakwana samples kana miganhu, uye imwe mudziyo inogona kumhanya semudzi ...
Pane tsigiro yakakosha yeHelm. Semuenzaniso, iyi ndiyo nzira yaunoona kuburitswa kwakaiswa musumbu:
:helm all # Π²ΡΠ΅
:helm $namespace # Π² ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½
chiero
Kunyange yakavakwa muK9s
Kuti uigonese, unofanirwa kugonesa port-mberi mune pod. Kuti uite izvi, sarudza podhi uye wodzvanya Shift + f, enda kune iyo port-mberi submenu uchishandisa "pf" alias.
Mushure mekusarudza chiteshi uye kudzvanya Ctrl + b, iyo bhenji pachayo ichatanga. Migumisiro yebasa rake inochengetwa mukati /tmp
uye anowanikwa kuti aonekwe gare gare muK9s.
Kuti uchinje kugadzirisa kwebhenji, unofanirwa kugadzira faira $HOME/.k9s/bench-<my_context>.yml
(yakatemerwa sumbu rega rega).
NB: Izvo zvakakosha kuti kuwedzeredzwa kwemafaira ese YAML mudhairekitori .k9s
zvaiva chaizvo .yml
(.yaml
haina kushanda nemazvo).
Configuration muenzaniso:
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
inowanikwa
Kuonekwa kwemakoramu emazita ezviwanikwa anogadziriswa nekugadzira faira $HOME/.k9s/views.yml
. Muenzaniso wezvirimo:
k9s:
views:
v1/pods:
columns:
- AGE
- NAMESPACE
- NAME
- IP
- NODE
- STATUS
- READY
v1/services:
columns:
- AGE
- NAMESPACE
- NAME
- TYPE
- CLUSTER-IP
Ichokwadi, hapana koramu yakakwana yezvinyorwa, izvo zviripo
Kuronga nemakoramu kunoitwa nezvipfupi zve keyboard:
- Shift + n - nezita;
- Shift + o - nemanodhi;
- Shift + i - neIP;
- Shift + a - nehupenyu hwese mudziyo;
- Shift + t - nehuwandu hwekutangazve;
- Shift + r - nemamiriro ekugadzirira;
- Shift + c - neCPU kushandiswa;
- Shift + m - nekushandisa ndangariro.
Kana mumwe munhu asingadi iyo default color scheme, K9s inototsigira
Mapulagi
Pakupedzisira kubectl get all -n $namespace
.
Zvinoita seizvi. Gadzira faira $HOME/.k9s/plugin.yml
nezvirimo sezvizvi:
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"
Iye zvino unogona kuenda kunzvimbo yezita uye wodzvanya "g" kuita nemirairo inoenderana:
Pakati pemapulagi pane, semuenzaniso, kubatanidzwa ne kubectl-jq uye chishandiso chekuona matanda.
mhedziso
Nekuravira kwangu, K9s yakave yakanakira kushanda nayo: unogona kukurumidza kujaira kutsvaga zvese zvaunoda usingazvishandise. kubectl
. Ndakafadzwa nekuona kwematanda uye kuchengetedza kwavo, kukurumidza kugadzirisa zviwanikwa, kukurumidza kwebasa mune zvese *, iyo Popeye mode yakave inobatsira. Kunyanya kutaurwa ndiko kugona kugadzira plugins uye kugadzirisa iyo application kuti ikwane zvaunoda.
* Kunyange zvazvo, nehuwandu hwematanda, ndakaonawo kushanda zvishoma nezvishoma kweK9s. Panguva dzakadai, iyo yekushandisa "yakadya" 2 cores kubva kuIntel Xeon E312xx uye inogona kutoomesa.
Chii chiri kushaikwa panguva ino? Kurumidza kudzoreredza kune yakapfuura vhezheni (hatisi kutaura nezveRS) tisina kuenda kune dhairekitori. Mukuwedzera, kupora kunoitika chete chizere resource: kana iwe ukadzima annotation kana label, iwe uchafanirwa kudzima uye kudzoreredza iyo yese sosi (apa ndipo paunoda kuenda kune dhairekitori). Chimwe chidiki - hapana zuva rakakwana re "backups" dzakachengetwa dzakadaro.
PS
Verenga zvakare pablog yedu:
- Β«
Mhedziso yeGUIs yeKubernetes "; - Β«
Kuziviswa kweKubernetes Web View (uye pfupiso yemamwe mawebhu maUI eKubernetes) "; - Β«
kubebox uye mamwe mabhomba eKubernetes ".
Source: www.habr.com