{"id":75425,"date":"2020-03-26T07:42:30","date_gmt":"2020-03-26T05:42:30","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/luchshie-10-hitrostej-i-sovetov-po-kubernetes"},"modified":"2020-03-26T07:42:30","modified_gmt":"2020-03-26T05:42:30","slug":"luchshie-10-hitrostej-i-sovetov-po-kubernetes","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/luchshie-10-hitrostej-i-sovetov-po-kubernetes","title":{"rendered":"10 truke dhe k\u00ebshilla m\u00eb t\u00eb mira p\u00ebr Kubernetes","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"10 truke dhe k\u00ebshilla m\u00eb t\u00eb mira p\u00ebr Kubernetes\" src=\"\/wp-content\/uploads\/2020\/03\/4e4a268e9cee6b8b10d283805227b5ac.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nN\u00eb internet ka shum\u00eb literatur\u00eb referuese, por ndonj\u00ebher\u00eb k\u00ebshillat m\u00eb t\u00eb thjeshta b\u00ebhen m\u00eb t\u00eb vlefsh\u00ebm. Ekipi <noindex><a rel=\"nofollow\" href=\"https:\/\/mcs.mail.ru\/containers\/\">Kubernetes aaS nga Mail.ru<\/a><\/noindex> p\u00ebrktheu <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/faun\/top-10-kubernetes-tips-and-tricks-d07d38700a70\">nj\u00eb p\u00ebrmbledhje me dhjet\u00eb truke dhe k\u00ebshilla<\/a><\/noindex>, q\u00eb autori i artikullit i ka mbledhur pas nj\u00eb viti pune me Kubernetes. K\u00ebshillat nuk jan\u00eb renditur sipas r\u00ebnd\u00ebsis\u00eb, por mendoj se \u00e7do njeri do t\u00eb gjej\u00eb di\u00e7ka t\u00eb dobishme p\u00ebr veten e tij.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Komanda m\u00eb e thjesht\u00eb n\u00eb pun\u00ebn me Kubernetes<\/h2>\n<p>\nP\u00ebr fillim, ndoshta veprimi m\u00eb i thjesht\u00eb dhe m\u00eb i dobish\u00ebm n\u00eb pun\u00ebn me Kubernetes. Komanda e ardhshme aktivizon autocompletion p\u00ebr komandat <code>kubectl<\/code> n\u00eb shell-in bash:<\/p>\n<pre><code class=\"bash\">echo \"source &gt; ~\/.bashrc\n<\/code><\/pre>\n<p>\nAutocompletion <code>kubectl<\/code> do t\u00eb regjistrohet n\u00eb skedarin .bashrc dhe do t\u00eb aktivizohet automatikisht \u00e7do her\u00eb kur hapet shell-i. Kjo p\u00ebrshpejton shkruarjen e komandave dhe parametrave t\u00eb gjata, si t\u00eb <code>all-namespaces<\/code>. M\u00eb shum\u00eb n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tasks\/tools\/install-kubectl\/#kubectl-autocompletion-0\">ndihm\u00ebsit Kubernetes p\u00ebr bash<\/a><\/noindex>.<\/p>\n<h2>Kufizimet e paracaktuara p\u00ebr memorandum dhe CPU n\u00eb hap\u00ebsir\u00ebn e emrit<\/h2>\n<p>\nN\u00ebse aplikacioni \u00ebsht\u00eb shkruar gabimisht, p\u00ebr shembull, hap nj\u00eb lidhje t\u00eb re me baz\u00ebn e t\u00eb dh\u00ebnave \u00e7do sekond\u00eb, por kurr\u00eb nuk e mbyll, at\u00ebher\u00eb ndodh nj\u00eb rrjedhje memorje n\u00eb klaster. Dhe n\u00ebse p\u00ebr aplikacionin, gjat\u00eb nd\u00ebrlidhjes, nuk vendoset nj\u00eb kufizim p\u00ebr memorien, kjo mund t\u00eb \u00e7oj\u00eb n\u00eb d\u00ebshtimin e nodit.<\/p>\n<p>P\u00ebr t\u00eb parandaluar di\u00e7ka t\u00eb till\u00eb, Kubernetes lejon vendosjen e kufizimeve t\u00eb paracaktuara p\u00ebr \u00e7do hap\u00ebsir\u00eb emri. Ato regjistrohen n\u00eb skedarin yaml p\u00ebr hap\u00ebsir\u00ebn e konkret. Ja nj\u00eb shembull i till\u00eb:<\/p>\n<pre><code class=\"go\">apiVersion: v1\nkind: LimitRange\nmetadata:\n  name: mem-limit-range\nspec:\n  limits:\n  - default:\n      memory: 512Mi\n    defaultRequest:\n      memory: 256Mi\n    type: Container\n<\/code><\/pre>\n<p>\nKrijoni nj\u00eb t\u00eb till\u00eb yaml dhe aplikojeni p\u00ebr \u00e7do hap\u00ebsir\u00eb emri. P\u00ebr shembull, p\u00ebr hap\u00ebsir\u00ebn e emrit <code>limit-example<\/code>. Tani, p\u00ebr \u00e7do konteiner q\u00eb \u00ebsht\u00eb vendosur n\u00eb k\u00ebt\u00eb hap\u00ebsir\u00eb emri, do t\u00eb ket\u00eb nj\u00eb limit prej 512Mi, n\u00ebse p\u00ebr k\u00ebt\u00eb konteiner nuk \u00ebsht\u00eb vendosur ndonj\u00eb limit tjet\u00ebr individual.<\/p>\n<h2>Pastrimi i mbeturinave n\u00eb versionet e vjetra t\u00eb Kubernetes<\/h2>\n<p>\nKubelet, si parazgjedhje, fillon pastrimin e mbeturinave kur <i>var\/lib\/docker<\/i> z\u00eb 90 % t\u00eb hap\u00ebsir\u00ebs s\u00eb disponueshme t\u00eb diskut. Kjo \u00ebsht\u00eb e shk\u00eblqyer, megjithat\u00eb, deri n\u00eb versionin 1.7 t\u00eb Kubernetes, nuk kishte kufizim t\u00eb paracaktuar p\u00ebr numrin e indeksit t\u00eb dh\u00ebnave inode (inodes), t\u00eb cilat p\u00ebrputhen me numrin e skedar\u00ebve n\u00eb sistemin e skedareve.<\/p>\n<p>Potencialisht, konteineri juaj <i>var\/lib\/docker<\/i> mund t\u00eb p\u00ebrdor\u00eb vet\u00ebm 50 % t\u00eb hap\u00ebsir\u00ebs s\u00eb diskut, por n\u00eb t\u00eb nj\u00ebjt\u00ebn koh\u00eb inodes mund t\u00eb p\u00ebrfundojn\u00eb, gj\u00eb q\u00eb do t\u00eb shkaktoj\u00eb probleme n\u00eb funksionimin e punonj\u00ebsve.<\/p>\n<p>N\u00eb versionet e vjetra t\u00eb kubelet nga 1.4 deri n\u00eb 1.6, do t\u00eb duhet t\u00eb shtoni k\u00ebt\u00eb flag:<\/p>\n<pre><code class=\"go\">--eviction-hard\n=memory.available&lt;100Mi,nodefs.available&lt;10%,nodefs.inodesFree&lt;5%\n<\/code><\/pre>\n<p>\nN\u00eb 1.7 dhe versionet m\u00eb t\u00eb reja, ky flag \u00ebsht\u00eb vendosur si parazgjedhje. Megjithat\u00eb, versionet e m\u00ebparshme nuk i p\u00ebrshtaten kufizimit t\u00eb inode.<\/p>\n<h2>Minikube\u2026 i vog\u00ebl, por i fuqish\u00ebm Kubernetes lokal<\/h2>\n<p>\nMinikube \u00ebsht\u00eb m\u00ebnyra m\u00eb e thjesht\u00eb p\u00ebr t\u00eb nisur nj\u00eb klaster lokal Kubernetes. Ai fillon me nj\u00eb komand\u00eb t\u00eb thjesht\u00eb:<\/p>\n<pre><code class=\"go\">minikube start\n<\/code><\/pre>\n<p>\nSi rezultat i ekzekutimit t\u00eb k\u00ebsaj komande, n\u00eb kompjuterin tuaj funksionon nj\u00eb klaster i v\u00ebrtet\u00eb Kubernetes.<\/p>\n<p><img decoding=\"async\" alt=\"10 truke dhe k\u00ebshilla m\u00eb t\u00eb mira p\u00ebr Kubernetes\" src=\"\/wp-content\/uploads\/2020\/03\/a27a11ddb35992fbb2835851633eb9c7.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/@sindhujacynixit\/what-is-the-kubernetes-cluster-de2a33e6572\"><i>Burimi i ilustrimit<\/i><\/a><\/noindex><\/p>\n<p>Truku \u00ebsht\u00eb se si t\u00eb nd\u00ebrtoni nj\u00eb aplikacion dhe ta nisin at\u00eb lokal n\u00eb k\u00ebt\u00eb klaster. N\u00ebse nuk jepni udh\u00ebzime speciale, imazhi Docker do t\u00eb nd\u00ebrtohet n\u00eb kompjuterin tuaj dhe jo n\u00eb klaster.<\/p>\n<p>P\u00ebr t\u00eb detyruar Docker q\u00eb t\u00eb d\u00ebrgoj\u00eb imazhin n\u00eb klasterin lokal Kubernetes, n\u00eb makinat docker jepet komanda e m\u00ebposhtme:<\/p>\n<pre><code class=\"go\">eval $(minikube docker-env)\n<\/code><\/pre>\n<p>\nTani mund t\u00eb nd\u00ebrtojm\u00eb aplikacionet n\u00eb klasterin lokal Kubernetes.<\/p>\n<h2>Mos jepni akses kubectl p\u00ebr \u00e7do njeri<\/h2>\n<p>\nKjo duket e qart\u00eb, por n\u00ebse disa ekipe p\u00ebrdorin t\u00eb nj\u00ebjtin klaster p\u00ebr aplikacionet e tyre (p\u00ebr k\u00ebt\u00eb \u00ebsht\u00eb krijuar Kubernetes), nuk duhet thjesht t\u00eb jepni akses \u00e7do njeriu <code>kubectl<\/code>. M\u00eb mir\u00eb \u00ebsht\u00eb t\u00eb ndani ekipet, duke i dh\u00ebn\u00eb secil\u00ebs hap\u00ebsir\u00ebn e vet t\u00eb emrit dhe duke ndar\u00eb aksesin me politikat RBAC.<\/p>\n<p>Mund t\u00eb shqet\u00ebsoheni duke caktuar t\u00eb drejtat e aksesit p\u00ebr \u00e7do pod, p\u00ebr lexim, krijim, fshirje dhe operacione t\u00eb tjera. Por e r\u00ebnd\u00ebsishme \u00ebsht\u00eb t\u00eb kufizoni aksesin n\u00eb sekretet, duke e lejuar at\u00eb vet\u00ebm p\u00ebr administrator\u00ebt. K\u00ebshtu do t\u00eb ndajm\u00eb ata q\u00eb mund t\u00eb administrojn\u00eb klasterin nga ata q\u00eb mund t\u00eb vendosen thjesht n\u00eb t\u00eb.<\/p>\n<h2>Menaxhoni buxhetet e pod\u00ebve<\/h2>\n<p>\nSi t\u00eb garantoni se nuk ka nd\u00ebrprerje p\u00ebr aplikacionin n\u00eb klasterin Kubernetes? PodDisruptionBudget dhe prap\u00eb PodDisruptionBudget.<\/p>\n<p>Klaster\u00ebt p\u00ebrdit\u00ebsohen her\u00eb pas here dhe nodet shkat\u00ebrrohen. Asgj\u00eb nuk q\u00ebndron n\u00eb vend, kjo \u00ebsht\u00eb realiteti. N\u00eb \u00e7do nd\u00ebrlidhje me m\u00eb shum\u00eb se nj\u00eb instanc\u00eb duhet patjet\u00ebr t\u00eb p\u00ebrfshihet PDB (PodDisruptionBudget). Ai krijohet n\u00eb nj\u00eb skedar t\u00eb thjesht\u00eb yaml, i cili aplikohet n\u00eb klaster. Zona e mbulimit t\u00eb nj\u00eb PDB t\u00eb caktuar p\u00ebrcaktohet nga selektor\u00ebt e etiketimeve.<\/p>\n<p><strong>Sh\u00ebnim:<\/strong> Buxheti PDB merret parasysh vet\u00ebm n\u00eb nd\u00ebrprerjet e z\u00ebvend\u00ebsueshme (<noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/workloads\/pods\/disruptions\/#voluntary-and-involuntary-disruptions\">shkat\u00ebrrimi i vullnetsh\u00ebm<\/a><\/noindex>). N\u00eb situata si defekti i pajisjeve, PDB nuk do t\u00eb funksionoj\u00eb.<\/p>\n<p><strong>Shembulli i PDB:<\/strong><\/p>\n<pre><code class=\"go\">apiVersion: policy\/v1beta1\nkind: PodDisruptionBudget\nmetadata:\n  name: app-a-pdb\nspec:\n  minAvailable: 2\n  selector:\n      matchLabels:\n        app: app-a\n<\/code><\/pre>\n<p>\nDy parametrat kryesor\u00eb jan\u00eb <code>matchLabels<\/code> dhe <code>minAvailable<\/code>. Parametri i par\u00eb p\u00ebrcakton se p\u00ebr cilat aplikacione do t\u00eb zbatohet buxheti. P\u00ebr shembull, n\u00ebse kam dislokime me etiketa <code>app: app-a<\/code> dhe <code>app: app-b<\/code>, at\u00ebher\u00eb ky PDB do t\u00eb zbatohet vet\u00ebm p\u00ebr t\u00eb parin.<\/p>\n<p>Parametri <code>minAvailable<\/code> merr n\u00eb konsiderat\u00eb gjat\u00eb pastrimit t\u00eb nodit. P\u00ebr shembull, n\u00eb shembullin ton\u00eb gjat\u00eb pastrimit, t\u00eb gjitha instancat <code>app: app-a<\/code>, p\u00ebrve\u00e7 dy, do t\u00eb zhbllokohen.<\/p>\n<p>Kjo lejon t\u00eb kontrollohet se sa instanca t\u00eb aplikacionit duhet t\u00eb jen\u00eb aktive n\u00eb \u00e7do moment.<\/p>\n<h2>Monitorimi i sh\u00ebndetit t\u00eb aplikacionit<\/h2>\n<p>\nKy monitorim mund t\u00eb b\u00ebhet n\u00eb dy m\u00ebnyra: p\u00ebrmes testeve Readiness ose Liveness.<\/p>\n<p>Testi i par\u00eb (readiness) p\u00ebrcakton gatishm\u00ebrin\u00eb e konteinerit p\u00ebr t\u00eb pranuar trafik.<\/p>\n<p>T\u00eb dyti (liveness) tregon n\u00ebse konteineri \u00ebsht\u00eb n\u00eb rregull ose n\u00ebse duhet ta ri\u00e7elni.<\/p>\n<p>Konfigurimet p\u00ebrkat\u00ebse thjesht shtohen n\u00eb yaml p\u00ebr dislokimin. Aty mund t\u00eb specifikohen koh\u00ebt e pritjes, vonesat dhe numri i provave t\u00eb rip\u00ebrs\u00ebritura. M\u00eb shum\u00eb detaje rreth tyre mund t\u00eb gjeni n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tasks\/configure-pod-container\/configure-liveness-readiness-startup-probes\/\">dokumentacionin e Kubernetes<\/a><\/noindex>.<\/p>\n<h2>Etiketat kudo<\/h2>\n<p>\nEtiketat jan\u00eb njohuri t\u00eb domosdoshme n\u00eb Kubernetes. Ato lejojn\u00eb objekteve t\u00eb lidhen lirisht me nj\u00ebra-tjetr\u00ebn dhe gjithashtu t\u00eb krijojn\u00eb k\u00ebrkesa bazuar n\u00eb etiketa. N\u00eb Kubernetes \u00ebsht\u00eb e mundur madje t\u00eb kalosh te klienti dhe t\u00eb observosh ngjarjet sipas etiketa specifike.<\/p>\n<p>Me an\u00eb t\u00eb etiketave mund t\u00eb b\u00ebsh praktikisht gjith\u00e7ka, por nj\u00eb shembull i mir\u00eb do t\u00eb ishte krijimi i disa mjediseve p\u00ebr ekzekutimin e programeve n\u00eb nj\u00eb klaster.<\/p>\n<p>Le t\u00eb themi se po p\u00ebrdorni t\u00eb nj\u00ebjtin klaster p\u00ebr <code>dev<\/code> dhe <code>qa<\/code>. Kjo do t\u00eb thot\u00eb se mund t\u00eb keni nj\u00eb aplikacion <code>app-a<\/code>, q\u00eb funksionon nj\u00ebkoh\u00ebsisht n\u00eb t\u00eb dy mjediset. <code>qa<\/code> dhe <code>dev<\/code>N\u00eb k\u00ebt\u00eb rast, mund t\u00eb adresoheni ve\u00e7mas te instanca e aplikacionit n\u00eb nj\u00eb mjedis t\u00eb caktuar duke specifikuar parameterin p\u00ebrkat\u00ebs <code>environment<\/code>. P\u00ebr shembull, <code>app: app-a<\/code> dhe <code>environment: dev<\/code> p\u00ebr nj\u00eb mjedis dhe <code>app: app-a<\/code> dhe <code>environment: qa<\/code> p\u00ebr t\u00eb dytin.<\/p>\n<p>Kjo lejon q\u00eb t\u00eb adresoheni t\u00eb dy instancave t\u00eb aplikacionit, p\u00ebr shembull, p\u00ebr t\u00eb kryer teste nj\u00ebkoh\u00ebsisht.<\/p>\n<h2>Ruani rendin<\/h2>\n<p>\nKubernetes \u00ebsht\u00eb nj\u00eb sistem shum\u00eb i fuqish\u00ebm, por \u00e7do sistem n\u00eb fund mund t\u00eb ngec\u00eb n\u00eb nj\u00eb num\u00ebr t\u00eb madh procesesh. Kubelet nis t\u00eb gjitha proceset dhe kontrollimet q\u00eb ju keni specifikuar, si dhe ato t\u00eb tijat.<\/p>\n<p>Sigurisht, nj\u00eb sh\u00ebrbim i braktisur nuk do ta ngadal\u00ebsoj\u00eb sistemin, dhe Kubernetes \u00ebsht\u00eb fillimisht i projektuar p\u00ebr t\u00eb shkall\u00ebzuar. Por n\u00ebse n\u00eb vend t\u00eb nj\u00eb sh\u00ebrbimi shfaqen nj\u00eb milion, kubelet fillon t\u00eb mbyt\u00ebt.<\/p>\n<p>N\u00ebse p\u00ebr ndonj\u00eb arsye e hiqni dislokimin (konteiner, imazh, \u00e7far\u00ebdo), sigurohuni q\u00eb t\u00eb pastroni plot\u00ebsisht.<\/p>\n<h2>Njehuni me Go<\/h2>\n<p>\nK\u00ebshilla kryesore e kemi l\u00ebn\u00eb p\u00ebr n\u00eb fund. M\u00ebsoni gjuh\u00ebn e programimit Go.<\/p>\n<p>Kubernetes \u00ebsht\u00eb zhvilluar n\u00eb Go, t\u00eb gjitha zgjerimet jan\u00eb shkruar n\u00eb Go, dhe gjithashtu mb\u00ebshtetet zyrtarisht biblioteka klienti client-go.<\/p>\n<p>Ajo mund t\u00eb p\u00ebrdoret p\u00ebr gj\u00ebra t\u00eb ndryshme dhe interesante. P\u00ebr shembull, p\u00ebr t\u00eb zgjeruar sistemin Kubernetes sipas d\u00ebshir\u00ebs tuaj. K\u00ebshtu, mund t\u00eb p\u00ebrdorni programet tuaja p\u00ebr mbledhjen e t\u00eb dh\u00ebnave, dislokimin e aplikacioneve ose thjesht pastrimin e konteiner\u00ebve.<\/p>\n<p>T\u00eb m\u00ebsosh gjuh\u00ebn e programimit Go dhe t\u00eb zot\u00ebrosh client-go \u00ebsht\u00eb ndoshta k\u00ebshilla m\u00eb e r\u00ebnd\u00ebsishme q\u00eb mund t'i jap\u00ebsh p\u00ebrdoruesve t\u00eb rinj t\u00eb Kubernetes.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/mcs.mail.ru\/\"><i>P\u00ebrkthyer me mb\u00ebshtetje nga Mail.ru Cloud Solutions<\/i><\/a><\/noindex><\/p>\n<p><strong>\u00c7far\u00eb tjet\u00ebr t\u00eb lexoni<\/strong>:<\/p>\n<ol>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/mailru\/blog\/484344\/\">Tre nivele automatik\u00eb n\u00eb Kubernetes dhe si t'i p\u00ebrdorni ato me eficienc\u00eb<\/a><\/noindex>.<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/mailru\/blog\/484334\/\">Nodet e pun\u00ebs Kubernetes: shum\u00eb t\u00eb vogla ose pak t\u00eb m\u00ebdha<\/a><\/noindex>?<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/mcs.mail.ru\/blog\/25-poleznyh-instrumentov-kubernetes-razvertyvanie-i-upravlenie\">25 mjete t\u00eb dobishme p\u00ebr dislokimin dhe menaxhimin e Kubernetes<\/a><\/noindex>.<\/li>\n<\/ol>\n<p>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/mailru\/blog\/493772\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0435 \u043c\u043d\u043e\u0433\u043e \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u043e\u0439 \u043b\u0438\u0442\u0435\u0440\u0430\u0442\u0443\u0440\u044b, \u043d\u043e \u0438\u043d\u043e\u0433\u0434\u0430 \u0441\u0430\u043c\u044b\u043c\u0438 \u0446\u0435\u043d\u043d\u044b\u043c\u0438 \u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0442\u0441\u044f \u0441\u0430\u043c\u044b\u0435 \u043f\u0440\u043e\u0441\u0442\u044b\u0435 \u0441\u043e\u0432\u0435\u0442\u044b. \u041a\u043e\u043c\u0430\u043d\u0434\u0430 Kubernetes aaS \u043e\u0442 Mail.ru \u043f\u0435\u0440\u0435\u0432\u0435\u043b\u0430 \u043f\u043e\u0434\u0431\u043e\u0440\u043a\u0443 \u0438\u0437 \u0434\u0435\u0441\u044f\u0442\u0438 \u0445\u0438\u0442\u0440\u043e\u0441\u0442\u0435\u0439 \u0438 \u0441\u043e\u0432\u0435\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0430\u0432\u0442\u043e\u0440 \u0441\u0442\u0430\u0442\u044c\u0438 \u0441\u043e\u0431\u0440\u0430\u043b\u0430 \u043f\u043e\u0441\u043b\u0435 \u0433\u043e\u0434\u0430 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 Kubernetes. \u0421\u043e\u0432\u0435\u0442\u044b \u043d\u0435 \u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u043f\u043e \u0432\u0430\u0436\u043d\u043e\u0441\u0442\u0438, \u043d\u043e \u0434\u0443\u043c\u0430\u0435\u043c, \u0447\u0442\u043e \u043a\u0430\u0436\u0434\u044b\u0439 \u043d\u0430\u0439\u0434\u0435\u0442 \u0447\u0442\u043e-\u0442\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0435 \u0434\u043b\u044f \u0441\u0435\u0431\u044f. \u0421\u0430\u043c\u0430\u044f \u043f\u0440\u043e\u0441\u0442\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0432 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 Kubernetes [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":75426,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-75425","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0435 \u043c\u043d\u043e\u0433\u043e \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u043e\u0439 \u043b\u0438\u0442\u0435\u0440\u0430\u0442\u0443\u0440\u044b, \u043d\u043e.\" \/>\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\/luchshie-10-hitrostej-i-sovetov-po-kubernetes\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\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\u041b\u0443\u0447\u0448\u0438\u0435 10 \u0445\u0438\u0442\u0440\u043e\u0441\u0442\u0435\u0439 \u0438 \u0441\u043e\u0432\u0435\u0442\u043e\u0432 \u043f\u043e Kubernetes | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0435 \u043c\u043d\u043e\u0433\u043e \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u043e\u0439 \u043b\u0438\u0442\u0435\u0440\u0430\u0442\u0443\u0440\u044b, \u043d\u043e.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/luchshie-10-hitrostej-i-sovetov-po-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-03-26T05:42:30+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-03-26T05:42:30+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\udd4710 Truket dhe K\u00ebshillat m\u00eb t\u00eb mira p\u00ebr Kubernetes | ProHoster","description":"N\u00eb internet ka shum\u00eb literatur\u00eb referuese, por.","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/luchshie-10-hitrostej-i-sovetov-po-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\u041b\u0443\u0447\u0448\u0438\u0435 10 \u0445\u0438\u0442\u0440\u043e\u0441\u0442\u0435\u0439 \u0438 \u0441\u043e\u0432\u0435\u0442\u043e\u0432 \u043f\u043e Kubernetes | ProHoster","og:description":"\u0412 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0435 \u043c\u043d\u043e\u0433\u043e \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u043e\u0439 \u043b\u0438\u0442\u0435\u0440\u0430\u0442\u0443\u0440\u044b, \u043d\u043e.","og:url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/luchshie-10-hitrostej-i-sovetov-po-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-03-26T05:42:30+00:00","article:modified_time":"2020-03-26T05:42:30+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"75425","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 17:56:30","updated":"2022-10-01 20:34:03","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/75425","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=75425"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/75425\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/75426"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=75425"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=75425"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=75425"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}