{"id":94977,"date":"2020-09-24T07:43:00","date_gmt":"2020-09-24T05:43:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/nashi-vyvody-za-god-migraczii-gitlab-com-na-kubernetes"},"modified":"2020-09-24T07:43:00","modified_gmt":"2020-09-24T05:43:00","slug":"nashi-vyvody-za-god-migraczii-gitlab-com-na-kubernetes","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/nashi-vyvody-za-god-migraczii-gitlab-com-na-kubernetes","title":{"rendered":"Konkluzionet tona pas nj\u00eb viti migrimi t\u00eb GitLab.com n\u00eb Kubernetes","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i><b>Sh\u00ebn. p\u00ebrkth.<\/b>: adaptimi i Kubernetes n\u00eb GitLab konsiderohet si nj\u00eb nga dy faktor\u00ebt kryesor\u00eb q\u00eb kontribuojn\u00eb n\u00eb rritjen e kompanis\u00eb. Megjithat\u00eb, deri p\u00ebrpara nj\u00eb kohe t\u00eb shkurt\u00ebr, infrastruktura e sh\u00ebrbimit online GitLab.com ishte nd\u00ebrtuar mbi makina virtuale, dhe vet\u00ebm rreth nj\u00eb vit m\u00eb par\u00eb filloi migrimi i saj n\u00eb K8s, q\u00eb ende nuk ka p\u00ebrfunduar. Na vjen mir\u00eb t\u00eb prezantojm\u00eb p\u00ebrkthimin e nj\u00eb artikulli t\u00eb fundit t\u00eb inxhinierit SRE n\u00eb GitLab n\u00eb lidhje me se si po ndodh kjo dhe \u00e7far\u00eb p\u00ebrfundimesh arrijn\u00eb inxhinier\u00ebt q\u00eb marrin pjes\u00eb n\u00eb projekt.<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Konkluzionet tona pas nj\u00eb viti migrimi t\u00eb GitLab.com n\u00eb Kubernetes\" src=\"\/wp-content\/uploads\/2020\/09\/58429abf60cd19a49c5ce593051c2fca.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u0412\u043e\u0442 \u0443\u0436\u0435 \u043e\u043a\u043e\u043b\u043e \u0433\u043e\u0434\u0430 \u043d\u0430\u0448\u0435 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u043e\u0435 \u043f\u043e\u0434\u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0435\u0439 \u0432\u0441\u0435\u0445 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0445 \u043d\u0430 GitLab.com, \u0432 Kubernetes. \u0417\u0430 \u044d\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043c\u044b \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0438\u0441\u044c \u0441 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u043c\u0438, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u043c\u0438 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u0435\u043c \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u0432 Kubernetes, \u043d\u043e \u0438 \u0441 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0433\u0438\u0431\u0440\u0438\u0434\u043d\u044b\u043c deployment&#8217;\u043e\u043c \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430. \u041e \u0446\u0435\u043d\u043d\u044b\u0445 \u0443\u0440\u043e\u043a\u0430\u0445, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0445 \u043d\u0430\u043c\u0438, \u0438 \u043f\u043e\u0439\u0434\u0435\u0442 \u0440\u0435\u0447\u044c \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Q\u00eb n\u00eb fillim, server\u00ebt e GitLab.com kan\u00eb punuar n\u00eb cloud n\u00eb makina virtuale. K\u00ebto makina virtuale menaxhohen nga Chef, nd\u00ebrsa instalimi i tyre b\u00ebhet me ndihm\u00ebn e <noindex><a rel=\"nofollow\" href=\"https:\/\/about.gitlab.com\/install\/#ubuntu\">paketit zyrtar t\u00eb Linux<\/a><\/noindex>. <noindex><a rel=\"nofollow\" href=\"https:\/\/gitlab.com\/gitlab-org\/release\/docs\/-\/blob\/master\/general\/deploy\/gitlab-com-deployer.md\">Strategjia e deploy-it<\/a><\/noindex> n\u00eb rast se duhet t\u00eb p\u00ebrdit\u00ebsohet aplikacioni, konsiston n\u00eb p\u00ebrdit\u00ebsimin e parku server\u00ebve n\u00eb m\u00ebnyr\u00eb t\u00eb koordinuar dhe t\u00eb renditur p\u00ebrmes nj\u00eb pipeline CI. Ky metod\u00eb \u2014 ndonj\u00ebher\u00eb e ngadalt\u00eb dhe pak <noindex><a rel=\"nofollow\" href=\"https:\/\/about.gitlab.com\/handbook\/values\/#boring-solutions\">e m\u00ebrzitshme<\/a><\/noindex> \u2014 garanton q\u00eb GitLab.com p\u00ebrdor t\u00eb nj\u00ebjtat metoda instalimi dhe konfiguroje si p\u00ebrdoruesit e instalicioneve autonom\u00eb <i>(self-managed)<\/i> t\u00eb GitLab, q\u00eb p\u00ebrdorin p\u00ebr k\u00ebt\u00eb paketat tona Linux.<\/p>\n<p>Ne e p\u00ebrdorim k\u00ebt\u00eb metod\u00eb sepse \u00ebsht\u00eb jasht\u00ebzakonisht e r\u00ebnd\u00ebsishme t\u00eb ndiejm\u00eb t\u00eb gjitha shqet\u00ebsimet dhe g\u00ebzimet q\u00eb p\u00ebrjetojn\u00eb an\u00ebtar\u00ebt e zakonsh\u00ebm t\u00eb komunitetit kur instalojn\u00eb dhe konfigurojn\u00eb kopjet e tyre t\u00eb GitLab. Ky qasje ka qen\u00eb efektive p\u00ebr nj\u00eb koh\u00eb t\u00eb caktuar, megjithat\u00eb, kur numri i projekteve n\u00eb GitLab kaloi 10 milion, kuptuam se ai m\u00eb nuk p\u00ebrmbushte nevojat tona p\u00ebr zgjerim dhe nd\u00ebrrim.<\/p>\n<h2>Hapat e par\u00eb drejt Kubernetes dhe GitLab cloud-native<\/h2>\n<p>\nN\u00eb vitin 2017, u krijua projekti <noindex><a rel=\"nofollow\" href=\"https:\/\/gitlab.com\/gitlab-org\/charts\">GitLab Charts<\/a><\/noindex> p\u00ebrgatitjen e GitLab p\u00ebr p\u00ebrdorim n\u00eb re, si dhe p\u00ebr t'u ofruar p\u00ebrdoruesve mund\u00ebsin\u00eb p\u00ebr t\u00eb instaluar GitLab n\u00eb klaster\u00eb Kubernetes. At\u00ebher\u00eb ne e dinim se kalimi i GitLab n\u00eb Kubernetes do t\u00eb rris\u00eb kapacitetin e shkall\u00ebzimit t\u00eb platform\u00ebs SaaS, do ta thjeshtoj\u00eb vendosjen dhe do t\u00eb p\u00ebrmir\u00ebsoj\u00eb efikasitetin e p\u00ebrdorimit t\u00eb burimeve kompjuterike. N\u00eb t\u00eb nj\u00ebjt\u00ebn koh\u00eb, shum\u00eb funksione t\u00eb aplikacionit ton\u00eb ishin t\u00eb varura nga ndarje NFS t\u00eb montuara, gj\u00eb q\u00eb ngadal\u00ebsoi kalimin nga makinat virtuale.<\/p>\n<p>D\u00ebshira p\u00ebr cloud native dhe Kubernetes i dha mund\u00ebsi inxhinier\u00ebve tan\u00eb t\u00eb planifikonin nj\u00eb kalim gradual, gjat\u00eb t\u00eb cilit ne heq\u00ebm dor\u00eb nga disa var\u00ebsi t\u00eb aplikacionit nga magazinat rrjet, duke vazhduar t\u00eb zhvillojm\u00eb funksione t\u00eb reja. Q\u00eb nga momenti kur filluam t\u00eb planifikojm\u00eb migrimin ver\u00ebn e vitit 2019, shum\u00eb nga k\u00ebto kufizime jan\u00eb eliminuar, dhe procesi i kalimit t\u00eb GitLab.com n\u00eb Kubernetes tani po ec\u00ebn me rit\u00ebm t\u00eb plot\u00eb!<\/p>\n<h2>Karakteristikat e funksionimit t\u00eb GitLab.com n\u00eb Kubernetes<\/h2>\n<p>\n\u0414\u043b\u044f GitLab.com \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0435\u0434\u0438\u043d\u044b\u0439 \u0440\u0435\u0433\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u043a\u043b\u0430\u0441\u0442\u0435\u0440 GKE, \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0449\u0438\u0439 \u0432\u0435\u0441\u044c \u0442\u0440\u0430\u0444\u0438\u043a \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \u0427\u0442\u043e\u0431\u044b \u043c\u0438\u043d\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c (\u0431\u0435\u0437 \u0442\u043e\u0433\u043e \u043c\u0443\u0434\u0440\u0435\u043d\u043e\u0439) \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438, \u043c\u044b \u043a\u043e\u043d\u0446\u0435\u043d\u0442\u0440\u0438\u0440\u0443\u0435\u043c\u0441\u044f \u043d\u0430 \u0441\u0435\u0440\u0432\u0438\u0441\u0430\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u044f\u0442 \u043e\u0442 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u0438\u043b\u0438 NFS. GitLab.com \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043c\u043e\u043d\u043e\u043b\u0438\u0442\u043d\u0443\u044e \u043a\u043e\u0434\u043e\u0432\u0443\u044e \u0431\u0430\u0437\u0443 \u043d\u0430 Rails, \u0438 \u043c\u044b \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u0442\u0440\u0430\u0444\u0438\u043a \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a \u0440\u0430\u0431\u043e\u0447\u0435\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043d\u0430 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 endpoint&#8217;\u044b, \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0432 \u0441\u0432\u043e\u0438 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u043f\u0443\u043b\u044b \u0443\u0437\u043b\u043e\u0432.<\/p>\n<p>\u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434\u0430 \u044d\u0442\u0438 \u0442\u0438\u043f\u044b \u0434\u0435\u043b\u044f\u0442\u0441\u044f \u043d\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u043a web, API, Git SSH\/HTTPS \u0438 Registry. \u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u0431\u044d\u043a\u0435\u043d\u0434\u0430 \u043c\u044b \u0440\u0430\u0437\u0431\u0438\u0432\u0430\u0435\u043c job&#8217;\u044b \u0432 \u043e\u0447\u0435\u0440\u0435\u0434\u0438 \u043f\u043e \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0430\u043c \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 <noindex><a rel=\"nofollow\" href=\"https:\/\/about.gitlab.com\/blog\/2020\/06\/24\/scaling-our-use-of-sidekiq\/\">kufijve t\u00eb paracaktuar t\u00eb burimeve<\/a><\/noindex>, q\u00eb na lejon t\u00eb vendosim treguesit e nivelit t\u00eb sh\u00ebrbimit (Service-Level Objectives, SLOs) p\u00ebr ngarkesa t\u00eb ndryshme.<\/p>\n<p>T\u00eb gjith\u00eb k\u00ebta sh\u00ebrbime GitLab.com jan\u00eb konfiguruar me nj\u00eb Helm-chart t\u00eb Mt\u00eb pa modifikime. Konfigurimi b\u00ebhet n\u00eb subchart-e, t\u00eb cilat mund t\u00eb p\u00ebrfshihen selektivisht nd\u00ebrsa ne gradualisht kalojm\u00eb sh\u00ebrbimet n\u00eb klaster. Edhe pse \u00ebsht\u00eb vendosur q\u00eb t\u00eb mos p\u00ebrfshihen disa nga sh\u00ebrbimet tona me gjendje, si Redis, Postgres, GitLab Pages dhe Gitaly, p\u00ebrdorimi i Kubernetes lejon nj\u00eb reduktim radikal t\u00eb numrit t\u00eb VM-ve q\u00eb aktualisht menaxhohen nga Chef.<\/p>\n<h2>Transparent\u00ebsia dhe menaxhimi i konfigurimit n\u00eb Kubernetes<\/h2>\n<p>\n\u0412\u0441\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0441\u0430\u043c\u0438\u043c GitLab&#8217;\u043e\u043c. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0442\u0440\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 Terraform \u0438 Helm. \u041c\u044b \u0441\u0442\u0430\u0440\u0430\u0435\u043c\u0441\u044f \u0432\u0435\u0437\u0434\u0435 \u043f\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0430\u043c GitLab \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 GitLab&#8217;\u0430, \u043d\u043e \u0434\u043b\u044f \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447 \u0443 \u043d\u0430\u0441 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u0443\u0435\u0442 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0446\u0438\u044f GitLab. \u041e\u043d\u0430 \u043d\u0443\u0436\u043d\u0430 \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u0435\u0442\u044c \u043e\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u0438 GitLab.com \u043f\u0440\u0438 \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0438 \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0439 \u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0439 GitLab.com.<\/p>\n<p>Megjith\u00ebse pipeline-t tona p\u00ebr klasterin Kubernetes funksionojn\u00eb n\u00eb nj\u00eb instalim t\u00eb ve\u00e7ant\u00eb t\u00eb GitLab-it, repository-t e kodit kan\u00eb pasqyrat, t\u00eb cilat jan\u00eb publikisht t\u00eb aksesueshme n\u00eb adresat e m\u00ebposhtme:<\/p>\n<ul>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/gitlab.com\/gitlab-com\/gl-infra\/k8s-workloads\/gitlab-com\">k8s-workloads\/gitlab-com<\/a><\/noindex> \u2014 lidhja konfiguruese e GitLab.com p\u00ebr chart-in e Helm;<\/li>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/gitlab.com\/gitlab-com\/gl-infra\/k8s-workloads\/gitlab-helmfiles\/\">k8s-workloads\/gitlab-helmfiles<\/a><\/noindex> \u2014 p\u00ebrmban konfigurime p\u00ebr sh\u00ebrbime q\u00eb nuk jan\u00eb t\u00eb lidhura drejtp\u00ebrdrejt me aplikacionin GitLab. N\u00eb to p\u00ebrfshihen konfigurimet p\u00ebr regjistrimin dhe monitorimin e klasterit, si dhe p\u00ebr mjetet e integruara si PlantUML;<\/li>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/gitlab.com\/gitlab-com\/gitlab-com-infrastructure\">Gitlab-com-infrastructure<\/a><\/noindex> \u2014 konfigurimi Terraform p\u00ebr Kubernetes dhe infrastruktur\u00ebn e vjet\u00ebr (legacy) VM. K\u00ebtu konfigurohen t\u00eb gjitha burimet e nevojshme p\u00ebr t\u00eb v\u00ebn\u00eb n\u00eb operim klasterin, p\u00ebrfshir\u00eb vet\u00eb klasterin, grupet e node-ve, llogarit\u00eb e sh\u00ebrbimeve, rezervimin e adresave IP.<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Konkluzionet tona pas nj\u00eb viti migrimi t\u00eb GitLab.com n\u00eb Kubernetes\" src=\"\/wp-content\/uploads\/2020\/09\/612125403171d73106a081bf4244a52b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Kur b\u00ebhen ndryshime, shfaqet nj\u00eb <\/i><noindex><a rel=\"nofollow\" href=\"https:\/\/gitlab.com\/gitlab-com\/gl-infra\/k8s-workloads\/gitlab-com\/-\/merge_requests\/315#note_390180361\"><i>p\u00ebrmbledhje e aksesueshme publikisht<\/i><\/a><\/noindex><i> me nj\u00eb lidhje n\u00eb ndryshimin e detajuar, i cili analizohet nga SRE para se t\u00eb b\u00ebhen ndryshime n\u00eb klaster.<\/i><\/p>\n<p>\u0414\u043b\u044f SRE \u0441\u0441\u044b\u043b\u043a\u0430 \u0432\u0435\u0434\u0435\u0442 \u043d\u0430 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u044b\u0439 diff \u0432 \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0446\u0438\u0438 GitLab, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438 \u0438 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430\u043c \u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0443 \u0431\u0435\u0437 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u043c\u0443 \u043f\u0440\u043e\u0435\u043a\u0442\u0443 (\u043e\u043d \u043e\u0442\u043a\u0440\u044b\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f SRE) \u043f\u0440\u043e\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u043c\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438. \u0421\u043e\u0447\u0435\u0442\u0430\u044f \u043e\u0431\u0449\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0439 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 GitLab&#8217;\u0430 \u0434\u043b\u044f \u043a\u043e\u0434\u0430 \u0441 \u0437\u0430\u043a\u0440\u044b\u0442\u044b\u043c \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u043e\u043c \u0434\u043b\u044f CI-\u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d\u043e\u0432, \u043c\u044b \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0435\u0434\u0438\u043d\u044b\u0439 \u0440\u0430\u0431\u043e\u0447\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441, \u0432 \u0442\u043e \u0436\u0435 \u0432\u0440\u0435\u043c\u044f \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0443\u044f \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044c \u043e\u0442 GitLab.com \u043f\u0440\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f\u0445 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438.<\/p>\n<h2>\u00c7far\u00eb kemi zbuluar gjat\u00eb migrimit<\/h2>\n<p>\nGjat\u00eb procesit t\u00eb zhvendosjes, \u00ebsht\u00eb akumuluar p\u00ebrvoja q\u00eb e aplikojm\u00eb n\u00eb migrimet dhe shp\u00ebrndarjet e reja n\u00eb Kubernetes.<\/p>\n<h3>1. Rritja e shpenzimeve p\u00ebr shkak t\u00eb trafikut midis zonave t\u00eb disponueshm\u00ebris\u00eb<\/h3>\n<p>\n<img decoding=\"async\" alt=\"Konkluzionet tona pas nj\u00eb viti migrimi t\u00eb GitLab.com n\u00eb Kubernetes\" src=\"\/wp-content\/uploads\/2020\/09\/3dce44b3f803ffcea13e0101e7343d91.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Statistika e p\u00ebrditshme e egress-it (byte n\u00eb dit\u00eb) p\u00ebr grupin e depozitave Git n\u00eb GitLab.com<\/i><\/p>\n<p>Google \u0434\u0435\u043b\u0438\u0442 \u0441\u0432\u043e\u044e \u0441\u0435\u0442\u044c \u043d\u0430 \u0440\u0435\u0433\u0438\u043e\u043d\u044b. \u0422\u0435, \u0432 \u0441\u0432\u043e\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c, \u0440\u0430\u0437\u0431\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u043d\u0430 \u0437\u043e\u043d\u044b \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u0438 (AZ). Git-\u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0441\u0432\u044f\u0437\u0430\u043d \u0441 \u0431\u043e\u043b\u044c\u0448\u0438\u043c\u0438 \u043e\u0431\u044a\u0435\u043c\u0430\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u0445, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430\u043c \u0432\u0430\u0436\u043d\u043e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0435\u0442\u0435\u0432\u043e\u0439 egress. \u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0433\u043e \u0442\u0440\u0430\u0444\u0438\u043a\u0430 egress \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u0435\u043d \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0435\u0441\u043b\u0438 \u043e\u043d \u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u0432 \u0433\u0440\u0430\u043d\u0438\u0446\u0430\u0445 \u043e\u0434\u043d\u043e\u0439 \u0437\u043e\u043d\u044b \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u0438. \u041d\u0430 \u043c\u043e\u043c\u0435\u043d\u0442 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u043c\u044b \u043e\u0442\u0434\u0430\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e 100 \u0422\u0431 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u043e\u0431\u044b\u0447\u043d\u044b\u0439 \u0440\u0430\u0431\u043e\u0447\u0438\u0439 \u0434\u0435\u043d\u044c (\u0438 \u044d\u0442\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f Git-\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432). \u0421\u0435\u0440\u0432\u0438\u0441\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432 \u043d\u0430\u0448\u0435\u0439 \u0441\u0442\u0430\u0440\u043e\u0439 \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0438, \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u043d\u0430 VM, \u043d\u0430\u0445\u043e\u0434\u0438\u043b\u0438\u0441\u044c \u043d\u0430 \u043e\u0434\u043d\u0438\u0445 \u0438 \u0442\u0435\u0445 \u0436\u0435 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d\u0430\u0445, \u0442\u0435\u043f\u0435\u0440\u044c \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 pod&#8217;\u0430\u0445 Kubernetes. \u042d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0442\u0440\u0430\u0444\u0438\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0440\u0430\u043d\u044c\u0448\u0435 \u0431\u044b\u043b\u0430 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0434\u043b\u044f VM, \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0432\u044b\u0445\u043e\u0434\u0438\u0442\u044c \u0437\u0430 \u043f\u0440\u0435\u0434\u0435\u043b\u044b \u0437\u043e\u043d \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u0438.<\/p>\n<p>Klaster\u00ebt rajonal\u00eb GKE lejojn\u00eb mbulimin e disa zonave t\u00eb aksesibilitetit p\u00ebr rezervim. Ne po shqyrtojm\u00eb mund\u00ebsin\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/gitlab.com\/gitlab-com\/gl-infra\/delivery\/-\/issues\/1175\">p\u00ebr t\u00eb ndar\u00eb klasterin rajonal GKE n\u00eb klaster\u00eb nj\u00ebzonor\u00eb<\/a><\/noindex> p\u00ebr sh\u00ebrbimet q\u00eb gjenerojn\u00eb volume t\u00eb m\u00ebdha trafiku. Kjo do t\u00eb ul\u00eb shpenzimet p\u00ebr egress duke mbajtur rezervimin n\u00eb nivel klasteri.<\/p>\n<h3>2. Limit&#8217;\u044b, request&#8217;\u044b \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0438 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435<\/h3>\n<p>\n<img decoding=\"async\" alt=\"Konkluzionet tona pas nj\u00eb viti migrimi t\u00eb GitLab.com n\u00eb Kubernetes\" src=\"\/wp-content\/uploads\/2020\/09\/6e2e1ca4d37666b49358d94cd8660c56.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Numri i kopjeve q\u00eb p\u00ebrpunojn\u00eb trafikun e prodhimit n\u00eb registry.gitlab.com. Trafiku arrin kulmin n\u00eb ~15:00 UTC.<\/i><\/p>\n<p>\u041d\u0430\u0448\u0430 \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u0441 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0435\u0439 \u043d\u0430\u0447\u0430\u043b\u0430\u0441\u044c \u0432 \u0430\u0432\u0433\u0443\u0441\u0442\u0435 2019-\u0433\u043e, \u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u043b\u0438 \u043f\u0435\u0440\u0432\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441 \u2014 \u0440\u0435\u0435\u0441\u0442\u0440 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 GitLab (GitLab Container Registry) \u2014 \u0432 Kubernetes. \u042d\u0442\u043e\u0442 \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0430\u0436\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441 \u0441 \u0432\u044b\u0441\u043e\u043a\u0438\u043c \u0442\u0440\u0430\u0444\u0438\u043a\u043e\u043c \u0445\u043e\u0440\u043e\u0448\u043e \u043f\u043e\u0434\u043e\u0448\u0435\u043b \u0434\u043b\u044f \u043f\u0435\u0440\u0432\u043e\u0439 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 stateless-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0441 \u043c\u0430\u043b\u044b\u043c \u0447\u0438\u0441\u043b\u043e\u043c \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439. \u041f\u0435\u0440\u0432\u043e\u0439 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u043e\u0439, \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043c\u044b \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0438\u0441\u044c, \u0441\u0442\u0430\u043b\u043e \u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u0432\u044b\u0442\u0435\u0441\u043d\u0435\u043d\u043d\u044b\u0445 pod&#8217;\u043e\u0432 \u0438\u0437-\u0437\u0430 \u043d\u0435\u0445\u0432\u0430\u0442\u043a\u0438 \u043f\u0430\u043c\u044f\u0442\u0438 \u043d\u0430 \u0443\u0437\u043b\u0430\u0445. \u0418\u0437-\u0437\u0430 \u044d\u0442\u043e\u0433\u043e \u043d\u0430\u043c \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u043c\u0435\u043d\u044f\u0442\u044c request&#8217;\u044b \u0438 limit&#8217;\u044b.<\/p>\n<p>\u0411\u044b\u043b\u043e \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u043e, \u0447\u0442\u043e \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0443 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u0435 \u043f\u0430\u043c\u044f\u0442\u0438 \u0440\u0430\u0441\u0442\u0435\u0442 \u0441\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c, \u043d\u0438\u0437\u043a\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0434\u043b\u044f request&#8217;\u043e\u0432 (\u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u0443\u044e\u0449\u0438\u0445 \u043f\u0430\u043c\u044f\u0442\u044c \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e pod&#8217;\u0430) \u0432\u043a\u0443\u043f\u0435 \u0441 \u00ab\u0449\u0435\u0434\u0440\u044b\u043c\u00bb \u0436\u0435\u0441\u0442\u043a\u0438\u043c limit&#8217;\u043e\u043c \u043d\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u043b\u0438 \u043a \u043d\u0430\u0441\u044b\u0449\u0435\u043d\u0438\u044e <i>(saturation)<\/i> t\u00eb nyjeve dhe nj\u00eb nivel t\u00eb lart\u00eb t\u00eb d\u00ebbimeve. P\u00ebr t\u00eb p\u00ebrballuar k\u00ebt\u00eb problem, u <noindex><a rel=\"nofollow\" href=\"https:\/\/gitlab.com\/gitlab-com\/gl-infra\/delivery\/-\/issues\/998#note_388983696\">\u0440\u0435\u0448\u0435\u043d\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c request&#8217;\u044b \u0438 \u0441\u043d\u0438\u0437\u0438\u0442\u044c limit&#8217;\u044b<\/a><\/noindex>. \u042d\u0442\u043e \u0441\u043d\u044f\u043b\u043e \u0434\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441 \u0443\u0437\u043b\u043e\u0432 \u0438 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u043b\u043e \u0436\u0438\u0437\u043d\u0435\u043d\u043d\u044b\u0439 \u0446\u0438\u043a\u043b pod&#8217;\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0435 \u043e\u043a\u0430\u0437\u044b\u0432\u0430\u043b \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0432\u044b\u0441\u043e\u043a\u043e\u0433\u043e \u0434\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0430 \u0443\u0437\u0435\u043b. \u0422\u0435\u043f\u0435\u0440\u044c \u043c\u044b \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u043c \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0441 \u0449\u0435\u0434\u0440\u044b\u043c\u0438 (\u0438 \u043f\u043e\u0447\u0442\u0438 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u043c\u0438) \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438 request&#8217;\u043e\u0432 \u0438 limit&#8217;\u043e\u0432, \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u0443\u044f \u0438\u0445 \u043f\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438.<\/p>\n<h3>3. Metrika dhe regjistrat<\/h3>\n<p>\n<img decoding=\"async\" alt=\"Konkluzionet tona pas nj\u00eb viti migrimi t\u00eb GitLab.com n\u00eb Kubernetes\" src=\"\/wp-content\/uploads\/2020\/09\/66d1fd47b57d5826f13defa6e6a7fe3c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Nj\u00ebsia infrastrukturore fokusohet n\u00eb vonesat, p\u00ebrqindjen e gabimeve dhe saturimin me q\u00ebllimet e vendosura <\/i><noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Service-level_objective\"><i>p\u00ebr nivelin e sh\u00ebrbimit<\/i><\/a><\/noindex><i> (SLO), t\u00eb lidhura me <\/i><noindex><a rel=\"nofollow\" href=\"https:\/\/gitlab.com\/gitlab-com\/dashboards-gitlab-com\/-\/metrics\/sla-dashboard.yml?environment=1790496&amp;duration_seconds=86400\"><i>disponueshm\u00ebrin\u00eb e p\u00ebrgjithshme t\u00eb sistemit ton\u00eb.<\/i><\/a><\/noindex><i>.<\/i><\/p>\n<p>Gjat\u00eb vitit t\u00eb kaluar, nj\u00eb nga ngjarjet kryesore n\u00eb nj\u00ebsin\u00eb infrastrukturore ishin p\u00ebrmir\u00ebsimet n\u00eb monitorimin dhe pun\u00ebn me SLO. SLO na lejuan t\u00eb vendosim q\u00ebllime p\u00ebr sh\u00ebrbime t\u00eb ve\u00e7anta, t\u00eb cilat ne i ndjekim me kujdes gjat\u00eb migrimit. Por edhe me nj\u00eb p\u00ebrmir\u00ebsim t\u00eb till\u00eb n\u00eb v\u00ebzhgim, nuk \u00ebsht\u00eb gjithmon\u00eb e mundur t\u00eb shohim menj\u00ebher\u00eb problemet, duke p\u00ebrdorur metrikat dhe alarmin. P\u00ebr shembull, duke u fokusuar n\u00eb vonesat dhe p\u00ebrqindjen e gabimeve, ne nuk e p\u00ebrfshijm\u00eb plot\u00ebsisht t\u00eb gjitha skenar\u00ebt e p\u00ebrdorimit t\u00eb sh\u00ebrbimit q\u00eb \u00ebsht\u00eb n\u00eb migrim.<\/p>\n<p>Ky problem u zbulua pothuajse menj\u00ebher\u00eb pas transferimit t\u00eb nj\u00eb pjese t\u00eb ngarkesave n\u00eb klaster. Ai u shfaq ve\u00e7an\u00ebrisht kur duhej t\u00eb kontrolloheshin funksionet p\u00ebr t\u00eb cilat numri i k\u00ebrkesave \u00ebsht\u00eb i vog\u00ebl, por q\u00eb kan\u00eb var\u00ebsi konfigurimesh shum\u00eb specifike. Nj\u00eb nga m\u00ebsimet e r\u00ebnd\u00ebsishme nga migrimi ishte nevoja p\u00ebr t\u00eb marr\u00eb parasysh gjat\u00eb monitorimit jo vet\u00ebm metrikat, por edhe regjistrat dhe \"bishtin e gjat\u00eb\" <i>(n\u00eb nj\u00eb kuptim t\u00eb shp\u00ebrndarjes s\u00eb till\u00eb <\/i><noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Long_tail\"><i>n\u00eb grafik - sh\u00ebn. p\u00ebrkth.<\/i><\/a><\/noindex><i> t\u00eb gabimeve. Tani p\u00ebr \u00e7do migrim ne p\u00ebrfshijm\u00eb nj\u00eb list\u00eb t\u00eb detajuar t\u00eb k\u00ebrkesave p\u00ebr regjistra<\/i> (log queries) <i>dhe planifikojm\u00eb procedura t\u00eb qarta rikthimi, t\u00eb cilat n\u00eb rast se ndodhin probleme, mund t\u00eb kalojn\u00eb nga nj\u00eb nd\u00ebrrim n\u00eb tjetrin.<\/i> Sh\u00ebrbimi paralel i t\u00eb nj\u00ebjtave k\u00ebrkesa n\u00eb infrastruktur\u00ebn e vjet\u00ebr VM dhe n\u00eb t\u00eb re, e bazuar n\u00eb Kubernetes, p\u00ebrb\u00ebnte nj\u00eb sfid\u00eb unike. Ndryshe nga migrimi i tipit lift-and-shift<\/p>\n<p>(transfer i shpejt\u00eb i aplikacioneve \"ashtu si\u00e7 jan\u00eb\" n\u00eb infrastruktur\u00ebn e re; mund t\u00eb lexoni m\u00eb shum\u00eb, p\u00ebr shembull, <i>\u2013 sh\u00ebn. p\u00ebrkth.) <\/i><noindex><a rel=\"nofollow\" href=\"https:\/\/www.ibm.com\/cloud\/learn\/lift-and-shift\"><i>k\u00ebtu<\/i><\/a><\/noindex><i> \u2014 sh\u00ebn. p\u00ebrkth.)<\/i>, puna e pun\u00ebs paralel me VM-t\u00eb e \"vjetra\" dhe Kubernetes k\u00ebrkon q\u00eb mjetet p\u00ebr monitorim t\u00eb jen\u00eb t\u00eb pajtueshme me t\u00eb dyja mjediset dhe t\u00eb jen\u00eb n\u00eb gjendje t\u00eb bashkojn\u00eb metrikat n\u00eb nj\u00eb pamje. \u00cbsht\u00eb e r\u00ebnd\u00ebsishme q\u00eb ne t\u00eb p\u00ebrdorim t\u00eb nj\u00ebjtat dashboard dhe k\u00ebrkesa p\u00ebr log-et, p\u00ebr t\u00eb arritur nj\u00eb v\u00ebzhgim t\u00eb konsoliduar gjat\u00eb periudh\u00ebs s\u00eb kalimit.<\/p>\n<h3>4. Kalimi i trafikut n\u00eb klasterin e ri<\/h3>\n<p>\nP\u00ebr GitLab.com, nj\u00eb pjes\u00eb e server\u00ebve i dedikohet <noindex><a rel=\"nofollow\" href=\"https:\/\/about.gitlab.com\/handbook\/engineering\/#canary-testing\">faz\u00ebs kanarin\u00eb (canary)<\/a><\/noindex>. Parku kanarin\u00eb sh\u00ebrben p\u00ebr projektet tona t\u00eb brendshme, si dhe mund <noindex><a rel=\"nofollow\" href=\"https:\/\/next.gitlab.com\/\">t\u00eb aktivizohet nga p\u00ebrdoruesit<\/a><\/noindex>. Por, n\u00eb radh\u00eb t\u00eb par\u00eb ai \u00ebsht\u00eb i destinuar p\u00ebr t\u00eb verifikuar ndryshimet e b\u00ebra n\u00eb infrastruktur\u00eb dhe aplikacion. Sh\u00ebrbimi i par\u00eb i migruar filloi me pranimin e nj\u00eb volume t\u00eb kufizuar t\u00eb trafikut t\u00eb brendsh\u00ebm, dhe ne vazhdojm\u00eb t\u00eb p\u00ebrdorim k\u00ebt\u00eb metod\u00eb p\u00ebr t\u00eb siguruar p\u00ebrmbushjen e SLO para se t\u00eb drejtojm\u00eb t\u00eb gjith\u00eb trafikun n\u00eb klaster.<\/p>\n<p>N\u00eb rastin e migrimit, kjo do t\u00eb thot\u00eb q\u00eb fillimisht k\u00ebrkesat p\u00ebr projektet e brendshme drejtohen n\u00eb Kubernetes, dhe pastaj ne gradualisht kalojm\u00eb trafikun e mbetur n\u00eb klaster duke ndryshuar pesh\u00ebn p\u00ebr backendin p\u00ebrmes HAProxy. Gjat\u00eb kalimit nga VM n\u00eb Kubernetes u b\u00eb e qart\u00eb se ishte shum\u00eb e dobishme t\u00eb kishim nj\u00eb m\u00ebnyr\u00eb t\u00eb thjesht\u00eb p\u00ebr t\u00eb drejtuar trafikun mes infrastruktur\u00ebs s\u00eb vjet\u00ebr dhe t\u00eb re, dhe p\u00ebrkat\u00ebsisht, t\u00eb mbajm\u00eb infrastruktur\u00ebn e vjet\u00ebr gati p\u00ebr nj\u00eb rikthim n\u00eb dit\u00ebt e para pas migrimit.<\/p>\n<h3>5. \u0420\u0435\u0437\u0435\u0440\u0432\u043d\u044b\u0435 \u043c\u043e\u0449\u043d\u043e\u0441\u0442\u0438 pod&#8217;\u043e\u0432 \u0438 \u0438\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435<\/h3>\n<p>\n\u041f\u043e\u0447\u0442\u0438 \u0441\u0440\u0430\u0437\u0443 \u0431\u044b\u043b\u0430 \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430: pod&#8217;\u044b \u0434\u043b\u044f \u0441\u0435\u0440\u0432\u0438\u0441\u0430 Registry \u0441\u0442\u0430\u0440\u0442\u043e\u0432\u0430\u043b\u0438 \u0431\u044b\u0441\u0442\u0440\u043e, \u043e\u0434\u043d\u0430\u043a\u043e \u0437\u0430\u043f\u0443\u0441\u043a pod&#8217;\u043e\u0432 \u0434\u043b\u044f Sidekiq \u0437\u0430\u043d\u0438\u043c\u0430\u043b \u0434\u043e <noindex><a rel=\"nofollow\" href=\"https:\/\/gitlab.com\/gitlab-org\/charts\/gitlab\/-\/issues\/1775\">dy minuta<\/a><\/noindex>. \u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0437\u0430\u043f\u0443\u0441\u043a pod&#8217;\u043e\u0432 \u0434\u043b\u044f Sidekiq \u0441\u0442\u0430\u043b \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u043e\u0439, \u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u043b\u0438 \u043a \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0432 Kubernetes \u0440\u0430\u0431\u043e\u0447\u0438\u0445 \u043d\u0430\u0433\u0440\u0443\u0437\u043e\u043a \u0434\u043b\u044f worker&#8217;\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u043d\u0443\u0436\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u043e \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c job&#8217;\u044b \u0438 \u0431\u044b\u0441\u0442\u0440\u043e \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f.<\/p>\n<p>\u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0443\u0440\u043e\u043a \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u043b\u0441\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e, \u0445\u043e\u0442\u044f Horizontal Pod Autoscaler (HPA) \u0432 Kubernetes \u0445\u043e\u0440\u043e\u0448\u043e \u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441 \u0440\u043e\u0441\u0442\u043e\u043c \u0442\u0440\u0430\u0444\u0438\u043a\u0430, \u0432\u0430\u0436\u043d\u043e \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0432\u043e \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0438 \u0440\u0430\u0431\u043e\u0447\u0438\u0445 \u043d\u0430\u0433\u0440\u0443\u0437\u043e\u043a \u0438 \u0432\u044b\u0434\u0435\u043b\u044f\u0442\u044c \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u044b\u0435 \u043c\u043e\u0449\u043d\u043e\u0441\u0442\u0438 pod&#8217;\u043e\u0432 (\u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0432 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445 \u043d\u0435\u0440\u0430\u0432\u043d\u043e\u043c\u0435\u0440\u043d\u043e\u0433\u043e \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0441\u043f\u0440\u043e\u0441\u0430). \u0412 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u043b\u0441\u044f \u0432\u043d\u0435\u0437\u0430\u043f\u043d\u044b\u0439 \u0432\u0441\u043f\u043b\u0435\u0441\u043a job&#8217;\u043e\u0432, \u0432\u043b\u0435\u043a\u0443\u0449\u0438\u0439 \u0437\u0430 \u0441\u043e\u0431\u043e\u0439 \u0441\u0442\u0440\u0435\u043c\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u043b\u043e \u043a \u043d\u0430\u0441\u044b\u0449\u0435\u043d\u0438\u044e \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 CPU \u0434\u043e \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u043c\u044b \u0443\u0441\u043f\u0435\u0432\u0430\u043b\u0438 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0443\u043b \u0443\u0437\u043b\u043e\u0432.<\/p>\n<p>\u0412\u0441\u0435\u0433\u0434\u0430 \u0435\u0441\u0442\u044c \u0441\u043e\u0431\u043b\u0430\u0437\u043d \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u0435 \u00ab\u0432\u044b\u0436\u0430\u0442\u044c\u00bb \u0438\u0437 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430, \u043e\u0434\u043d\u0430\u043a\u043e \u043c\u044b, \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u0432\u0448\u0438\u0441\u044c \u0441 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u043c\u0438 \u0441 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e, \u0442\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u043c \u0441 \u0449\u0435\u0434\u0440\u043e\u0433\u043e pod budget&#8217;\u0430 \u0438 \u0443\u043c\u0435\u043d\u044c\u0448\u0430\u0435\u043c \u0435\u0433\u043e \u0432\u043f\u043e\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u0438, \u043f\u0440\u0438\u0441\u0442\u0430\u043b\u044c\u043d\u043e \u0441\u043b\u0435\u0434\u044f \u0437\u0430 SLO. \u0417\u0430\u043f\u0443\u0441\u043a pod&#8217;\u043e\u0432 \u0434\u043b\u044f \u0441\u0435\u0440\u0432\u0438\u0441\u0430 Sidekiq \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0443\u0441\u043a\u043e\u0440\u0438\u043b\u0441\u044f \u0438 \u0442\u0435\u043f\u0435\u0440\u044c \u0432 \u0441\u0440\u0435\u0434\u043d\u0435\u043c \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \u043e\u043a\u043e\u043b\u043e 40 \u0441\u0435\u043a\u0443\u043d\u0434. <noindex><a rel=\"nofollow\" href=\"https:\/\/gitlab.com\/gitlab-org\/charts\/gitlab\/-\/issues\/1775\">\u041e\u0442 \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 pod&#8217;\u043e\u0432<\/a><\/noindex> fituan si GitLab.com, ashtu edhe p\u00ebrdoruesit tan\u00eb t\u00eb instalimeve self-managed, q\u00eb punojn\u00eb me Helm chartin zyrtar t\u00eb GitLab.<\/p>\n<h2>P\u00ebrfundim<\/h2>\n<p>\nPasi transferuam \u00e7do sh\u00ebrbim, ne g\u00ebzuam p\u00ebrfitimet e p\u00ebrdorimit t\u00eb Kubernetes n\u00eb prodhim: nj\u00eb deploy m\u00eb t\u00eb shpejt\u00eb dhe m\u00eb t\u00eb sigurt t\u00eb aplikacionit, p\u00ebrmasim dhe nj\u00eb shp\u00ebrndarje m\u00eb efektive t\u00eb burimeve. P\u00ebr m\u00eb tep\u00ebr, p\u00ebrfitimet e migrimit shkojn\u00eb p\u00ebrtej sh\u00ebrbimit GitLab.com. \u00c7do p\u00ebrmir\u00ebsim n\u00eb chartin zyrtar t\u00eb Helm p\u00ebrfiton edhe p\u00ebrdoruesit e tij.<\/p>\n<p>Shpresoj t'ju ket\u00eb p\u00eblqyer historia mbi aventurat tona me migrimin n\u00eb Kubernetes. Ne vazhdojm\u00eb t\u00eb transferojm\u00eb gjithnj\u00eb e m\u00eb shum\u00eb sh\u00ebrbime n\u00eb klaster. Informacione shtes\u00eb mund t\u00eb merrni nga publikimet e m\u00ebposhtme:<\/p>\n<ul>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/about.gitlab.com\/handbook\/engineering\/infrastructure\/production\/kubernetes\/gitlab-com\/\">Pse po migrojm\u00eb n\u00eb Kubernetes?<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/about.gitlab.com\/handbook\/engineering\/infrastructure\/production\/architecture\/#gitlab-com-on-kubernetes\">GitLab.com n\u00eb Kubernetes<\/a><\/noindex>\u00bb;<\/li>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/gitlab.com\/groups\/gitlab-com\/gl-infra\/-\/epics\/112\">Epick p\u00ebr migrimin e GitLab.com n\u00eb Kubernetes<\/a><\/noindex>.<\/li>\n<\/ul>\n<p><\/p>\n<h2>P.S. nga p\u00ebrkthyesi<\/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\/519962\/\">3 vjet me Kubernetes n\u00eb prodhim: ja \u00e7far\u00eb kuptuam<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/504396\/\">10 gabimet tipike gjat\u00eb p\u00ebrdorimit t\u00eb Kubernetes<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/335814\/\">Histori suksesi t\u00eb Kubernetes n\u00eb prodhim. Pjesa 3: GitHub<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/440278\/\">Kalimi i Tinder n\u00eb Kubernetes<\/a><\/noindex>\u00bb.<\/li>\n<\/ul>\n<p>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/520150\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u043c. \u043f\u0435\u0440\u0435\u0432.: \u0430\u0434\u0430\u043f\u0442\u0430\u0446\u0438\u044e Kubernetes \u0432 GitLab \u0441\u0447\u0438\u0442\u0430\u044e\u0442 \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \u0434\u0432\u0443\u0445 \u0433\u043b\u0430\u0432\u043d\u044b\u0445 \u0444\u0430\u043a\u0442\u043e\u0440\u043e\u0432, \u0441\u043f\u043e\u0441\u043e\u0431\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u0440\u043e\u0441\u0442\u0443 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438. \u0422\u0435\u043c \u043d\u0435 \u043c\u0435\u043d\u0435\u0435, \u0434\u043e \u043d\u0435\u0434\u0430\u0432\u043d\u0435\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043e\u043d\u043b\u0430\u0439\u043d-\u0441\u0435\u0440\u0432\u0438\u0441\u0430 GitLab.com \u0431\u044b\u043b\u0430 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u043d\u0430 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d\u0430\u0445, \u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u043a\u043e\u043b\u043e \u0433\u043e\u0434\u0430 \u043d\u0430\u0437\u0430\u0434 \u043d\u0430\u0447\u0430\u043b\u0430\u0441\u044c \u0435\u0451 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044f \u0432 K8s, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0434\u043e \u0441\u0438\u0445 \u043f\u043e\u0440 \u043d\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0430. \u0420\u0430\u0434\u044b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u043d\u0435\u0434\u0430\u0432\u043d\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 SRE-\u0438\u043d\u0436\u0435\u043d\u0435\u0440\u0430 GitLab \u043e \u0442\u043e\u043c, \u043a\u0430\u043a [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":94978,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-94977","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.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0438\u043c. \u043f\u0435\u0440\u0435\u0432.: \u0430\u0434\u0430\u043f\u0442\u0430\u0446\u0438\u044e Kubernetes \u0432 GitLab \u0441\u0447\u0438\u0442\u0430\u044e\u0442 \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \u0434\u0432\u0443\u0445 \u0433\u043b\u0430\u0432\u043d\u044b\u0445 \u0444\u0430\u043a\u0442\u043e\u0440\u043e\u0432, \u0441\u043f\u043e\u0441\u043e\u0431\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u0440\u043e\u0441\u0442\u0443 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438.\" \/>\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\/nashi-vyvody-za-god-migraczii-gitlab-com-na-kubernetes\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.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\u041d\u0430\u0448\u0438 \u0432\u044b\u0432\u043e\u0434\u044b \u0437\u0430 \u0433\u043e\u0434 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 GitLab.com \u043d\u0430 Kubernetes | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u043c. \u043f\u0435\u0440\u0435\u0432.: \u0430\u0434\u0430\u043f\u0442\u0430\u0446\u0438\u044e Kubernetes \u0432 GitLab \u0441\u0447\u0438\u0442\u0430\u044e\u0442 \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \u0434\u0432\u0443\u0445 \u0433\u043b\u0430\u0432\u043d\u044b\u0445 \u0444\u0430\u043a\u0442\u043e\u0440\u043e\u0432, \u0441\u043f\u043e\u0441\u043e\u0431\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u0440\u043e\u0441\u0442\u0443 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/nashi-vyvody-za-god-migraczii-gitlab-com-na-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-09-24T05:43:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-09-24T05:43:00+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\u00ebrfundimet tona pas nj\u00eb viti migrimi t\u00eb GitLab.com n\u00eb Kubernetes | ProHoster","description":"Sh\u00ebn. red.: adaptimi i Kubernetes n\u00eb GitLab konsiderohet nj\u00eb nga dy faktor\u00ebt kryesor\u00eb q\u00eb kontribuojn\u00eb n\u00eb rritjen e kompanis\u00eb.","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/nashi-vyvody-za-god-migraczii-gitlab-com-na-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\u041d\u0430\u0448\u0438 \u0432\u044b\u0432\u043e\u0434\u044b \u0437\u0430 \u0433\u043e\u0434 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 GitLab.com \u043d\u0430 Kubernetes | ProHoster","og:description":"\u041f\u0440\u0438\u043c. \u043f\u0435\u0440\u0435\u0432.: \u0430\u0434\u0430\u043f\u0442\u0430\u0446\u0438\u044e Kubernetes \u0432 GitLab \u0441\u0447\u0438\u0442\u0430\u044e\u0442 \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \u0434\u0432\u0443\u0445 \u0433\u043b\u0430\u0432\u043d\u044b\u0445 \u0444\u0430\u043a\u0442\u043e\u0440\u043e\u0432, \u0441\u043f\u043e\u0441\u043e\u0431\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u0440\u043e\u0441\u0442\u0443 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438.","og:url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/nashi-vyvody-za-god-migraczii-gitlab-com-na-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-09-24T05:43:00+00:00","article:modified_time":"2020-09-24T05:43:00+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"94977","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 11:14:45","updated":"2022-10-03 07:39:43","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\/94977","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=94977"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/94977\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/94978"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=94977"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=94977"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=94977"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}