{"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\/et\/blog\/administrirovanie\/obzor-k9s-prodvinutogo-terminalnogo-interfejsa-dlya-kubernetes","title":{"rendered":"K9s \u00fclevaade \u2014 t\u00e4iustatud terminali liides Kubernetes'e jaoks","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"K9s \u00fclevaade \u2014 t\u00e4iustatud terminali liides Kubernetes&#039;e jaoks\" 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> pakub terminali kasutajaliidese, et suhelda Kubernetes'i klastritega. Selle avatud l\u00e4htekoodi projekti eesm\u00e4rk on h\u00f5lbustada navigeerimist K8s rakendustes, nende j\u00e4lgimist ja haldamist. K9s j\u00e4lgib pidevalt muutusi Kubernetes'is ja pakub kiireid k\u00e4ske j\u00e4lgitavate ressursside haldamiseks.<\/p>\n<p>Projekt on kirjutatud Go keeles ja on tegutsenud \u00fcle pooleteise aasta: esimene commit tehti 1. veebruaril 2019. Artikli kirjutamise hetkel on \u00fcle 9000 t\u00e4he ja umbes 80 kaast\u00f6\u00f6tajat. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/derailed\/k9s\">GitHub<\/a><\/noindex> Vaatame, mida k9s oskab?<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Paigaldamine ja k\u00e4ivitamine<\/h2>\n<p>\nSee on kliendirakendus (Kubernetes'i klastri suhtes), mida on k\u00f5ige lihtsam k\u00e4ivitada kui Docker'i kujund:<\/p>\n<pre><code class=\"bash\">docker run --rm -it -v $KUBECONFIG:\/root\/.kube\/config quay.io\/derailed\/k9s<\/code><\/pre>\n<p>\nM\u00f5nede Linux'i distributsioonide ja muude ops\u00fcsteemide jaoks on ka valmis installimiseks paketid. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/derailed\/k9s#installation\">paketid<\/a><\/noindex>\u00dcldiselt v\u00f5ib Linux'i s\u00fcsteemide jaoks paigaldada binaarfaili:<\/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>\nKlaster K8s jaoks ei ole mingeid spetsiifilisi n\u00f5udeid. Tagasiside p\u00f5hjal t\u00f6\u00f6tab rakendus ka vanemate Kubernetes'i versioonidega, nagu 1.12.<\/p>\n<p>Rakendus k\u00e4ivitub standardse konfi kasutamisega <code>.kube\/config<\/code> \u2014 sarnaselt sellele, mida teeb <code>kubectl<\/code>.<\/p>\n<h2>Navigeerimine<\/h2>\n<p>\nVaikimisi avatakse aken standardse namespace'iga, mis on m\u00e4rgitud kontekstiks. See t\u00e4hendab, et kui olete kirjutanud <code>kubectl config set-context --current --namespace=test<\/code>, siis avataksegi namespace <code>test<\/code>. <i>(Konteksti\/nimi ruumide vahetamisest lugege allpool.) <\/i><\/p>\n<p><img decoding=\"async\" alt=\"K9s \u00fclevaade \u2014 t\u00e4iustatud terminali liides Kubernetes&#039;e jaoks\" src=\"\/wp-content\/uploads\/2020\/10\/820fcbdd376abc95d67bf202f34c880c.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nLiikumine <b>k\u00e4skude re\u017eiimi<\/b> toimub vajutades \u00ab:\u00bb. P\u00e4rast seda saate k9s-i t\u00f6\u00f6d juhtida k\u00e4skudega \u2014 n\u00e4iteks, et vaadata StatefulSets'i loendit (praeguses nime ruumis), saate sisestada <code>:sts<\/code>.<\/p>\n<p><img decoding=\"async\" alt=\"K9s \u00fclevaade \u2014 t\u00e4iustatud terminali liides Kubernetes&#039;e jaoks\" src=\"\/wp-content\/uploads\/2020\/10\/840724fc656b22e67519c53983065862.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nM\u00f5nede teiste Kubernetes'i ressursside jaoks:<\/p>\n<ul>\n<li> <code>:ns<\/code> \u2014 Nimi ruumid;<\/li>\n<li> <code>:deploy<\/code> \u2014 Rakendused;<\/li>\n<li> <code>:ing<\/code> \u2014 Sisenemised;<\/li>\n<li> <code>:svc<\/code> \u2014 Teenused.<\/li>\n<\/ul>\n<p>\nKogu ressursside t\u00fc\u00fcpide loendi kuvamiseks on k\u00e4sk <code>:aliases<\/code>.<\/p>\n<p>Mugav on vaadata ka k\u00e4skude loendit, mis on saadaval kuumade klahvikombinatsioonide kaudu praeguses aknas: selleks piisab, kui vajutada \u00ab?\u00bb.<\/p>\n<p><img decoding=\"async\" alt=\"K9s \u00fclevaade \u2014 t\u00e4iustatud terminali liides Kubernetes&#039;e jaoks\" src=\"\/wp-content\/uploads\/2020\/10\/54d329f9eeda2424f457aef6b977ae63.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nK9s-is on ka <b>otsingu re\u017eiim<\/b>, millele p\u00e4\u00e4semiseks piisab, kui sisestate \u00ab\/\u00bb. Sellega otsitakse praeguse \u00abakna\u00bb sisu. Oletame, et olete enne seda sisestanud <code>:ns<\/code>, teil, et teil on nimekirja nimesid. Kui neid on liialt palju, et mitte pikalt all kerida, piisab, kui kirjutad namespaces aknas. <code>\/mynamespace<\/code>.<\/p>\n<p>Kaupade leidmiseks saab valida k\u00f5ik pod\u2018id soovitud nimiruumi j\u00e4rgi ja seej\u00e4rel n\u00e4iteks sisestada <code>\/ -l app=whoami<\/code>. Saame loendi pod\u2018idest, millel on see silt:<\/p>\n<p><img decoding=\"async\" alt=\"K9s \u00fclevaade \u2014 t\u00e4iustatud terminali liides Kubernetes&#039;e jaoks\" src=\"\/wp-content\/uploads\/2020\/10\/88b8e09a5b7819bcf49334bf351b040b.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nOtsing toimib k\u00f5igis akendes, sealhulgas logides, YAML-manifeste vaadates ja <code>describe<\/code> ressursside jaoks \u2014 lisainfot nende v\u00f5imaluste kohta vt allpool.<\/p>\n<p>Milline on \u00fcldine tegevuste j\u00e4rjestus navigeerimiseks?<\/p>\n<p>K\u00e4sk <code>:ctx<\/code> saad valida konteksti:<\/p>\n<p><img decoding=\"async\" alt=\"K9s \u00fclevaade \u2014 t\u00e4iustatud terminali liides Kubernetes&#039;e jaoks\" src=\"\/wp-content\/uploads\/2020\/10\/a5e780a3fc98961913c966222e167d51.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNimespetsi valimiseks on juba mainitud k\u00e4sk <code>:ns<\/code>, seej\u00e4rel saad kasutada otsingut vajaliku nimespetsi jaoks: <code>\/test<\/code>.<\/p>\n<p>Kui n\u00fc\u00fcd valitakse huvipakkuv ressurss (n\u00e4iteks sama StatefulSet), kuvatakse vastav teave: kui palju pod'e on k\u00e4imas koos nende l\u00fchikese teabega.<\/p>\n<p><img decoding=\"async\" alt=\"K9s \u00fclevaade \u2014 t\u00e4iustatud terminali liides Kubernetes&#039;e jaoks\" src=\"\/wp-content\/uploads\/2020\/10\/8e0d8c41b8673b7c29f2605d3ae59503.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nV\u00f5ib olla huvipakkuvad ainult pod'id \u2014 siis piisab, kui kirjutada <code>:pod<\/code>. ConfigMap\u2018ide puhul (<code>:cm<\/code> \u2014 nende ressursside nimekirja jaoks) saad valida huvipakkuva objekti ja vajutada 'u', mille j\u00e4rel K9s n\u00e4itab, kes konkreetset (seda CM) kasutab.<\/p>\n<p>Veel \u00fcks mugav funktsioon ressursside vaatamiseks \u2014 nende <b>\"r\u00f6ntgen\" (XRay view)<\/b>. Selline re\u017eiim k\u00e4ivitatakse k\u00e4suga <code>:xray RESOURCE<\/code> ja... on lihtsam n\u00e4idata, kuidas see t\u00f6\u00f6tab, kui selgitada. Siin on illustreeriv n\u00e4ide StatefulSets'i kohta:<\/p>\n<p><img decoding=\"async\" alt=\"K9s \u00fclevaade \u2014 t\u00e4iustatud terminali liides Kubernetes&#039;e jaoks\" src=\"\/wp-content\/uploads\/2020\/10\/de40ebfe06ca935d2bc36323b3f16f3e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>(Iga neid ressursse saab redigeerida, muuta, teha <code>describe<\/code>.)<\/i><\/p>\n<p>Siin on Deployment koos Ingress'iga:<\/p>\n<p><img decoding=\"async\" alt=\"K9s \u00fclevaade \u2014 t\u00e4iustatud terminali liides Kubernetes&#039;e jaoks\" src=\"\/wp-content\/uploads\/2020\/10\/598c1b25b787dcb1cf9660fa730d74c5.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>T\u00f6\u00f6tamine ressurssidega<\/h2>\n<p>\nIga ressursi kohta on v\u00f5imalik saada teavet YAML formaadis v\u00f5i tema <code>describe<\/code> vajutades vastavaid klaviatuurikombinatsioone (\u00aby\u00bb ja \u00abd\u00bb vastavalt). P\u00f5hitegevusi on muidugi veel rohkem: nende loetelu ja klaviatuurikombinatsioonid on alati n\u00e4htavad t\u00e4nu mugavale \u00abpealkirjale\u00bb liideses (mis peidetakse, vajutades Ctrl + e).<\/p>\n<p><img decoding=\"async\" alt=\"K9s \u00fclevaade \u2014 t\u00e4iustatud terminali liides Kubernetes&#039;e jaoks\" src=\"\/wp-content\/uploads\/2020\/10\/6bbe4ca07442e1e14a462586d14ef98d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nRessursi redigeerimise korral (vajutades \u00abe\u00bb p\u00e4rast selle valimist) avaneb tekstiredaktor, mis on m\u00e4\u00e4ratud keskkonnamuutujates (<code>export EDITOR=vim<\/code>).<\/p>\n<p>Siin on, kuidas ressursi \u00fcksikasjalik kirjeldus v\u00e4lja n\u00e4eb (<code>describe<\/code>):<\/p>\n<p><img decoding=\"async\" alt=\"K9s \u00fclevaade \u2014 t\u00e4iustatud terminali liides Kubernetes&#039;e jaoks\" src=\"\/wp-content\/uploads\/2020\/10\/05fdb57e3b85d1b81c9bfc6414aca117.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSellise v\u00e4ljundi (v\u00f5i YAML-maniifesti kuvamise v\u00e4ljundi) saab salvestada tavalise klaviatuurikombinatsiooni Ctrl + s abil. Kuhu see salvestatakse, selgub K9s'i s\u00f5numist:<\/p>\n<pre><code class=\"plaintext\">Log \/tmp\/k9s-screens-root\/kubernetes\/Describe-1601244920104133900.yml salvestatud edukalt!<\/code><\/pre>\n<p>\nLoodud varufailidest saab ka ressursse taastada, eemaldates eelnevalt s\u00fcsteemi sildid ja annotatsioonid. Selleks tuleb minna kaustadesse, kus need asuvad (<code>:dir \/tmp<\/code>), see valitud fail ja rakenda <code>rakenda<\/code>.<\/p>\n<p>Muide, igal ajal on v\u00f5imalik tagasi minna varasemale ReplicaSet'ile, kui praegusega on probleeme. Selleks tuleb valida soovitud RS (<code>:rs<\/code> nende loendist):<\/p>\n<p><img decoding=\"async\" alt=\"K9s \u00fclevaade \u2014 t\u00e4iustatud terminali liides Kubernetes&#039;e jaoks\" src=\"\/wp-content\/uploads\/2020\/10\/de0ea37d970c51514559288661bdc6f2.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u2026 ja teostada rollback klahv kombinatsiooniga Ctrl + l. Peame saama teate, et k\u00f5ik on l\u00e4inud edukalt:<\/p>\n<pre><code class=\"plaintext\">k9s\/whoami-5cfbdbb469 on edukalt tagasiviidud<\/code><\/pre>\n<p>\nJa et koopiaid skaleerida, piisab, kui vajutada \u00abs\u00bb (scale) ja valida soovitud eksemplaride arv:<\/p>\n<p><img decoding=\"async\" alt=\"K9s \u00fclevaade \u2014 t\u00e4iustatud terminali liides Kubernetes&#039;e jaoks\" src=\"\/wp-content\/uploads\/2020\/10\/145093030db754c9ef85810cbba3ed5c.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIgas konteineris saab shell'i kaudu sisse minna: selleks liikuda soovitud pod'ile, vajutada \u00abs\u00bb (shell) ja valida konteiner.<\/p>\n<h2>Teised v\u00f5imalused<\/h2>\n<p>\nLoomulikult toetatakse ka logide vaatamist (\u00abl\u00bb valitud ressursi jaoks). Ja et vaadata uusi logisid, ei pea pidevalt vajutama Enter: piisab, kui teha m\u00e4rgistus (\u00abm\u00bb), p\u00e4rast mida j\u00e4lgida ainult uusi s\u00f5numeid.<\/p>\n<p><img decoding=\"async\" alt=\"K9s \u00fclevaade \u2014 t\u00e4iustatud terminali liides Kubernetes&#039;e jaoks\" src=\"\/wp-content\/uploads\/2020\/10\/05aa9657f744b9e3d09034862e1befe7.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSamuti saab selles aknas valida ajavahemiku logide kuvamiseks:<\/p>\n<ul>\n<li> klahv \u00ab1\u00bb \u2014 1 minuti jooksul;<\/li>\n<li> \u00ab2\u00bb \u2014 5 minutit;<\/li>\n<li> \u00ab3\u00bb \u2014 15 minutit;<\/li>\n<li> \u00ab4\u00bb \u2014 30 minutit;<\/li>\n<li> \u00ab5\u00bb \u2014 1 tund;<\/li>\n<li> \u201e0\u201c \u2014 pod\u2018i kogu eluea jooksul.<\/li>\n<\/ul>\n<p>\nPulse'i erire\u017eiim (k\u00e4sk <code>:pulse<\/code>) n\u00e4itab \u00fcldteavet Kubernetes'i klastrist:<\/p>\n<p><img decoding=\"async\" alt=\"K9s \u00fclevaade \u2014 t\u00e4iustatud terminali liides Kubernetes&#039;e jaoks\" src=\"\/wp-content\/uploads\/2020\/10\/413d241ad7518f49c523fa59f51702a6.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSelles saab n\u00e4ha ressursside arvu ja nende seisundit (roheline n\u00e4itab neid, millel on staatus) <code>Running<\/code>).<\/p>\n<p>Veel \u00fcks huvitav funktsioon K9s kannab nime <b>Popeye<\/b>. See kontrollib k\u00f5iki ressursse teatud korrektsuse kriteeriumide j\u00e4rgi ja kuvab saadud \"hindamise\" koos selgitustega. N\u00e4iteks saab n\u00e4ha, et puudu on vahemikud v\u00f5i piirangud, ning m\u00f5ni konteiner v\u00f5ib k\u00e4ivituda root'i all\u2026<\/p>\n<p><img decoding=\"async\" alt=\"K9s \u00fclevaade \u2014 t\u00e4iustatud terminali liides Kubernetes&#039;e jaoks\" src=\"\/wp-content\/uploads\/2020\/10\/a6bc5ea45b5749fb4e1038b82374b3c4.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nHelmi p\u00f5hitoe olemasolu. N\u00e4iteks saab vaadata klastrisse paigaldatud v\u00e4ljalaskeid:<\/p>\n<pre><code class=\"bash\">:helm all # k\u00f5ik\n:helm $namespace # konkreetses nimede ruumis\n<\/code><\/pre>\n<p><\/p>\n<h2>Benchmark<\/h2>\n<p>\nK9s on sisseehitatud isegi <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/rakyll\/hey\">hey<\/a><\/noindex> \u2014 lihtne koormuse generaator HTTP-serverile, alternatiiv tuntud ab-le (ApacheBench).<\/p>\n<p>Selle sissel\u00fclitamiseks on vajalik port-forward aktiviseerimine pod'is. Selleks valime pod'i ja vajutame Shift + f, seej\u00e4rel liigume port-forward alammen\u00fc\u00fcsse alias'iga \u00abpf\u00bb.<\/p>\n<p><img decoding=\"async\" alt=\"K9s \u00fclevaade \u2014 t\u00e4iustatud terminali liides Kubernetes&#039;e jaoks\" src=\"\/wp-content\/uploads\/2020\/10\/651f25269c0998c716ab9c0c4b5e0455.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nP\u00e4rast pordi valimist ja Ctrl + b vajutamist k\u00e4ivitub ise benchmark. Tema t\u00f6\u00f6 tulemused salvestatakse <code>\/tmp<\/code> ja on K9s'is hilisemaks vaatamiseks saadaval. <\/p>\n<p><img decoding=\"async\" alt=\"K9s \u00fclevaade \u2014 t\u00e4iustatud terminali liides Kubernetes&#039;e jaoks\" src=\"\/wp-content\/uploads\/2020\/10\/57b2fe1d078e9aca1c6afccd318094da.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<img decoding=\"async\" alt=\"K9s \u00fclevaade \u2014 t\u00e4iustatud terminali liides Kubernetes&#039;e jaoks\" src=\"\/wp-content\/uploads\/2020\/10\/3b2bf031e8442e47eb3482187ac5b64d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nBenchmark'i konfiguratsiooni muutmiseks tuleb luua fail <code>$HOME\/.k9s\/bench-.yml<\/code> (m\u00e4\u00e4ratakse igas klastris eraldi).<\/p>\n<p><i>NB: Oluline on, et k\u00f5ikide YAML-failide laiend nimekirjas <code>.k9s<\/code> oleks t\u00e4pselt <code>.yml<\/code> (<code>.yaml<\/code> ei t\u00f6\u00f6ta korralikult).<\/i><\/p>\n<p>Konfiguratsiooni n\u00e4idis:<\/p>\n<pre><code class=\"bash\">benchmarks:\n  defaults:\n    # Protsesside arv\n    concurrency: 2\n    # P\u00e4ringute arv\n    requests: 1000\n  containers:\n    # Seaded konteinerile, kus toimub m\u00f5\u00f5tmine\n    # Konteiner m\u00e4\u00e4ratakse kindlaks kui 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    # Saame teha m\u00f5\u00f5tmist NodePort- ja LoadBalancer-t\u00fc\u00fcpi teenustes\n    # S\u00fcntaks: 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>Liides<\/h2>\n<p>\nRessurside loendi veergude v\u00e4limus muutub faili loomisega <code>$HOME\/.k9s\/views.yml<\/code>. N\u00e4ide selle sisust:<\/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>T\u00f5si, veergu siltide kohta j\u00e4\u00e4b puudu, mille kohta on <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/derailed\/k9s\/issues\/605\">probleem projektis<\/a><\/noindex>.<\/i><\/p>\n<p>Veergude j\u00e4rgi sorteerimiseks kasutatakse klaviatuuri kombinatsioone:<\/p>\n<ul>\n<li> Shift + n \u2014 nime j\u00e4rgi;<\/li>\n<li> Shift + o \u2014 s\u00f5lmede j\u00e4rgi;<\/li>\n<li> Shift + i \u2014 IP j\u00e4rgi;<\/li>\n<li> Shift + a \u2014 konteineri eluea j\u00e4rgi;<\/li>\n<li> Shift + t \u2014 taask\u00e4ivituste arvu j\u00e4rgi;<\/li>\n<li> Shift + r \u2014 valmiduse staatuse j\u00e4rgi;<\/li>\n<li> Shift + c \u2014 CPU kasutuse j\u00e4rgi;<\/li>\n<li> Shift + m \u2014 m\u00e4lu kasutuse j\u00e4rgi.<\/li>\n<\/ul>\n<p>\nKui aga kellegile ei meeldi vaikimisi v\u00e4rvitoonid, toetab K9s isegi <noindex><a rel=\"nofollow\" href=\"https:\/\/k9scli.io\/topics\/skins\/\">nahkasid<\/a><\/noindex>. Valmis n\u00e4ited (7 t\u00fckki) on saadaval <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/derailed\/k9s\/tree\/master\/skins\">siit<\/a><\/noindex>. Siin on \u00fcks sellise nahka n\u00e4ide <i>(laevastikus)<\/i>:<\/p>\n<p><img decoding=\"async\" alt=\"K9s \u00fclevaade \u2014 t\u00e4iustatud terminali liides Kubernetes&#039;e jaoks\" src=\"\/wp-content\/uploads\/2020\/10\/4a4378f2c2d36eb3985e2b71d733c444.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>Pluginad<\/h2>\n<p>\nL\u00f5puks, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/derailed\/k9s\/tree\/master\/plugins\">pluginate<\/a><\/noindex> laiendavad K9s-i v\u00f5imalusi. Olen ise kasutanud t\u00f6\u00f6s vaid \u00fcht neist \u2014 <code>kubectl get all -n $namespace<\/code>.<\/p>\n<p>See n\u00e4eb v\u00e4lja j\u00e4rgmine. Loome faili <code>$HOME\/.k9s\/plugin.yml<\/code> sellise sisuga:<\/p>\n<pre><code class=\"bash\">plugin:\n get-all:\n   shortCut: g    \n   confirm: false    \n   description: get all\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>\nN\u00fc\u00fcd saab liikuda nimekonda ja vajutada \u00abg\u00bb, et vastava k\u00e4suga edasi minna:<\/p>\n<p><img decoding=\"async\" alt=\"K9s \u00fclevaade \u2014 t\u00e4iustatud terminali liides Kubernetes&#039;e jaoks\" src=\"\/wp-content\/uploads\/2020\/10\/c79bbf26b6c321a97cedabf22f1699b9.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPluginite seas on n\u00e4iteks integratsioonid kubectl-jq ja logide vaatamise utiliidiga <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/wercker\/stern\">stern<\/a><\/noindex>.<\/p>\n<h2>Kokkuv\u00f5te<\/h2>\n<p>\nMinu arvates on K9s t\u00f6\u00f6 tegemisel v\u00e4ga mugav: selle abil harjub kiiresti leidma vajadused ilma kasutamata <code>kubectl<\/code>. Logide vaatamine ja nende salvestamine, kiire ressursside redigeerimine ja t\u00f6\u00f6 kiirus olid kokkuv\u00f5ttes kasulikud, samuti osutus kasulikuks \u0440\u0435\u0436\u0438\u043c Popeye. Eraldi mainimist v\u00e4\u00e4rivad pluginite loomise ning rakenduse kohandamise v\u00f5imalused.<\/p>\n<p><i>* Kuigi suurt logi t\u00f6\u00f6tledes on K9s aeg-ajalt aeglane. Sellistel hetkedel kasutas utiliit isegi kaks Intel Xeon E312xx s\u00fcdamikku ja v\u00f5is isegi hanguda.<\/i><\/p>\n<p>Mida hetkel puudub? Kiire tagasimine minevikku (mitte RS) ilma katalooge sisenemata. Lisaks toimub taastamine vaid <i>kogu<\/i> ressursi osas: kui kustutatud on annotatsioon v\u00f5i silt, tuleb kustutada ja taastada kogu ressurss (siin tuleb t\u00f5epoolest minna katalooge). Veel \u00fcks pisiasi - puudub salvestatud 'backupide' kuup\u00e4ev.<\/p>\n<h2>P.S.<\/h2>\n<p>\nLugege ka meie blogist:<\/p>\n<ul>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/506948\/\">Kubernetesi graafiliste liideste \u00fclevaade<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/468041\/\">Kubernetes Web View veebiliidese tutvustus (ja \u00fclevaade teistest Kubernetes web UI-dest)<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/426985\/\">kubebox ja teised Kubernetes'i konsoolil\u00e4hendused<\/a><\/noindex>\u00bb.<\/li>\n<\/ul>\n<p>Allikas: <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\/et\/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=\"et_EE\" \/>\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\/et\/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\udd47K9s \u00fclevaade - arenenud terminali liides Kubernetes'ile | ProHoster","description":"K9s pakub terminali kasutajaliidest Kubernetes klasteritega suhtlemiseks. Selle avatud l\u00e4htekoodiga projekti eesm\u00e4rk on h\u00f5lbustada K8s rakenduste mugavat navigeerimist, j\u00e4lgimist ja haldamist. K9s j\u00e4lgib pidevalt muudatusi Kubernetesis ja pakub kiireid k\u00e4sklusi j\u00e4lgimisressursside haldamiseks. Projekt on kirjutatud Go keeles ja eksisteerib juba rohkem kui poolteist aastat: esimene commit","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/obzor-k9s-prodvinutogo-terminalnogo-interfejsa-dlya-kubernetes","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","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\/et\/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\/et\/wp-json\/wp\/v2\/posts\/97736","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=97736"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/97736\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/97737"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=97736"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=97736"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=97736"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}