{"id":97736,"date":"2020-10-21T14:42:17","date_gmt":"2020-10-21T12:42:17","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/obzor-k9s-prodvinutogo-terminalnogo-interfejsa-dlya-kubernetes"},"modified":"2020-10-21T14:42:17","modified_gmt":"2020-10-21T12:42:17","slug":"obzor-k9s-prodvinutogo-terminalnogo-interfejsa-dlya-kubernetes","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/obzor-k9s-prodvinutogo-terminalnogo-interfejsa-dlya-kubernetes","title":{"rendered":"P\u00ebrmbledhje e k9s \u2014 nj\u00eb nd\u00ebrfaqe e avancuar terminali p\u00ebr Kubernetes","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"P\u00ebrmbledhje e k9s \u2014 nj\u00eb nd\u00ebrfaqe e avancuar terminali p\u00ebr Kubernetes\" src=\"\/wp-content\/uploads\/2020\/10\/11274841ee84b0e2c3ac74c9c738faba.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/k9scli.io\/\">K9s<\/a><\/noindex> ofron nj\u00eb nd\u00ebrfaqe terminali p\u00ebr tu nd\u00ebrvepruar me klaster\u00ebt Kubernetes. Q\u00ebllimi i k\u00ebtij projekti Open Source \u00ebsht\u00eb t\u00eb leht\u00ebsoj\u00eb navigimin e rehatsh\u00ebm n\u00eb aplikacionet n\u00eb K8s, mbik\u00ebqyrjen e tyre dhe menaxhimin e tyre. K9s vazhdimisht monitoron ndryshimet n\u00eb Kubernetes dhe ofron komanda t\u00eb shpejta p\u00ebr punuar me burimet e mbik\u00ebqyrura.<\/p>\n<p>Projekti \u00ebsht\u00eb shkruar n\u00eb Go dhe ekziston prej m\u00eb shum\u00eb se nj\u00eb vit e gjysm\u00eb: commit-i i par\u00eb \u00ebsht\u00eb b\u00ebr\u00eb m\u00eb 1 shkurt 2019. N\u00eb momentin e shkrimit t\u00eb k\u00ebtij artikulli, num\u00ebrohen m\u00eb shum\u00eb se 9000 yje n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/derailed\/k9s\">GitHub<\/a><\/noindex> dhe rreth 80 kontribuues. Le t\u00eb shohim se \u00e7far\u00eb di t\u00eb b\u00ebj\u00eb k9s?<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Instalimi dhe nisja<\/h2>\n<p>\nKy \u00ebsht\u00eb nj\u00eb aplikacion klienti (n\u00eb lidhje me klasterin Kubernetes) q\u00eb \u00ebsht\u00eb m\u00eb e leht\u00eb p\u00ebr t'u nisur si nj\u00eb imazh Docker:<\/p>\n<pre><code class=\"bash\">docker run --rm -it -v $KUBECONFIG:\/root\/.kube\/config quay.io\/derailed\/k9s<\/code><\/pre>\n<p>\nP\u00ebr disa distribucione Linux dhe sisteme t\u00eb tjera, gjithashtu ka versione t\u00eb gatshme p\u00ebr instalim <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/derailed\/k9s#installation\">paketet<\/a><\/noindex>. N\u00eb rregullin e p\u00ebrgjithsh\u00ebm p\u00ebr sistemet Linux, mund t\u00eb instaloni skedarin binar:<\/p>\n<pre><code class=\"bash\">sudo wget -qO- https:\/\/github.com\/derailed\/k9s\/releases\/download\/v0.22.0\/k9s_Linux_x86_64.tar.gz | tar zxvf -  -C \/tmp\/\nsudo mv \/tmp\/k9s \/usr\/local\/bin<\/code><\/pre>\n<p>\nNuk ka k\u00ebrkesa specifike p\u00ebr klastrin K8s. Sipas komenteve, aplikacioni funksionon edhe me versione t\u00eb vjetra t\u00eb Kubernetes, si\u00e7 \u00ebsht\u00eb 1.12.<\/p>\n<p>Aplikacioni aktivizohet duke p\u00ebrdorur konfigurimin standard <code>.kube\/config<\/code> \u2014 ashtu si\u00e7 b\u00ebn <code>kubectl<\/code>.<\/p>\n<h2>Navigimi<\/h2>\n<p>\nMe p\u00ebrjashtim, hapet nj\u00eb dritare me namespace standard, i cili \u00ebsht\u00eb i specifikuar p\u00ebr kontekstin. Dometh\u00ebn\u00eb, n\u00ebse keni shkruar <code>kubectl config set-context --current --namespace=test<\/code>, at\u00ebher\u00eb do t\u00eb hapet namespace <code>test<\/code>. <i>(P\u00ebr kalimin e konteksteve\/nj\u00ebsive shih m\u00eb posht\u00eb.) <\/i><\/p>\n<p><img decoding=\"async\" alt=\"P\u00ebrmbledhje e k9s \u2014 nj\u00eb nd\u00ebrfaqe e avancuar terminali p\u00ebr Kubernetes\" src=\"\/wp-content\/uploads\/2020\/10\/820fcbdd376abc95d67bf202f34c880c.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKalimi n\u00eb <b>modin komand\u00eb<\/b> t\u00eb realizohet duke shtypur \":\". Pas k\u00ebsaj mund t\u00eb menaxhoni funksionimin e k9s me komanda \u2014 p\u00ebr shembull, p\u00ebr t\u00eb par\u00eb list\u00ebn e StatefulSets (n\u00eb nj\u00ebsin\u00eb aktuale) mund t\u00eb shkruani <code>:sts<\/code>.<\/p>\n<p><img decoding=\"async\" alt=\"P\u00ebrmbledhje e k9s \u2014 nj\u00eb nd\u00ebrfaqe e avancuar terminali p\u00ebr Kubernetes\" src=\"\/wp-content\/uploads\/2020\/10\/840724fc656b22e67519c53983065862.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nP\u00ebr disa burime t\u00eb tjera t\u00eb Kubernetes:<\/p>\n<ul>\n<li> <code>:ns<\/code> \u2014 Namespaces;<\/li>\n<li> <code>:deploy<\/code> \u2014 Deployments;<\/li>\n<li> <code>:ing<\/code> \u2014 Ingresses;<\/li>\n<li> <code>:svc<\/code> \u2014 Services.<\/li>\n<\/ul>\n<p>\nP\u00ebr t\u00eb shfaqur nj\u00eb list\u00eb t\u00eb plot\u00eb t\u00eb llojeve t\u00eb burimeve, t\u00eb disponueshme p\u00ebr t'u par\u00eb, ka nj\u00eb komand\u00eb <code>:aliases<\/code>.<\/p>\n<p>\u00cbsht\u00eb e dobishme t\u00eb shihni edhe list\u00ebn e komandave, t\u00eb disponueshme me kombinatoret e nxeht\u00eb n\u00eb kuad\u00ebr t\u00eb dritares aktuale: p\u00ebr k\u00ebt\u00eb mjafton t\u00eb shtypni \"?\".<\/p>\n<p><img decoding=\"async\" alt=\"P\u00ebrmbledhje e k9s \u2014 nj\u00eb nd\u00ebrfaqe e avancuar terminali p\u00ebr Kubernetes\" src=\"\/wp-content\/uploads\/2020\/10\/54d329f9eeda2424f457aef6b977ae63.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nGjithashtu, n\u00eb k9s ka <b>modin e k\u00ebrkimit<\/b>, p\u00ebr t\u00eb kaluar n\u00eb t\u00eb cilin mjafton t\u00eb shkruani \u00ab\/\u00bb. Me t\u00eb b\u00ebhet k\u00ebrkimi n\u00eb p\u00ebrmbajtjen e \u00abdritares\u00bb aktuale. Le t\u00eb themi, n\u00ebse keni futur m\u00eb par\u00eb <code>:ns<\/code>, keni hapur nj\u00eb list\u00eb emrash hap\u00ebsinore. N\u00ebse ka shum\u00eb prej tyre, p\u00ebr t\u00eb mos skroluar gjat\u00eb posht\u00eb, mjafton t\u00eb shkruani n\u00eb dritaren me emrat e hap\u00ebsir\u00ebs <code>\/mynamespace<\/code>.<\/p>\n<p>P\u00ebr t\u00eb k\u00ebrkuar sipas etiketave, mund t\u00eb zgjidhni t\u00eb gjith\u00eb pod'\u00ebt n\u00eb hap\u00ebsir\u00ebn e nevojshme t\u00eb emrave, pastaj t\u00eb shkruani, p\u00ebr shembull, <code>\/ -l app=whoami<\/code>. Ne do t\u00eb marrim nj\u00eb list\u00eb pod'\u00ebsh me k\u00ebt\u00eb etiket\u00eb:<\/p>\n<p><img decoding=\"async\" alt=\"P\u00ebrmbledhje e k9s \u2014 nj\u00eb nd\u00ebrfaqe e avancuar terminali p\u00ebr Kubernetes\" src=\"\/wp-content\/uploads\/2020\/10\/88b8e09a5b7819bcf49334bf351b040b.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nK\u00ebrkimi funksionon n\u00eb t\u00eb gjitha llojet e dritareve, duke p\u00ebrfshir\u00eb log\u00ebt, shikimin e manifesteve YAML dhe <code>describe<\/code> p\u00ebr burimet \u2014 m\u00eb shum\u00eb rreth k\u00ebtyre mund\u00ebsive shih m\u00eb posht\u00eb.<\/p>\n<p>Si duket p\u00ebrgjith\u00ebsisht sekonda e veprimeve p\u00ebr navigim?<\/p>\n<p>Me komand\u00ebn <code>:ctx<\/code> mund t\u00eb zgjidhni kontekstin:<\/p>\n<p><img decoding=\"async\" alt=\"P\u00ebrmbledhje e k9s \u2014 nj\u00eb nd\u00ebrfaqe e avancuar terminali p\u00ebr Kubernetes\" src=\"\/wp-content\/uploads\/2020\/10\/a5e780a3fc98961913c966222e167d51.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nP\u00ebr t\u00eb zgjedhur hap\u00ebsir\u00ebn e emrave, ekziston komand\u00eb e p\u00ebrmendur m\u00eb par\u00eb <code>:ns<\/code>, dhe m\u00eb pas mund t\u00eb p\u00ebrdorni k\u00ebrkimin p\u00ebr hap\u00ebsir\u00ebn e nevojshme: <code>\/test<\/code>.<\/p>\n<p>N\u00ebse tani zgjidhni burimin q\u00eb na intereson (p\u00ebr shembull, e nj\u00ebjta StatefulSet), do t\u00eb shfaqet informacioni p\u00ebrkat\u00ebs: sa pod'e jan\u00eb t\u00eb nisura me p\u00ebrmbledhje t\u00eb shkurt\u00ebr rreth tyre.<\/p>\n<p><img decoding=\"async\" alt=\"P\u00ebrmbledhje e k9s \u2014 nj\u00eb nd\u00ebrfaqe e avancuar terminali p\u00ebr Kubernetes\" src=\"\/wp-content\/uploads\/2020\/10\/8e0d8c41b8673b7c29f2605d3ae59503.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMund t\u00eb jen\u00eb t\u00eb nevojshme vet\u00ebm pod'\u00ebt \u2014 at\u00ebher\u00eb mjafton t\u00eb shkruani <code>:pod<\/code>. N\u00eb rastin e ConfigMap'\u00ebve (<code>:cm<\/code> \u2014 p\u00ebr list\u00ebn e k\u00ebtyre burimeve) mund t\u00eb zgjidhni objektin q\u00eb ju intereson dhe t\u00eb klikoni 'u', pas s\u00eb cil\u00ebs K9s do t\u00eb tregoj\u00eb se kush konkretisht e p\u00ebrdor (k\u00ebt\u00eb CM).<\/p>\n<p>Nj\u00eb ve\u00e7ori tjet\u00ebr e dobishme p\u00ebr t\u00eb par\u00eb burimet \u2014 ato <b>\u00abrentgen\u00bb (pamja XRay)<\/b>. Ky mod \u00ebshta activate me komand\u00ebn <code>:xray RESOURCE<\/code> dhe\u2026 \u00ebsht\u00eb m\u00eb e leht\u00eb t\u00eb tregosh se si funksionon sesa t\u00eb shpjegosh. Ja nj\u00eb ilustim p\u00ebr StatefulSets:<\/p>\n<p><img decoding=\"async\" alt=\"P\u00ebrmbledhje e k9s \u2014 nj\u00eb nd\u00ebrfaqe e avancuar terminali p\u00ebr Kubernetes\" src=\"\/wp-content\/uploads\/2020\/10\/de40ebfe06ca935d2bc36323b3f16f3e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>(\u00c7do nga k\u00ebto burime mund t\u00eb redaktohet, t\u00eb ndryshohet, t\u00eb b\u00ebhet <code>describe<\/code>.)<\/i><\/p>\n<p>Ja Deployment me Ingress:<\/p>\n<p><img decoding=\"async\" alt=\"P\u00ebrmbledhje e k9s \u2014 nj\u00eb nd\u00ebrfaqe e avancuar terminali p\u00ebr Kubernetes\" src=\"\/wp-content\/uploads\/2020\/10\/598c1b25b787dcb1cf9660fa730d74c5.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>Puna me burimet<\/h2>\n<p>\nP\u00ebr \u00e7do burim mund t\u00eb merrni informacion n\u00eb YAML ose n\u00eb <code>describe<\/code> duke klikuar n\u00eb kombinimet e duhur t\u00eb tasteve ('y' dhe 'd' p\u00ebrkat\u00ebsisht). Operacionet themelore, sigurisht, jan\u00eb edhe m\u00eb shum\u00eb: lista e tyre dhe kombinimet e tasteve jan\u00eb gjithmon\u00eb n\u00eb pamje fal\u00eb 'header'-it t\u00eb p\u00ebrshtatsh\u00ebm n\u00eb nd\u00ebrfaqe (fshihet duke klikuar Ctrl + e).<\/p>\n<p><img decoding=\"async\" alt=\"P\u00ebrmbledhje e k9s \u2014 nj\u00eb nd\u00ebrfaqe e avancuar terminali p\u00ebr Kubernetes\" src=\"\/wp-content\/uploads\/2020\/10\/6bbe4ca07442e1e14a462586d14ef98d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nN\u00eb redaktimin e \u00e7do burimi ('e' pas zgjedhjes) hapet nj\u00eb redaktues teksti, i caktuar n\u00eb variablat e ambientit (<code>export EDITOR=vim<\/code>).<\/p>\n<p>Ja si duket p\u00ebrshkrimi i detajuar i burimit (<code>describe<\/code>):<\/p>\n<p><img decoding=\"async\" alt=\"P\u00ebrmbledhje e k9s \u2014 nj\u00eb nd\u00ebrfaqe e avancuar terminali p\u00ebr Kubernetes\" src=\"\/wp-content\/uploads\/2020\/10\/05fdb57e3b85d1b81c9bfc6414aca117.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKy rezultat (ose rezultati i pamjes YAML t\u00eb manifestit t\u00eb burimit) mund t\u00eb ruhet me kombinimin e zakonsh\u00ebm t\u00eb tasteve Ctrl + s. Ku do t\u00eb ruhet, do t\u00eb dihet nga mesazhi K9s:<\/p>\n<pre><code class=\"plaintext\">Log \/tmp\/k9s-screens-root\/kubernetes\/Describe-1601244920104133900.yml u ruajt me sukses!<\/code><\/pre>\n<p>\nNga skedar\u00ebt e krijuar p\u00ebr backup, mund t\u00eb rikthehen burimet, duke hequr paraprakisht etiketat dhe annotimet sistematike. P\u00ebr k\u00ebt\u00eb, do t\u00eb k\u00ebrkohet t\u00eb kaloni n\u00eb direktorin\u00eb p\u00ebrkat\u00ebse (<code>:dir \/tmp<\/code>), pastaj t\u00eb zgjidhni skedarin e nevojsh\u00ebm dhe ta aplikoni <code>apliko<\/code>.<\/p>\n<p>P\u00ebr m\u00eb tep\u00ebr, n\u00eb \u00e7do moment mund t\u00eb riktheheni edhe n\u00eb ReplicaSet-in e m\u00ebparsh\u00ebm, n\u00ebse ka probleme me at\u00eb aktual. P\u00ebr k\u00ebt\u00eb, duhet t\u00eb zgjidhni RS-n\u00eb e nevojshme (<code>:rs<\/code> p\u00ebr list\u00ebn e tyre):<\/p>\n<p><img decoding=\"async\" alt=\"P\u00ebrmbledhje e k9s \u2014 nj\u00eb nd\u00ebrfaqe e avancuar terminali p\u00ebr Kubernetes\" src=\"\/wp-content\/uploads\/2020\/10\/de0ea37d970c51514559288661bdc6f2.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u2026 dhe t\u00eb kryeni rollback me Ctrl + l. Duhet t\u00eb marrim nj\u00eb njoftim q\u00eb gjith\u00e7ka ka shkuar me sukses:<\/p>\n<pre><code class=\"plaintext\">k9s\/whoami-5cfbdbb469 u rikthye me sukses<\/code><\/pre>\n<p>\nDhe p\u00ebr t\u00eb skaluar replikat, mjafton t\u00eb shtypni \u00abs\u00bb (scale) dhe t\u00eb zgjidhni numrin e duhura t\u00eb instancave:<\/p>\n<p><img decoding=\"async\" alt=\"P\u00ebrmbledhje e k9s \u2014 nj\u00eb nd\u00ebrfaqe e avancuar terminali p\u00ebr Kubernetes\" src=\"\/wp-content\/uploads\/2020\/10\/145093030db754c9ef85810cbba3ed5c.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nN\u00eb \u00e7do nj\u00eb nga kontejner\u00ebt mund t\u00eb hyni p\u00ebrmes shell: p\u00ebr k\u00ebt\u00eb kaloni te pod-i p\u00ebrkat\u00ebs, shtypni \u00abs\u00bb (shell) dhe zgjidhni kontejnerin.<\/p>\n<h2>Mund\u00ebsi t\u00eb tjera<\/h2>\n<p>\nSigurisht, mb\u00ebshtetet gjithashtu shikimi i logeve (\u00abl\u00bb p\u00ebr burimin e zgjedhur). Dhe p\u00ebr t\u00eb par\u00eb loget e reja, nuk ka nevoj\u00eb t\u00eb shtypni vazhdimisht Enter: mjafton t\u00eb b\u00ebni nj\u00eb markim (\u00abm\u00bb), pas t\u00eb cilit do t\u00eb ndjekim vet\u00ebm mesazhet e reja.<\/p>\n<p><img decoding=\"async\" alt=\"P\u00ebrmbledhje e k9s \u2014 nj\u00eb nd\u00ebrfaqe e avancuar terminali p\u00ebr Kubernetes\" src=\"\/wp-content\/uploads\/2020\/10\/05aa9657f744b9e3d09034862e1befe7.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nGjithashtu, n\u00eb k\u00ebt\u00eb dritare mund t\u00eb zgjidhni nj\u00eb interval kohor p\u00ebr shfaqjen e logeve:<\/p>\n<ul>\n<li> Tastiera \u00ab1\u00bb \u2014 p\u00ebr 1 minut\u00eb;<\/li>\n<li> \u00ab2\u00bb \u2014 5 minuta;<\/li>\n<li> \u00ab3\u00bb \u2014 15 minuta;<\/li>\n<li> \u00ab4\u00bb \u2014 30 minuta;<\/li>\n<li> \u00ab5\u00bb \u2014 1 or\u00eb;<\/li>\n<li> \u00ab0\u00bb \u2014 p\u00ebr gjith\u00eb koh\u00ebzgjatjen e pod'it.<\/li>\n<\/ul>\n<p>\nRezhimi i ve\u00e7ant\u00eb i pun\u00ebs s\u00eb Pulse (komanda <code>:pulse<\/code>) tregon informacionin e p\u00ebrgjithsh\u00ebm mbi Kubernetes-klasterin:<\/p>\n<p><img decoding=\"async\" alt=\"P\u00ebrmbledhje e k9s \u2014 nj\u00eb nd\u00ebrfaqe e avancuar terminali p\u00ebr Kubernetes\" src=\"\/wp-content\/uploads\/2020\/10\/413d241ad7518f49c523fa59f51702a6.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAty mund t\u00eb shihni numrin e burimeve dhe gjendjen e tyre (me ngjyr\u00eb t\u00eb gjelb\u00ebr shfaqen ato q\u00eb kan\u00eb status <code>Running<\/code>).<\/p>\n<p>Nj\u00eb funksion tjet\u00ebr interesant i K9s quhet <b>Popeye<\/b>. Ai kontrollon t\u00eb gjitha burimet sipas kritereve t\u00eb caktuara t\u00eb sakt\u00ebsis\u00eb dhe jep \u00abrenditjen\u00bb me shpjegime. P\u00ebr shembull, mund t\u00eb shihni q\u00eb mungojn\u00eb kufizimet ose limite t\u00eb caktuara, dhe ndonj\u00eb kontejner mund t\u00eb exeutohet n\u00ebn p\u00ebrdoruesin root\u2026<\/p>\n<p><img decoding=\"async\" alt=\"P\u00ebrmbledhje e k9s \u2014 nj\u00eb nd\u00ebrfaqe e avancuar terminali p\u00ebr Kubernetes\" src=\"\/wp-content\/uploads\/2020\/10\/a6bc5ea45b5749fb4e1038b82374b3c4.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKa mb\u00ebshtetje baz\u00eb p\u00ebr Helm. P\u00ebr shembull, k\u00ebshtu mund t\u00eb shihni l\u00ebshimet e depozituara n\u00eb klaster:<\/p>\n<pre><code class=\"bash\">:helm all # t\u00eb gjitha\n:helm $namespace # n\u00eb hap\u00ebsir\u00ebn specifike t\u00eb emrave\n<\/code><\/pre>\n<p><\/p>\n<h2>Benchmark<\/h2>\n<p>\nN\u00eb K9s \u00ebsht\u00eb integruar madje <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/rakyll\/hey\">hey<\/a><\/noindex> \u2014 ky \u00ebsht\u00eb nj\u00eb gjenerator i thjesht\u00eb ngarkese p\u00ebr serverin HTTP, alternativ\u00eb ndaj ab (ApacheBench).<\/p>\n<p>P\u00ebr ta aktivizuar at\u00eb, k\u00ebrkohet aktivizimi i port-forward n\u00eb pod. P\u00ebr k\u00ebt\u00eb, zgjidhni pod-in dhe shtypni Shift + f, kaloni n\u00eb n\u00ebnmenun\u00eb port-forward me aliasin \u00abpf\u00bb.<\/p>\n<p><img decoding=\"async\" alt=\"P\u00ebrmbledhje e k9s \u2014 nj\u00eb nd\u00ebrfaqe e avancuar terminali p\u00ebr Kubernetes\" src=\"\/wp-content\/uploads\/2020\/10\/651f25269c0998c716ab9c0c4b5e0455.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPas zgjedhjes s\u00eb portit dhe shtypjes s\u00eb Ctrl + b, do t\u00eb nis\u00eb vet\u00eb benchmarkun. Rezultatet e pun\u00ebs s\u00eb tij ruajn\u00eb n\u00eb <code>\/tmp<\/code> dhe jan\u00eb t\u00eb disponueshme p\u00ebr shikim t\u00eb m\u00ebvonsh\u00ebm n\u00eb K9s. <\/p>\n<p><img decoding=\"async\" alt=\"P\u00ebrmbledhje e k9s \u2014 nj\u00eb nd\u00ebrfaqe e avancuar terminali p\u00ebr Kubernetes\" src=\"\/wp-content\/uploads\/2020\/10\/57b2fe1d078e9aca1c6afccd318094da.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<img decoding=\"async\" alt=\"P\u00ebrmbledhje e k9s \u2014 nj\u00eb nd\u00ebrfaqe e avancuar terminali p\u00ebr Kubernetes\" src=\"\/wp-content\/uploads\/2020\/10\/3b2bf031e8442e47eb3482187ac5b64d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nP\u00ebr t\u00eb ndryshuar konfigurimin e benchmark-ut, duhet t\u00eb krijoni nj\u00eb skedar <code>$HOME\/.k9s\/bench-&lt;my_context&gt;.yml<\/code> (e cila p\u00ebrcaktohet p\u00ebr \u00e7do grumbull).<\/p>\n<p><i>NB: \u00cbsht\u00eb e r\u00ebnd\u00ebsishme q\u00eb p\u00ebrmasat e t\u00eb gjith\u00eb skedar\u00ebve YAML n\u00eb direktorin\u00eb <code>.k9s<\/code> t\u00eb jen\u00eb sakt\u00ebsisht <code>.yml<\/code> (<code>.yaml<\/code> nuk funksionon si\u00e7 duhet).<\/i><\/p>\n<p>Shembulli i konfiguracionit:<\/p>\n<pre><code class=\"bash\">benchmarks:\n  defaults:\n    # Numri i fijeve\n    concurrency: 2\n    # Numri i k\u00ebrkesave\n    requests: 1000\n  containers:\n    # Cil\u00ebsimet p\u00ebr kontejnerin me benchmark\n    # Konteineri p\u00ebrcaktohet si namespace\/pod-name:container-name\n    default\/nginx:nginx:\n      concurrency: 2\n      requests: 10000\n      http:\n        path: \/\n        method: POST\n        body:\n          {\"foo\":\"bar\"}\n        header:\n          Accept:\n            - text\/html\n          Content-Type:\n            - application\/json\n services:\n    # Mund t\u00eb b\u00ebni benchmark n\u00eb sh\u00ebrbime si NodePort dhe LoadBalancer\n    # Sintaksa: namespace\/service-name\n    default\/nginx:\n      concurrency: 5\n      requests: 500\n      http:\n        method: GET\n        path: \/auth\n      auth:\n        user: flant\n        password: s3cr3tp455w0rd\n<\/code><\/pre>\n<p><\/p>\n<h2>Interfaci<\/h2>\n<p>\nPamja e koloneve p\u00ebr listat e burimeve modifikohet duke krijuar nj\u00eb skedar <code>$HOME\/.k9s\/views.yml<\/code>. Shembulli i p\u00ebrmbajtjes s\u00eb tij:<\/p>\n<pre><code class=\"plaintext\">k9s:\n views:\n   v1\/pods:\n     columns:\n       - AGE\n       - NAMESPACE\n       - NAME\n       - IP\n       - NODE\n       - STATUS\n       - READY\n   v1\/services:\n     columns:\n       - AGE\n       - NAMESPACE\n       - NAME\n       - TYPE\n       - CLUSTER-IP\n<\/code><\/pre>\n<p>\n<i>E v\u00ebrtet\u00eb, mungon nj\u00eb kolone p\u00ebr etiketat, p\u00ebr t\u00eb cil\u00ebn ka <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/derailed\/k9s\/issues\/605\">issue n\u00eb projekt<\/a><\/noindex>.<\/i><\/p>\n<p>Sortimi sipas kolonave b\u00ebhet me kombinime t\u00eb tastier\u00ebs:<\/p>\n<ul>\n<li> Shift + n \u2014 sipas emrit;<\/li>\n<li> Shift + o \u2014 sipas nyjeve;<\/li>\n<li> Shift + i \u2014 sipas IP;<\/li>\n<li> Shift + a \u2014 sipas koh\u00ebs s\u00eb jet\u00ebs s\u00eb kontejnerit;<\/li>\n<li> Shift + t \u2014 sipas numrit t\u00eb rilidhjeve;<\/li>\n<li> Shift + r \u2014 sipas statusit t\u00eb gatishm\u00ebris\u00eb;<\/li>\n<li> Shift + c \u2014 sipas konsumit t\u00eb CPU;<\/li>\n<li> Shift + m \u2014 sipas konsumit t\u00eb memories.<\/li>\n<\/ul>\n<p>\nN\u00ebse dikujt nuk i p\u00eblqen dizajni i ngjyrave nga e para, n\u00eb K9s mb\u00ebshteten madje <noindex><a rel=\"nofollow\" href=\"https:\/\/k9scli.io\/topics\/skins\/\">temat<\/a><\/noindex>. Shembuj t\u00eb gatsh\u00ebm (7 t\u00eb till\u00eb) jan\u00eb t\u00eb disponuesh\u00ebm <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/derailed\/k9s\/tree\/master\/skins\">k\u00ebtu<\/a><\/noindex>. Ja nj\u00eb shembull i nj\u00eb nga k\u00ebtyre temave <i>(n\u00eb det)<\/i>:<\/p>\n<p><img decoding=\"async\" alt=\"P\u00ebrmbledhje e k9s \u2014 nj\u00eb nd\u00ebrfaqe e avancuar terminali p\u00ebr Kubernetes\" src=\"\/wp-content\/uploads\/2020\/10\/4a4378f2c2d36eb3985e2b71d733c444.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>Plugins<\/h2>\n<p>\nM\u00eb n\u00eb fund, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/derailed\/k9s\/tree\/master\/plugins\">plugina<\/a><\/noindex> lejojn\u00eb zgjerimin e mund\u00ebsive t\u00eb K9s. Un\u00eb vet\u00eb n\u00eb pun\u00eb kam p\u00ebrdorur vet\u00ebm nj\u00eb prej tyre \u2014 <code>kubectl get all -n $namespace<\/code>.<\/p>\n<p>Kjo duket k\u00ebshtu. Krijojm\u00eb nj\u00eb skedar <code>$HOME\/.k9s\/plugin.yml<\/code> me k\u00ebt\u00eb p\u00ebrmbajtje:<\/p>\n<pre><code class=\"bash\">plugin:\n get-all:\n   shortCut: g    \n   confirm: false    \n   description: merr t\u00eb gjitha\n   scopes:\n   - all\n   command: sh\n   background: false\n   args:\n   - -c\n   - \"kubectl -n $NAMESPACE get all -o wide | less\"<\/code><\/pre>\n<p>\nT now mund t\u00eb kaloni n\u00eb hap\u00ebsir\u00ebn e emrave dhe t\u00eb shtypni \u00abg\u00bb p\u00ebr t\u00eb ekzekutuar me komand\u00ebn p\u00ebrkat\u00ebse:<\/p>\n<p><img decoding=\"async\" alt=\"P\u00ebrmbledhje e k9s \u2014 nj\u00eb nd\u00ebrfaqe e avancuar terminali p\u00ebr Kubernetes\" src=\"\/wp-content\/uploads\/2020\/10\/c79bbf26b6c321a97cedabf22f1699b9.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nN\u00eb mesin e plugins ka, p\u00ebr shembull, integrime me kubectl-jq dhe utilitarin p\u00ebr shikimin e logjeve <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/wercker\/stern\">stern<\/a><\/noindex>.<\/p>\n<h2>P\u00ebrfundimi<\/h2>\n<p>\nSipas mendimit tim, K9s \u00ebsht\u00eb treguar shum\u00eb i p\u00ebrshtatsh\u00ebm p\u00ebr pun\u00eb: \u00ebsht\u00eb m\u00ebsuar mjaft shpejt t\u00eb k\u00ebrkosh gjith\u00e7ka t\u00eb nevojshme pa p\u00ebrdorim <code>kubectl<\/code>. M\u00eb ka k\u00ebnaqur shikimi i log\u00ebve dhe ruajtja e tyre, redaktimi i shpejt\u00eb i resurseve, shpejt\u00ebsia e pun\u00ebs n\u00eb t\u00ebr\u00ebsi*, m'u duk e dobishme m\u00ebnyra Popeye. Vlen t\u00eb p\u00ebrmendet possibilteti p\u00ebr t\u00eb krijuar harduer dhe p\u00ebr t\u00eb p\u00ebrmir\u00ebsuar aplikacionin sipas nevojave tuaja.<\/p>\n<p><i>* Megjithat\u00eb, kur kishte nj\u00eb volum t\u00eb madh log\u00ebsh, vura re gjithashtu pun\u00ebn e ngadal\u00ebsuar t\u00eb K9s. N\u00eb k\u00ebto momente, utilitarja \u2018han\u2019 2 b\u00ebrthama nga Intel Xeon E312xx dhe mund t\u00eb ngrinte edhe.<\/i><\/p>\n<p>\u00c7far\u00eb i mungon n\u00eb k\u00ebt\u00eb moment? Nj\u00eb rikthim i shpejt\u00eb n\u00eb versionin e m\u00ebparsh\u00ebm (n\u00eb t\u00eb folur p\u00ebr RS) pa kaluar n\u00eb dosje. P\u00ebr m\u00eb tep\u00ebr, rikuperimi ndodh vet\u00ebm p\u00ebr <i>p\u00ebr<\/i> resurset: n\u00ebse keni fshir\u00eb sh\u00ebnimin ose etiket\u00ebn, do t\u00eb duhet t\u00eb fshini dhe rikuperoni t\u00eb gjith\u00eb burimin (k\u00ebtu do t\u00eb nevojitet t\u00eb kaloni n\u00eb dosje). Nj\u00eb holl\u00ebsi tjet\u00ebr \u2014 mungon data e k\u00ebtyre \u2018b\u00ebkape\u2019 t\u00eb ruajtura.<\/p>\n<h2>P.S.<\/h2>\n<p>\nLexoni gjithashtu n\u00eb blogun ton\u00eb:<\/p>\n<ul>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/506948\/\">P\u00ebrmbledhja e nd\u00ebrfaqeve grafike p\u00ebr Kubernetes<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/468041\/\">Ankandi i nd\u00ebrfaqes n\u00eb web t\u00eb Kubernetes Web View (dhe nj\u00eb p\u00ebrmbledhje e shkurt\u00ebr e UI-ve t\u00eb tjera p\u00ebr Kubernetes)<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/426985\/\">kubebox dhe konsola t\u00eb tjera p\u00ebr Kubernetes<\/a><\/noindex>\u00bb.<\/li>\n<\/ul>\n<p>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/524196\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>K9s \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0430 \u0434\u043b\u044f \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430\u043c\u0438 Kubernetes. \u0426\u0435\u043b\u044c \u044d\u0442\u043e\u0433\u043e Open Source-\u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u2014 \u043e\u0431\u043b\u0435\u0433\u0447\u0438\u0442\u044c \u0443\u0434\u043e\u0431\u043d\u0443\u044e \u043d\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044e \u043f\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c \u0432 K8s, \u043d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u0435 \u0437\u0430 \u043d\u0438\u043c\u0438 \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0438\u043c\u0438. K9s \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0441\u043b\u0435\u0434\u0438\u0442 \u0437\u0430 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\u043c\u0438 \u0432 Kubernetes \u0438 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u0431\u044b\u0441\u0442\u0440\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0435\u043c\u044b\u043c\u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c\u0438. \u041f\u0440\u043e\u0435\u043a\u0442 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 Go, \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0443\u0436\u0435 \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u043b\u0443\u0442\u043e\u0440\u0430 \u043b\u0435\u0442: \u043f\u0435\u0440\u0432\u044b\u0439 \u043a\u043e\u043c\u043c\u0438\u0442 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":97737,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-97736","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"K9s \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0430 \u0434\u043b\u044f \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430\u043c\u0438 Kubernetes. \u0426\u0435\u043b\u044c \u044d\u0442\u043e\u0433\u043e Open Source-\u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u2014 \u043e\u0431\u043b\u0435\u0433\u0447\u0438\u0442\u044c \u0443\u0434\u043e\u0431\u043d\u0443\u044e \u043d\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044e \u043f\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c \u0432 K8s, \u043d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u0435 \u0437\u0430 \u043d\u0438\u043c\u0438 \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0438\u043c\u0438. K9s \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0441\u043b\u0435\u0434\u0438\u0442 \u0437\u0430 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\u043c\u0438 \u0432 Kubernetes \u0438 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u0431\u044b\u0441\u0442\u0440\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0435\u043c\u044b\u043c\u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c\u0438. \u041f\u0440\u043e\u0435\u043a\u0442 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 Go, \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0443\u0436\u0435 \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u043b\u0443\u0442\u043e\u0440\u0430 \u043b\u0435\u0442: \u043f\u0435\u0440\u0432\u044b\u0439 \u043a\u043e\u043c\u043c\u0438\u0442\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/obzor-k9s-prodvinutogo-terminalnogo-interfejsa-dlya-kubernetes\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041e\u0431\u0437\u043e\u0440 k9s \u2014 \u043f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u043e\u0433\u043e \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u0434\u043b\u044f Kubernetes | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"K9s \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0430 \u0434\u043b\u044f \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430\u043c\u0438 Kubernetes. \u0426\u0435\u043b\u044c \u044d\u0442\u043e\u0433\u043e Open Source-\u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u2014 \u043e\u0431\u043b\u0435\u0433\u0447\u0438\u0442\u044c \u0443\u0434\u043e\u0431\u043d\u0443\u044e \u043d\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044e \u043f\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c \u0432 K8s, \u043d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u0435 \u0437\u0430 \u043d\u0438\u043c\u0438 \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0438\u043c\u0438. K9s \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0441\u043b\u0435\u0434\u0438\u0442 \u0437\u0430 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\u043c\u0438 \u0432 Kubernetes \u0438 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u0431\u044b\u0441\u0442\u0440\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0435\u043c\u044b\u043c\u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c\u0438. \u041f\u0440\u043e\u0435\u043a\u0442 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 Go, \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0443\u0436\u0435 \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u043b\u0443\u0442\u043e\u0440\u0430 \u043b\u0435\u0442: \u043f\u0435\u0440\u0432\u044b\u0439 \u043a\u043e\u043c\u043c\u0438\u0442\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/obzor-k9s-prodvinutogo-terminalnogo-interfejsa-dlya-kubernetes\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-10-21T12:42:17+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-10-21T12:42:17+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47P\u00ebrmbledhje e k9s \u2014 nd\u00ebrfaqja e avancuar e terminalit p\u00ebr Kubernetes | ProHoster","description":"K9s ofron nj\u00eb nd\u00ebrfaqe terminali p\u00ebr t\u00eb nd\u00ebrvepruar me klaster\u00ebt Kubernetes. Q\u00ebllimi i k\u00ebtij projekti Open Source \u00ebsht\u00eb t\u00eb leht\u00ebsoj\u00eb navigimin e rehatsh\u00ebm n\u00eb aplikacione n\u00eb K8s, v\u00ebzhgimin e tyre dhe menaxhimin e tyre. K9s vazhdimisht monitoron ndryshimet n\u00eb Kubernetes dhe ofron komanda t\u00eb shpejta p\u00ebr t\u00eb punuar me burimet e v\u00ebzhguara. Projekti \u00ebsht\u00eb shkruar n\u00eb Go dhe ekziston m\u00eb shum\u00eb se nj\u00eb vit e gjysm\u00eb: komiti i par\u00eb","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/obzor-k9s-prodvinutogo-terminalnogo-interfejsa-dlya-kubernetes","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041e\u0431\u0437\u043e\u0440 k9s \u2014 \u043f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u043e\u0433\u043e \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u0434\u043b\u044f Kubernetes | ProHoster","og:description":"K9s \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0430 \u0434\u043b\u044f \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430\u043c\u0438 Kubernetes. \u0426\u0435\u043b\u044c \u044d\u0442\u043e\u0433\u043e Open Source-\u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u2014 \u043e\u0431\u043b\u0435\u0433\u0447\u0438\u0442\u044c \u0443\u0434\u043e\u0431\u043d\u0443\u044e \u043d\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044e \u043f\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c \u0432 K8s, \u043d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u0435 \u0437\u0430 \u043d\u0438\u043c\u0438 \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0438\u043c\u0438. K9s \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0441\u043b\u0435\u0434\u0438\u0442 \u0437\u0430 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\u043c\u0438 \u0432 Kubernetes \u0438 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u0431\u044b\u0441\u0442\u0440\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0435\u043c\u044b\u043c\u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c\u0438. \u041f\u0440\u043e\u0435\u043a\u0442 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 Go, \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0443\u0436\u0435 \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u043b\u0443\u0442\u043e\u0440\u0430 \u043b\u0435\u0442: \u043f\u0435\u0440\u0432\u044b\u0439 \u043a\u043e\u043c\u043c\u0438\u0442","og:url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/obzor-k9s-prodvinutogo-terminalnogo-interfejsa-dlya-kubernetes","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-10-21T12:42:17+00:00","article:modified_time":"2020-10-21T12:42:17+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"97736","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 10:14:39","updated":"2022-10-03 07:12:05"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/97736","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=97736"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/97736\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/97737"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=97736"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=97736"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=97736"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}