ProHoster > Blog > Pulega > 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:
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.)
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.
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 "?".
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:
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:
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.
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:
(O nei punaoa taʻitasi e mafai ona faʻasaʻo, suia, faia describe.)
Ma o le Deployment lea ma Ingress:
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).
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):
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:
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):
... 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:
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.
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:
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...
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".
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.
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
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):
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:
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".