Iprojekthi ibhalwe kwi-Go kwaye sele ikhona ngaphezu konyaka onesiqingatha: isibophelelo sokuqala senziwe ngoFebruwari 1, 2019. Ngexesha lokubhalwa, kukho i-9000+ yeenkwenkwezi
Ukufakela kunye nokuqaliswa
Lo ngumxhasi (ngokunxulumene neqela leKubernetes) isicelo esisebenza ngokulula njengomfanekiso weDocker:
docker run --rm -it -v $KUBECONFIG:/root/.kube/config quay.io/derailed/k9s
Kwezinye izinikezelo zeLinux kunye nezinye iinkqubo zokusebenza, zikwakhona zilungele ukuhlohla
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
Akukho zimfuneko zithile zeqela le-K8s ngokwalo. Ukujonga ngophononongo, isicelo sikwasebenza kunye neenguqulelo ezindala zeKubernetes ezinje nge-1.12.
Isicelo siqaliswa kusetyenziswa uqwalaselo oluqhelekileyo .kube/config
- iyafana nendlela esenza ngayo kubectl
.
Ukuhambahamba
Ngokungagqibekanga, iwindow ivula ngesithuba samagama esingagqibekanga esikhankanyiweyo kumxholo. Oko kukuthi, ukuba ubhale kubectl config set-context --current --namespace=test
, emva koko isithuba samagama siya kuvuleka test
. (Jonga ngezantsi ukuze utshintshe iimeko/izithuba zamagama.)
Yiya e imo yomyalelo yenziwa ngokucofa ":". Emva koko, unokulawula ukusebenza kwee-k9s usebenzisa imiyalelo-umzekelo, ukujonga uluhlu lwe-StatefulSets (kwisithuba samagama sangoku), ungangena. :sts
.
Ukufumana ezinye izixhobo zeKubernetes:
-
:ns
- izithuba zamagama; -
:deploy
- Ukusasazwa; -
:ing
- Ingresses; -
:svc
- iinkonzo.
Ukubonisa uluhlu olupheleleyo lweentlobo zemithombo ekhoyo yokujongwa, kukho umyalelo :aliases
.
Kukwafanelekile ukujonga uluhlu lwemiyalelo ekhoyo ngokudibanisa izitshixo ezishushu ngaphakathi kwefestile yangoku: ukwenza oku, nqakraza nje ku "?".
Kwakhona kwiik9s kukho indlela yokukhangela, ukuya apho kwanele ukungena "/". Ngayo, uphando lwenziwa kwimixholo ye "window" yangoku. Masithi ukuba ubufakile ngaphambili :ns
, unoluhlu lwezithuba zamagama ezivuliweyo. Ukuba zininzi kakhulu, ngoko ukuze ungakroli phantsi ixesha elide, kwanele ukungena kwifestile ngezithuba zamagama. /mynamespace
.
Ukukhangela ngeelebhile, ungakhetha zonke iipods kwindawo efunwayo yamagama, emva koko ngenisa, umzekelo, / -l app=whoami
. Siza kufumana uluhlu lwee-pods ezinelebula:
Uphendlo lusebenza kuzo zonke iintlobo zeefestile, ukuquka iilog, ukujonga i-YAML ibonakalisa, kunye describe
ngezibonelelo - bona ngezantsi ngeenkcukacha ezithe vetshe kwezi mpawu.
Ingaba ijongeka njani indlela yokukhangela xa iyonke?
Ngomyalelo :ctx
ungakhetha umxholo:
Ukukhetha isithuba segama, kukho umyalelo osele ukhankanyiwe :ns
, kwaye emva koko ungasebenzisa uphendlo lwesithuba esifunekayo: /test
.
Ukuba ngoku sikhetha isibonelelo esinomdla kuyo (umzekelo, i-StatefulSet efanayo), ulwazi oluhambelanayo luya kuvela kuyo: zingaphi iipods ezisebenzayo kunye nolwazi olufutshane malunga nabo.
Iipods kuphela ezinokuba nomdla - ngoko kwanele ukungena :pod
. Kwimeko yeConfigMaps (:cm
- kuluhlu lwezi zixhobo), ungakhetha into enomdla kwaye ucofe ku "u", emva koko i-K9s iya kukuxelela ukuba ngubani oyisebenzisayo ngokuthe ngqo (le CM).
Olunye uphawu oluluncedo lokujonga izixhobo zabo "x-reyi" (umbono weXray). Le ndlela ibizwa ngokuba ngumyalelo :xray RESOURCE
kwaye ... kulula ukubonisa indlela esebenza ngayo kunokucacisa. Nanku umzekeliso weStatefulSets:
(Nganye kwezi zixhobo zinokuhlelwa, zitshintshwe, zenziwe describe
.)
Kwaye nantsi ukuhanjiswa nge-Ingress:
Ukusebenza ngezibonelelo
Ungafumana ulwazi malunga nesixhobo ngasinye kwi-YAML okanye kuyo describe
ngokucinezela iindlela ezimfutshane ezihambelanayo (βyβ kunye βdβ, ngokulandelelanayo). Ewe kunjalo, kukho imisebenzi esisiseko ngakumbi: uluhlu lwazo kunye neendlela ezimfutshane zebhodi yezitshixo zihlala zibonakala ngokubulela "kwisihloko" esifanelekileyo kwi-interface (efihliweyo ngokucinezela Ctrl + e).
Xa uhlela nawuphi na uvimba ("e" emva kokukhethwa kwawo), umhleli wokubhaliweyo ochazwe kwimeko-bume eguquguqukayo uyavulwa.export EDITOR=vim
).
Kwaye nantsi indlela inkcazo eneenkcukacha yomthombo ibonakala njani (describe
):
Le mveliso (okanye imveliso yokubonisela imbonakalo yesixhobo ye-YAML) ingagcinwa kusetyenziswa indlela emfutshane yebhodi yezitshixo eqhelekileyo Ctrl + s. Apho iya kugcinwa khona iya kwaziwa kumyalezo we-K9s:
Log /tmp/k9s-screens-root/kubernetes/Describe-1601244920104133900.yml saved successfully!
Unako kwakhona ukubuyisela izibonelelo kwiifayile ezigciniweyo ezenziweyo, emva kokususa iilebhile zenkqubo kunye nezichasiselo. Ukwenza oku, kufuneka uye kulawulo nabo (:dir /tmp
), emva koko ukhethe ifayile oyifunayo kwaye usebenzise apply
.
Ngendlela, nangaliphi na ixesha ungabuyela umva kwiReplicaSet yangaphambili ukuba kukho iingxaki ngale yangoku. Ukwenza oku, khetha i-RS efunekayo (:rs
kuluhlu lwabo):
... kwaye ubuyisele umva ngeCtrl + l. Kufuneka sifumane isaziso sokuba yonke into ihambe kakuhle:
k9s/whoami-5cfbdbb469 successfully rolled back
Kwaye ukukala iireplicas, nqakraza nje kwi "s" (isikali) kwaye ukhethe inani elifunekayo lemizekelo:
Ungangena naziphi na izitya usebenzisa igobolondo: ukwenza oku, yiya kwipod oyifunayo, nqakraza kwi "s" (igobolondo) kwaye ukhethe isitya.
Ezinye iimpawu
Ewe, iilog zokujonga zikwaxhaswa ("l" kumthombo okhethiweyo). Kwaye ukuze ubukele iilogi ezintsha, akukho mfuneko yokucofa rhoqo u-Enter: kwanele ukuphawula ("m"), kwaye emva koko ulandele imiyalezo emitsha kuphela.
Kwakwifestile enye, ungakhetha uluhlu lwexesha lemveliso yelog:
- isitshixo "1" - ngomzuzu omnye;
- "2" - 5 imizuzu;
- "3" - 15 imizuzu;
- "4" - 30 imizuzu;
- "5" - 1 iyure;
- "0" - kubo bonke ubomi bepod.
Imo yokusebenza ekhethekileyo Pulse (umyalelo :pulse
) ibonisa ulwazi jikelele malunga neqela leKubernetes:
Kuyo ungabona inani lezibonelelo kunye nesimo sazo (okuluhlaza kubonisa abo banesimo Running
).
Olunye uphawu olupholileyo lwe-K9s lubizwa ngokuba Popeye. Ijonga zonke izibonelelo kwiikhrayitheriya ezithile zokuchaneka kwaye ibonise iziphumo "zokulinganisa" kunye neengcaciso. Umzekelo, uyabona ukuba akukho sampuli zaneleyo okanye imida, kwaye esinye isikhongozeli sinokusebenza njengengcambu ...
Kukho inkxaso yeHelm esisiseko. Umzekelo, nantsi indlela onokubona ngayo ukhupho lubekwe kwiqela:
:helm all # Π²ΡΠ΅
:helm $namespace # Π² ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½
Benchmark
Kwakhiwe kwiiK9s
Ukuze uyenze, kufuneka uvule izibuko-phambili kwipod. Ukwenza oku, khetha i-pod kwaye ucinezele i-Shift + f, yiya kwi-port-forward submenu usebenzisa i-alias "pf".
Emva kokukhetha izibuko kunye nokucofa i-Ctrl + b, ibhentshi ngokwayo iya kuqala. Iziphumo zomsebenzi wakhe zigcinwe ngaphakathi /tmp
kwaye ziyafumaneka ukuze zijongwe kamva kwii-K9s.
Ukutshintsha uqwalaselo lwebenchmark, kufuneka wenze ifayile $HOME/.k9s/bench-<my_context>.yml
(imiselwe kwiqela ngalinye).
QAPHELA: Kubalulekile ukuba ukwandiswa kwazo zonke iifayile ze-YAML kuluhlu .k9s
yayinjalo kanye .yml
(.yaml
ayisebenzi kakuhle).
Umzekelo woqwalaselo:
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
ujongano
Inkangeleko yeentsika zoluhlu lwemithombo ilungiswa ngokudala ifayile $HOME/.k9s/views.yml
. Umzekelo womxholo wayo:
k9s:
views:
v1/pods:
columns:
- AGE
- NAMESPACE
- NAME
- IP
- NODE
- STATUS
- READY
v1/services:
columns:
- AGE
- NAMESPACE
- NAME
- TYPE
- CLUSTER-IP
Enyanisweni, akukho kholamu yaneleyo yeelebhile, ekhoyo
Ukuhlela ngokwezintlu kwenziwa ngondlela-mfutshane:
- Shift + n - ngegama;
- Shift + o - ngamaqhuqhuva;
- Shift + i - nge-IP;
- Shift + a - ngexesha lokuphila kwesikhongozeli;
- Shift + t - ngenani lokuqalisa kwakhona;
- Shift + r - ngesimo sokulungela;
- Shift + c - ngokusetyenziswa kwe-CPU;
- Shift + m - ngokusetyenziswa kwememori.
Ukuba umntu akaluthandi udweliso lombala olungagqibekanga, ii-K9s zikwaxhasa
Iiplagi
Ekugqibeleni kubectl get all -n $namespace
.
Ijongeka ngolu hlobo. Yenza ifayile $HOME/.k9s/plugin.yml
ngomxholo onje:
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"
Ngoku ungaya kwindawo yegama kwaye ucinezele "g" ukuphumeza ngomyalelo ohambelanayo:
Phakathi kweeplagi kukho, umzekelo, udibaniso ne kubectl-jq kunye nezinto eziluncedo zokujonga iilog.
isiphelo
Kwincasa yam, ii-K9s ziye zalunga kakhulu ukusebenza nazo: unokukhawuleza ukuqhela ukukhangela yonke into oyifunayo ngaphandle kokuyisebenzisa. kubectl
. Ndonwabile ngumbono weelogi kunye nokugcinwa kwazo, ukulungiswa ngokukhawuleza kwezixhobo, isantya somsebenzi ngokubanzi *, imo yePopeye yajika yaba luncedo. Ukukhankanywa okukhethekileyo kukukwazi ukwenza iiplagi kunye nokuguqula isicelo ukuze silingane neemfuno zakho.
* Nangona, ngomthamo omkhulu wezigodo, ndaye ndaqaphela ukusebenza kancinane kweeK9s. Ngezo zihlandlo, into eluncedo "yayidla" ii-cores ezi-2 ukusuka kwi-Intel Xeon E312xx kwaye inokukhenkceza.
Yintoni engekhoyo ngeli xesha? Ukubuyisela umva ngokukhawuleza kuguqulelo lwangaphambili (hayi malunga neRS) ngaphandle kokuya kulawulo. Ukongeza, ukuchacha kwenzeka kuphela lilonke resource: ukuba ucima isichasiselo okanye ilebhile, kuya kufuneka ucime kwaye ubuyisele uvimba wonke (apha kulapho kufuneka uye khona kulawulo). Enye into encinci - akukho mhla waneleyo wale "backups" ezigciniweyo.
PS
Funda nakwibhlog yethu:
- Β«
Isishwankathelo se-GUIs zeKubernetes "; - Β«
Isibhengezo seKubernetes Web View (kunye nesishwankathelo esifutshane sezinye ii-UI zewebhu zeKubernetes) "; - Β«
kubebox kunye namanye amaqokobhe eKubernetes Β».
umthombo: www.habr.com