{"id":30272,"date":"2019-10-31T21:34:36","date_gmt":"2019-10-31T18:34:36","guid":{"rendered":"https:\/\/prohoster.info\/blog\/kubernetes-1-14-obzor-osnovnyh-novshestv\/"},"modified":"2019-10-31T21:34:36","modified_gmt":"2019-10-31T18:34:36","slug":"kubernetes-1-14-obzor-osnovnyh-novshestv","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/kubernetes-1-14-obzor-osnovnyh-novshestv","title":{"rendered":"Kubernetes 1.14: pasqyra e novacioneve kryesore","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Kubernetes 1.14: pasqyra e novacioneve kryesore\" src=\"\/wp-content\/uploads\/2019\/03\/8fb5be29668f55ec42d31eb47200b639.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nK\u00ebt\u00eb nat\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/sig-release\/tree\/master\/releases\/release-1.14#timeline\">do t\u00eb ndodh\u00eb<\/a><\/noindex> nj\u00eb tjet\u00ebr l\u00ebshim i Kubernetes \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/sig-release\/tree\/master\/releases\/release-1.14\">1.14<\/a><\/noindex>. Duke ndjekur tradit\u00ebn e k\u00ebtij blogu, ne do t\u00eb flasim p\u00ebr ndryshimet ky\u00e7e n\u00eb versionin e ri t\u00eb k\u00ebtij produkte t\u00eb shk\u00eblqyer open source.<\/p>\n<p>Informacioni i p\u00ebrdorur p\u00ebr p\u00ebrgatitjen e k\u00ebtij materiali \u00ebsht\u00eb marr\u00eb nga <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.google.com\/spreadsheets\/u\/1\/d\/116X6E-lmDJG5UZPlqDAFw8hN9vS6SNY4qRNZ9fKtsMU\/edit#gid=0\">tabela e ndjekjes s\u00eb p\u00ebrmir\u00ebsimeve t\u00eb Kubernetes<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/blob\/release-1.14\/CHANGELOG-1.14.md\">CHANGELOG-1.14<\/a><\/noindex> dhe \u00e7\u00ebshtjet, k\u00ebrkesat p\u00ebr t\u00ebrheqje, Propozimet e P\u00ebrmir\u00ebsimit t\u00eb Kubernetes (KEP) p\u00ebrkat\u00ebse.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Le t\u00eb fillojm\u00eb me nj\u00eb hyrje t\u00eb r\u00ebnd\u00ebsishme nga SIG cluster-lifecycle: <b>klasterat dinamik t\u00eb q\u00ebndrueshm\u00ebris\u00eb<\/b> Kubernetes (nd\u00ebrsa n\u00ebse do t\u00eb shprehemi m\u00eb sakt\u00eb, rikthimet e HA t\u00eb vet\u00ebpritur) tani <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/issues\/357\">mund t\u00eb krijohen<\/a><\/noindex> n\u00ebp\u00ebrmjet komandave t\u00eb njohura (n\u00eb kontekstin e klasterave me nj\u00eb nod) <code>kubeadm<\/code> (<code>init<\/code> dhe <code>bashkohu<\/code>). N\u00eb p\u00ebrmbledhje, p\u00ebr k\u00ebt\u00eb:<\/p>\n<ul>\n<li> certifikatat e p\u00ebrdorura nga klasteri jan\u00eb transferuar n\u00eb sekrete;<\/li>\n<li> p\u00ebr t\u00eb lejuar p\u00ebrdorimin e klasterit etcd brenda klasterit K8s (n\u00eb kuptimin e heqjes s\u00eb var\u00ebsis\u00eb ekzistuese t\u00eb jashtme) \u00ebsht\u00eb angazhuar <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/coreos\/etcd-operator\">etcd-operator<\/a><\/noindex>;<\/li>\n<li> jan\u00eb dokumentuar konfigurimet e rekomanduara p\u00ebr nj\u00eb balancues t\u00eb ngarkes\u00ebs t\u00eb jasht\u00ebm, q\u00eb ofron nj\u00eb konfigurim t\u00eb q\u00ebndrueshm\u00ebris\u00eb (n\u00eb t\u00eb ardhmen planifikohet mund\u00ebsia p\u00ebr t'u hequr nga kjo var\u00ebsi, por jo n\u00eb k\u00ebt\u00eb faz\u00eb).<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Kubernetes 1.14: pasqyra e novacioneve kryesore\" src=\"\/wp-content\/uploads\/2019\/03\/0e82b7e8db1ad117dc87f68fa4669431.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Arkitektura e klasterit t\u00eb HA t\u00eb Kubernetes, e krijuar me kubeadm<\/i><\/p>\n<p>Detajet e zbatimit mund t\u00eb shihen n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.google.com\/document\/d\/1P3oUJ_kdaRSTlGONujadGBpYegjn4RjBNZLHZ4zU7lI\/edit#\">propozimin e dizajnit<\/a><\/noindex>. Kjo ve\u00e7ori ishte v\u00ebrtet e pritur: versioni alfa pritej q\u00eb n\u00eb K8s 1.9, por doli vet\u00ebm tani.<\/p>\n<h2>API<\/h2>\n<p>\nEkipa <code>aplikoni<\/code> dhe n\u00eb p\u00ebrgjith\u00ebsi <b>menaxhimi deklarativ i objekteve<\/b> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/issues\/555\">jan\u00eb transferuar<\/a><\/noindex> nga <code>kubectl<\/code> n\u00eb apiserver. Vet\u00eb zhvilluesit e shpjegojn\u00eb shkurtimisht vendimin e tyre duke th\u00ebn\u00eb se <code>kubectl apply<\/code> \u00ebsht\u00eb nj\u00eb pjes\u00eb themelore e pun\u00ebs me konfigurimet n\u00eb Kubernetes, megjithat\u00eb \"\u00ebsht\u00eb plot me gabime dhe e v\u00ebshtir\u00eb p\u00ebr t'u riparuar\", prandaj kjo funksionalitet duhet t\u00eb p\u00ebrmir\u00ebsohet dhe t\u00eb transferohet n\u00eb plani i kontrollit. Shembujt e thjesht\u00eb dhe t\u00eb qart\u00eb t\u00eb problemeve q\u00eb ekzistojn\u00eb sot jan\u00eb:<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes 1.14: pasqyra e novacioneve kryesore\" src=\"\/wp-content\/uploads\/2019\/03\/379b0d830491bbb0e7ac3c3ccfff71c4.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDetajet e zbatimit jan\u00eb n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/blob\/master\/keps\/sig-api-machinery\/0006-apply.md\">KEP<\/a><\/noindex>. Gati\u00ebsia aktuale \u00ebsht\u00eb version alfa (e avancuar p\u00ebr beta planifikohet p\u00ebr l\u00ebshimin e ardhsh\u00ebm t\u00eb Kubernetes).<\/p>\n<p>N\u00eb versionin alfa b\u00ebhet e disponueshme <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/issues\/692\">mund\u00ebsia<\/a><\/noindex> p\u00ebrdorimi i skem\u00ebs OpenAPI v3 p\u00ebr <b>krijimin dhe publikimin e dokumentacionit OpenAPI p\u00ebr Resurset e Personalizuara<\/b> (CR), t\u00eb p\u00ebrdorura p\u00ebr validimin (n\u00eb an\u00ebn e serverit) e resurseve K8s, t\u00eb p\u00ebrcaktuar nga p\u00ebrdoruesi (Definimi i Resurseve t\u00eb Personalizuara, CRD). Publikimi i OpenAPI p\u00ebr CRD u lejon klient\u00ebve (p.sh., <code>kubectl<\/code>) t\u00eb kryejn\u00eb validimin n\u00eb an\u00ebn e tyre (brenda <code>kubectl krijo<\/code> dhe <code>kubectl apply<\/code>) dhe t\u00eb ofrojn\u00eb dokumentacionin p\u00ebr skem\u00ebn (<code>kubectl shpjego<\/code>). Detajet jan\u00eb n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/blob\/master\/keps\/sig-api-machinery\/00xx-publish-crd-openapi.md\">KEP<\/a><\/noindex>.<\/p>\n<p>Log\u00ebt e m\u00ebparshme <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/74837\">tani hapen<\/a><\/noindex> me flamurin <code>O_APPEND<\/code> (dhe jo <code>O_TRUNC<\/code>) \u0432\u043e \u0438\u0437\u0431\u0435\u0436\u0430\u043d\u0438\u0435 \u043f\u043e\u0442\u0435\u0440\u0438 \u043b\u043e\u0433\u043e\u0432 \u0432 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f\u0445 \u0438 \u0434\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 truncate&#8217;\u0430 \u043b\u043e\u0433\u043e\u0432 \u0432\u043d\u0435\u0448\u043d\u0438\u043c\u0438 \u0443\u0442\u0438\u043b\u0438\u0442\u0430\u043c\u0438 \u0434\u043b\u044f \u0440\u043e\u0442\u0430\u0446\u0438\u0438.<\/p>\n<p>Gjithashtu n\u00eb kontekstin e API-ve t\u00eb Kubernetes mund t\u00eb theksojm\u00eb se n\u00eb <code>PodSandbox<\/code> dhe <code>PodSandboxStatus<\/code> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/73833\">filtrimi i pakove dhe p\u00ebrdit\u00ebsimet me \"nj\u00eb klik\".<\/a><\/noindex> fush\u00ebn <code>runtime_handler<\/code> p\u00ebr t\u00eb evidentuar informacionin mbi <code>RuntimeClass<\/code> \u0432 pod&#8217;\u0435 (\u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043e \u043d\u0451\u043c \u0447\u0438\u0442\u0430\u0439\u0442\u0435 \u0432 \u0442\u0435\u043a\u0441\u0442\u0435 \u043f\u0440\u043e <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/424331\/\">l\u00ebshimi Kubernetes 1.12<\/a><\/noindex>, ku kjo klas\u00eb u shfaq si nj\u00eb version alfa), dhe n\u00eb Admission Webhooks <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/74998\">\u00ebsht\u00eb implementuar<\/a><\/noindex> mund\u00ebsia p\u00ebr t\u00eb p\u00ebrcaktuar se cilat versione <code>AdmissionReview<\/code> ato mb\u00ebshtesin. P\u00ebrfundimisht, n\u00eb rregullat e Admission Webhooks tani <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/74477\">mund t\u00eb kufizohen<\/a><\/noindex> \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u044b \u0438\u0445 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f namespace&#8217;\u0430\u043c\u0438 \u0438 \u0440\u0430\u043c\u043a\u0430\u043c\u0438 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430.<\/p>\n<h2>T\u00eb dh\u00ebnat<\/h2>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/storage\/volumes\/#local\"><code><b>V\u00ebllimetLokaleP\u00ebrhersh\u00ebm<\/b><\/code><\/a><\/noindex>, t\u00eb cilat kishin status beta-q\u00eb nga l\u00ebshimi <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/353114\/\">K8s 1.10<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/74769\">u shpall\u00ebn<\/a><\/noindex> t\u00eb stabilizuara (GA): ky feature gate nuk do t\u00eb \u00e7aktivizohet m\u00eb dhe do t\u00eb hiqet n\u00eb Kubernetes 1.17.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/issues\/559\">Mund\u00ebsia<\/a><\/noindex> p\u00ebrdorimi i variablave t\u00eb mjedisit t\u00eb ashtuquajtur <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tasks\/inject-data-application\/downward-api-volume-expose-pod-information\/#capabilities-of-the-downward-api\">Downward API<\/a><\/noindex> (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0438\u043c\u0435\u043d\u0438 pod&#8217;\u0430) \u0434\u043b\u044f \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0439 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0439, \u043c\u043e\u043d\u0442\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u043a\u0430\u043a <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/storage\/volumes\/#using-subpath\"><code>subPath<\/code><\/a><\/noindex>, mori zhvillim \u2014 n\u00eb form\u00ebn e nj\u00eb fushe t\u00eb re <code>subPathExpr<\/code>, me ndihm\u00ebn e s\u00eb cil\u00ebs tani p\u00ebrcaktohet emri i nevojsh\u00ebm i direktorive. Fillimisht, kjo ve\u00e7ori u shfaq n\u00eb Kubernetes 1.11, por p\u00ebr 1.14 mbeti ende n\u00eb statusin e versionit alfa.<\/p>\n<p>Si dhe n\u00eb l\u00ebshimin e kaluar t\u00eb Kubernetes, shum\u00eb ndryshime t\u00eb r\u00ebnd\u00ebsishme jan\u00eb paraqitur p\u00ebr CSI (Container Storage Interface) n\u00eb zhvillim aktiv:<\/p>\n<h3>CSI<\/h3>\n<p>\n\u00c8sht\u00eb b\u00ebr\u00eb e disponueshme (n\u00eb kuad\u00ebr t\u00eb versionit alfa) <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/issues\/556\">\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430<\/a><\/noindex> <b>ndryshimi i madh\u00ebsis\u00eb p\u00ebr volume t\u00eb CSI.<\/b>P\u00ebr ta p\u00ebrdorur k\u00ebt\u00eb, do t\u00eb nevojitet aktivizimi i feature gate me emrin <code>ExpandCSIVolumes<\/code>, si dhe mb\u00ebshtetje p\u00ebr k\u00ebt\u00eb operacion n\u00eb drejtuesin p\u00ebrkat\u00ebs t\u00eb CSI.<\/p>\n<p>Nj\u00eb tjet\u00ebr ve\u00e7ori p\u00ebr CSI n\u00eb versionin alfa \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/issues\/596\">mund\u00ebsia<\/a><\/noindex> \u0441\u0441\u044b\u043b\u0430\u0442\u044c\u0441\u044f \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e (\u0442.\u0435. \u0431\u0435\u0437 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f PV\/PVC) \u043d\u0430 CSI-\u0442\u043e\u043c\u044b \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 pod&#8217;\u043e\u0432. \u042d\u0442\u043e <b>heq kufizimin p\u00ebr p\u00ebrdorimin e CSI si nj\u00eb depo t\u00eb shp\u00ebrndara<\/b>, duke i hapur dyert p\u00ebr ato n\u00eb bot\u00ebn <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes-csi.github.io\/docs\/ephemeral-local-volumes.html\">volumes ephemerale lokale.<\/a><\/noindex>P\u00ebr p\u00ebrdorimin (<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/vladimirvivien\/kubernetes.github.io\/blob\/b78107abfdb2b5877973b84062d93cdf98ef1b9c\/content\/en\/docs\/concepts\/storage\/volumes.md#csi-ephemeral-volumes\">shembuj nga dokumentacioni<\/a><\/noindex>) duhet t\u00eb aktivizohet <code>CSIInlineVolume<\/code> feature gate.<\/p>\n<p>Ka pasur p\u00ebrparim dhe n\u00eb 'brend\u00ebsit\u00eb' e Kubernetes, t\u00eb lidhura me CSI, t\u00eb cilat nuk jan\u00eb aq t\u00eb dukshme p\u00ebr p\u00ebrdoruesit p\u00ebrfundimtar\u00eb (administrator\u00ebt e sistemeve)... N\u00eb k\u00ebt\u00eb moment zhvilluesit jan\u00eb t\u00eb detyruar t\u00eb mb\u00ebshtesin dy versione t\u00eb \u00e7do plugin-i t\u00eb depozit\u00ebs: nj\u00eb \u2014 'me stilin e vjet\u00ebr', brenda kodit t\u00eb baz\u00ebs K8s (in-tree), dhe tjetra \u2014 n\u00eb kuad\u00ebr t\u00eb ri CSI <i>(m\u00eb shum\u00eb p\u00ebr t\u00eb lexoni, p\u00ebr shembull, n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/424211\/\">k\u00ebtu<\/a><\/noindex>)<\/i>. Kjo shkakton shqet\u00ebsime t\u00eb kuptueshme q\u00eb duhet t\u00eb zgjidhen me kalimin n\u00eb CSI si t\u00eb till\u00eb. Nuk \u00ebsht\u00eb e mundur thjesht t\u00eb shpallen si t\u00eb vjetra (deprecated) API t\u00eb plugins p\u00ebrbrenda (in-tree) p\u00ebr shkak t\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/reference\/using-api\/deprecation-policy\/#deprecating-parts-of-the-api\">politik\u00ebs p\u00ebrkat\u00ebse t\u00eb Kubernetes<\/a><\/noindex>.<\/p>\n<p>. E gjith\u00eb kjo ka \u00e7uar n\u00eb faktin q\u00eb versionet alfa arrit\u00ebn <b><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/issues\/625\">procesin e migrimit<\/a><\/noindex> t\u00eb kodit t\u00eb brendsh\u00ebm t\u00eb plugins<\/b>, t\u00eb implementuara si in-tree, n\u00eb plugins CSI, duke e b\u00ebr\u00eb q\u00eb shqet\u00ebsimet e zhvilluesve t\u00eb reduktohen n\u00eb mb\u00ebshtetje t\u00eb nj\u00eb versioni t\u00eb vet\u00ebm t\u00eb plugins t\u00eb tyre, nd\u00ebrsa ruhet p\u00ebrputhshm\u00ebria me API-t\u00eb e vjetra dhe ato mund t\u00eb shpallen si t\u00eb vjetra sipas skenarit t\u00eb zakonsh\u00ebm. Pritet q\u00eb me l\u00ebshimin e ardhsh\u00ebm t\u00eb Kubernetes (1.15) t\u00eb p\u00ebrfundoj\u00eb migrimi i t\u00eb gjith\u00eb plugins t\u00eb ofruesve t\u00eb cloud, implementimi do t\u00eb marr\u00eb statusin beta dhe do t\u00eb aktivizohet n\u00eb instalimet e K8s me parazgjedhje. Detaje n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/community\/blob\/master\/contributors\/design-proposals\/storage\/csi-migration.md\">propozimin e dizajnit<\/a><\/noindex>. Pasojat e k\u00ebsaj migrimi gjithashtu ishin <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/74544\">heqja<\/a><\/noindex> e kufizimeve p\u00ebr volumet q\u00eb p\u00ebrcaktohen nga ofruesit specifik\u00eb t\u00eb cloud (AWS, Azure, GCE, Cinder).<\/p>\n<p>P\u00ebr m\u00eb tep\u00ebr, mb\u00ebshtetje p\u00ebr pajisje bllokuese me CSI (<code>CSIBlockVolume<\/code>) <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/74909\">u kalua<\/a><\/noindex> n\u00eb version beta.<\/p>\n<h2>Nodet \/ Kubelet<\/h2>\n<p>\nU prezantua versioni alfa <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/issues\/727\">i endpoint-it t\u00eb ri<\/a><\/noindex> n\u00eb Kubelet, i cili \u00ebsht\u00eb i destinuar p\u00ebr <b>drejtimin e metrikave p\u00ebr burimet kryesore<\/b>. N\u00eb p\u00ebrgjith\u00ebsi, n\u00ebse m\u00eb par\u00eb Kubelet merrte statistik\u00eb mbi p\u00ebrdorimin e konteiner\u00ebve nga cAdvisor, tani k\u00ebto t\u00eb dh\u00ebna vijn\u00eb nga mjedisi i ekzekutimit t\u00eb konteinerit p\u00ebrmes CRI (Container Runtime Interface), megjithat\u00eb mbetet edhe p\u00ebrputhshm\u00ebria p\u00ebr t\u00eb punuar me versionet e vjetra t\u00eb Docker. Statistikat q\u00eb u grumbulluan m\u00eb par\u00eb n\u00eb Kubelet u drejtuan p\u00ebrmes REST API, tani p\u00ebr k\u00ebt\u00eb p\u00ebrdoret nj\u00eb endpoint, i vendosur n\u00eb adres\u00ebn <code>\/metrics\/resource\/v1alpha1<\/code>. Strategjia afatgjat\u00eb e zhvilluesve <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/issues\/68522\">\u00ebsht\u00eb<\/a><\/noindex> p\u00ebr t\u00eb minimizuar setin e metrikave q\u00eb ofrohen nga Kubelet. <i>P\u00ebr m\u00eb tep\u00ebr, k\u00ebto metrika <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/pull\/726\">tani quhen<\/a><\/noindex> jo \"metrika thelb\u00ebsore\", por \"metrika burimore\", dhe p\u00ebrshkruhen si \"burime t\u00eb klas\u00ebs s\u00eb par\u00eb, si CPU dhe memorie\".<\/i><\/p>\n<p>Nj\u00eb detaj interesant: pavar\u00ebsisht p\u00ebrpar\u00ebsis\u00eb evidente n\u00eb performanc\u00eb t\u00eb endpoint-it gRPC krahasuar me raste t\u00eb ndryshme p\u00ebrdorimi t\u00eb formatit Prometheus <i>(\u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437 benchmark&#8217;\u043e\u0432 \u0441\u043c. \u043d\u0438\u0436\u0435)<\/i>, autor\u00ebt preferuan formatin tekstual t\u00eb Prometheus p\u00ebr shkak t\u00eb dominimit t\u00eb qart\u00eb t\u00eb k\u00ebtij sistemi monitorimi n\u00eb komunitet.<\/p>\n<blockquote><p><i>\u00abgRPC nuk \u00ebsht\u00eb i p\u00ebrputhsh\u00ebm me kanalet kryesore t\u00eb monitorimit. Endpoint do t\u00eb jet\u00eb i dobish\u00ebm vet\u00ebm p\u00ebr dor\u00ebzimin e metrikave n\u00eb Metrics Server ose komponent\u00ebt e monitorimit q\u00eb integrohen drejtp\u00ebrdrejt me t\u00eb. Kur p\u00ebrdorim caching n\u00eb Metrics Server, performanca e formatit tekstual Prometheus <b>\u00ebsht\u00eb mjaft e mir\u00eb<\/b> p\u00ebr ne, p\u00ebr t\u00eb preferuar Prometheus n\u00eb vend t\u00eb gRPC, duke marr\u00eb parasysh p\u00ebrhapjen e gjer\u00eb t\u00eb Prometheus n\u00eb komunitet. Kur formati OpenMetrics t\u00eb b\u00ebhet m\u00eb stabil, ne mund t\u00eb arrijm\u00eb af\u00ebrsisht performanc\u00ebn e gRPC me nj\u00eb format t\u00eb bazuar n\u00eb proto\u00bb.<\/i><\/p><\/blockquote>\n<p>\n<img decoding=\"async\" alt=\"Kubernetes 1.14: pasqyra e novacioneve kryesore\" src=\"\/wp-content\/uploads\/2019\/03\/ad7e45b61fc4676a2df3c2d33d5688b5.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>\u041e\u0434\u0438\u043d \u0438\u0437 \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0442\u0435\u0441\u0442\u043e\u0432 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0444\u043e\u0440\u043c\u0430\u0442\u043e\u0432 gRPC \u0438 Prometheus \u0432 \u043d\u043e\u0432\u043e\u043c endpoint&#8217;\u0435 Kubelet \u0434\u043b\u044f \u043c\u0435\u0442\u0440\u0438\u043a. \u0411\u043e\u043b\u044c\u0448\u0435 \u0433\u0440\u0430\u0444\u0438\u043a\u043e\u0432 \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0432 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/blob\/master\/keps\/sig-node\/kubelet-resource-metrics-endpoint.md\">KEP<\/a><\/noindex>.<\/i><\/p>\n<p>Midis ndryshimeve t\u00eb tjera:<\/p>\n<ul>\n<li> Kubelet tani (nj\u00eb her\u00eb) <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/73802\">provon t\u00eb ndaloj\u00eb<\/a><\/noindex> kontrat\u00eb n\u00eb gjendje t\u00eb panjohur (unknown) para operacioneve t\u00eb rinisjes dhe fshirjes.<\/li>\n<li> Kur p\u00ebrdoret <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/workloads\/pods\/podpreset\/\"><code>PodPresets<\/code><\/a><\/noindex> tani i shtohet init-kontenerit <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/71479\">informacioni i nj\u00ebjt\u00eb si p\u00ebr kontrat\u00ebn normale.<\/a><\/noindex> Kubelet<\/li>\n<li> ka filluar t\u00eb p\u00ebrdor\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/73659\">usageNanoCores<\/a><\/noindex> <code>nga furnizuesi i statistikave CRI, dhe p\u00ebr nodet dhe kontratat n\u00eb Windows<\/code> statistat e rrjetit. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/74788\">\u00ebsht\u00eb shtuar<\/a><\/noindex> Informacioni mbi sistemin operativ dhe arkitektur\u00ebn tani regjistrohet n\u00eb etiketa<\/li>\n<li> kubernetes.io\/os <code>kubernetes.io\/arch<\/code> dhe <code>objekteve Node (p\u00ebrkthyer nga beta n\u00eb GA).<\/code> Mund\u00ebsia p\u00ebr t\u00eb specifikuar nj\u00eb grup t\u00eb caktuar p\u00ebrdoruesish t\u00eb sistemit p\u00ebr kontratat n\u00eb pod (<\/li>\n<li> \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u044b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0434\u043b\u044f \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u0432 pod&#8217;\u0435 (<code>, u shfaq n\u00eb<\/code>K8s 1.11 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/415349\/\">kaloi<\/a><\/noindex>) <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/73007\">n\u00eb versionin beta (e p\u00ebrfshir\u00eb si parazgjedhje).<\/a><\/noindex> du dhe find, t\u00eb p\u00ebrdorura n\u00eb cAdvisor,<\/li>\n<li> u z\u00ebvend\u00ebsuan <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/74675\">me realizime Go.<\/a><\/noindex> N\u00eb cli-runtime dhe kubectl<\/li>\n<\/ul>\n<p><\/p>\n<h2>CLI<\/h2>\n<p>\nflagu -k p\u00ebr integrim me <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/74140\">\u00ebsht\u00eb shtuar<\/a><\/noindex> kustomize <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes-sigs\/kustomize\"><b>(p\u00ebr t'iu th\u00ebn\u00eb, zhvillimi tani po b\u00ebhet n\u00eb nj\u00eb repository t\u00eb ve\u00e7ant\u00eb), pra p\u00ebr t\u00eb p\u00ebrpunuar YAML-t\u00eb shtes\u00eb nga direktori t\u00eb ve\u00e7anta kustomization (detajet p\u00ebr p\u00ebrdorimin e tyre shih n\u00eb<\/b><\/a><\/noindex> Shembulli i nj\u00eb p\u00ebrdorimi t\u00eb thjesht\u00eb t\u00eb skedarit <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/blob\/master\/keps\/sig-cli\/kustomize-file-processing-integration.md\">KEP<\/a><\/noindex>):<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes 1.14: pasqyra e novacioneve kryesore\" src=\"\/wp-content\/uploads\/2019\/03\/e38550cfb642d81237aad4d87b9b3386.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>kustomization <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes-sigs\/kustomize\/blob\/master\/docs\/glossary.md#kustomization\">(edhe p\u00ebrdorime m\u00eb t\u00eb komplikuara t\u00eb kustomize brenda<\/a><\/noindex> overlays <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes-sigs\/kustomize\/blob\/master\/docs\/glossary.md#overlay\">komanda e re<\/a><\/noindex>)<\/i><\/p>\n<p>P\u00ebr m\u00eb tep\u00ebr:<\/p>\n<ul>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/71651\">Shtuar<\/a><\/noindex> kubectl create cronjob <code>, emri i s\u00eb cil\u00ebs flet p\u00ebr vete.<\/code>kubectl logs<\/li>\n<li> N\u00eb <code>tani mund t\u00eb<\/code> kombinohen <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/67573\">flags<\/a><\/noindex> -f <code>--follow<\/code> (<code>p\u00ebr streaming t\u00eb logeve) dhe<\/code> -l <code>--selector<\/code> (<code>p\u00ebr k\u00ebrkimin e etiketave).<\/code> m\u00ebsuan<\/li>\n<li> kubectl <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/72641\">t\u00eb kopjojn\u00eb skedar\u00eb, t\u00eb p\u00ebrzgjidhur me wildcard.<\/a><\/noindex> N\u00eb komand\u00ebn<\/li>\n<li> kubectl wait <code>flagu<\/code> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/70599\">shtuan<\/a><\/noindex> --all <code>p\u00ebr t\u00eb zgjedhur t\u00eb gjitha burimet n\u00eb hap\u00ebsir\u00ebn e emrave t\u00eb llojit t\u00eb burimeve t\u00eb caktuara.<\/code> Statusi i q\u00ebndruesh\u00ebm (GA) e mor\u00ebn k\u00ebto mund\u00ebsi:<\/li>\n<\/ul>\n<p><\/p>\n<h2>T\u00eb tjera<\/h2>\n<p>\nReadinessGate<\/p>\n<ul>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/workloads\/pods\/pod-lifecycle\/#pod-readiness-gate\"><code>, i p\u00ebrdorur n\u00eb specifikimin e pod-it p\u00ebr t\u00eb p\u00ebrcaktuar kushte shtes\u00eb q\u00eb merren parasysh n\u00eb gatishm\u00ebrin\u00eb e pod-it;<\/code><\/a><\/noindex>, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0439 \u0432 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 pod&#8217;\u0430 \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u0439, \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u043c\u044b\u0445 \u0432 \u0433\u043e\u0442\u043e\u0432\u043d\u043e\u0441\u0442\u0438 pod&#8217;\u0430;<\/li>\n<li> Mb\u00ebshtetje p\u00ebr faqe t\u00eb m\u00ebdha (feature gate e quajtur <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tasks\/manage-hugepages\/scheduling-hugepages\/\"><code>HugePages<\/code><\/a><\/noindex>);<\/li>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/services-networking\/dns-pod-service\/#pod-s-dns-config\">CustomPodDNS<\/a><\/noindex>;<\/li>\n<li> API i Prioritetit t\u00eb Klas\u00ebs, <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/configuration\/pod-priority-preemption\/\">Prioriteti i Pod-it dhe Planifikimi<\/a><\/noindex>.<\/li>\n<\/ul>\n<p>\nNdryshime t\u00eb tjera t\u00eb prezantuara n\u00eb Kubernetes 1.14:<\/p>\n<ul>\n<li> Politika RBAC e paracaktuar tani nuk i jep akses API <code>discovery<\/code> dhe <code>access-review<\/code> p\u00ebrdoruesve pa autentikim <i>(unauthenticated)<\/i>.<\/li>\n<li> Mb\u00ebshtetje zyrtare p\u00ebr CoreDNS <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/69940\">sigurohet<\/a><\/noindex> vet\u00ebm p\u00ebr Linux, prandaj kur p\u00ebrdorni kubeadm p\u00ebr implementimin e tij (CoreDNS) n\u00eb kluster, nodet duhet t\u00eb funksionojn\u00eb vet\u00ebm n\u00eb Linux (p\u00ebr k\u00ebt\u00eb kufizim p\u00ebrdoren nodeSelectors).<\/li>\n<li> Konfigurimi i CoreDNS i paracaktuar tani <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/73267\">p\u00ebrdor<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/coredns.io\/plugins\/forward\/\">plugin forward<\/a><\/noindex> n\u00eb vend t\u00eb proxy. p\u00ebr m\u00eb tep\u00ebr, n\u00eb CoreDNS <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/74137\">\u00ebsht\u00eb shtuar<\/a><\/noindex> readinessProbe, \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0449\u0430\u044e\u0449\u0430\u044f \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u043a\u0443 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043d\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 (\u043d\u0435 \u0433\u043e\u0442\u043e\u0432\u044b\u0435 \u043a \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u044e) pod&#8217;\u044b.<\/li>\n<li> N\u00eb kubeadm, n\u00eb fazat <code>init<\/code> \u0438\u043b\u0438 <code>upload-certs<\/code>, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/73907\">ka b\u00ebr\u00eb t\u00eb mundur<\/a><\/noindex> ngarkimin e certifikatave t\u00eb nevojshme p\u00ebr lidhjen e nj\u00eb control-plane t\u00eb ri me sekretin kubeadm-certs (p\u00ebrdoret flag <code>--experimental-upload-certs<\/code>).<\/li>\n<li> P\u00ebr instalimet Windows ka nj\u00eb version alfa <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/issues\/689\">i mb\u00ebshtetjes<\/a><\/noindex> gMSA (Group Managed Service Account) \u2014 llogari t\u00eb ve\u00e7anta n\u00eb Active Directory, t\u00eb cilat mund t\u00eb p\u00ebrdoren gjithashtu nga kontejner\u00ebt.<\/li>\n<li> P\u00ebr GCE <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/70144\">jan\u00eb aktivizuar<\/a><\/noindex> kriptimi mTLS midis etcd dhe kube-apiserver.<\/li>\n<li> P\u00ebrdit\u00ebsimet n\u00eb softuerin e p\u00ebrdorur\/var\u00ebsis\u00eb: Go 1.12.1, CSI 1.1, CoreDNS 1.3.1, mb\u00ebshtetje p\u00ebr Docker 18.09 n\u00eb kubeadm, dhe versione minimale e mb\u00ebshtetur e API-s\u00eb Docker tani \u00ebsht\u00eb 1.26.<\/li>\n<\/ul>\n<p><\/p>\n<h2>P.S.<\/h2>\n<p>\nLexoni gjithashtu n\u00eb blogun ton\u00eb:<\/p>\n<ul>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/432208\/\">Kubernetes 1.13: p\u00ebrmbledhje e risive kryesore<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/424331\/\">Kubernetes 1.12: p\u00ebrmbledhje e risive kryesore<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/415349\/\">Kubernetes 1.11: p\u00ebrmbledhje e risive kryesore<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/353114\/\">Kubernetes 1.10: p\u00ebrmbledhje e risive kryesore<\/a><\/noindex>\u00bb.<\/li>\n<\/ul>\n<p>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/445196\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u042d\u0442\u043e\u0439 \u043d\u043e\u0447\u044c\u044e \u0441\u043e\u0441\u0442\u043e\u0438\u0442\u0441\u044f \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 \u0440\u0435\u043b\u0438\u0437 Kubernetes \u2014 1.14. \u041f\u043e \u0441\u043b\u043e\u0436\u0438\u0432\u0448\u0435\u0439\u0441\u044f \u0434\u043b\u044f \u043d\u0430\u0448\u0435\u0433\u043e \u0431\u043b\u043e\u0433\u0430 \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u0438, \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043e \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\u0445 \u0432 \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u044d\u0442\u043e\u0433\u043e \u0437\u0430\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e Open Source-\u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430. \u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0434\u043b\u044f \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u044d\u0442\u043e\u0433\u043e \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430, \u0432\u0437\u044f\u0442\u0430 \u0438\u0437 \u0442\u0430\u0431\u043b\u0438\u0446\u044b Kubernetes enhancements tracking, CHANGELOG-1.14 \u0438 \u0441\u043e\u043e\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 issues, pull requests, Kubernetes Enhancement Proposals (KEP). \u041d\u0430\u0447\u043d\u0451\u043c \u0441 \u0432\u0430\u0436\u043d\u043e\u0433\u043e \u0432\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043e\u0442 SIG cluster-lifecycle: \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0435 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-30272","post","type-post","status-publish","format-standard","hentry"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u042d\u0442\u043e\u0439 \u043d\u043e\u0447\u044c\u044e\" \/>\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\/kubernetes-1-14-obzor-osnovnyh-novshestv\" \/>\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\udd47Kubernetes 1.14: \u043e\u0431\u0437\u043e\u0440 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u043d\u043e\u0432\u0448\u0435\u0441\u0442\u0432 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u042d\u0442\u043e\u0439 \u043d\u043e\u0447\u044c\u044e\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/kubernetes-1-14-obzor-osnovnyh-novshestv\" \/>\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=\"2019-10-31T18:34:36+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:34:36+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\udd47Kubernetes 1.14: p\u00ebrmbledhje e risive kryesore | ProHoster","description":"K\u00ebt\u00eb nat\u00eb","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/kubernetes-1-14-obzor-osnovnyh-novshestv","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\udd47Kubernetes 1.14: \u043e\u0431\u0437\u043e\u0440 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u043d\u043e\u0432\u0448\u0435\u0441\u0442\u0432 | ProHoster","og:description":"\u042d\u0442\u043e\u0439 \u043d\u043e\u0447\u044c\u044e","og:url":"https:\/\/prohoster.info\/sq\/blog\/kubernetes-1-14-obzor-osnovnyh-novshestv","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":"2019-10-31T18:34:36+00:00","article:modified_time":"2019-10-31T18:34:36+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"30272","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":"Article","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":"2026-01-21 00:28:09","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:37:28","updated":"2026-01-21 00:28:09","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\/30272","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=30272"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/30272\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=30272"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=30272"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=30272"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}