{"id":81130,"date":"2020-05-11T01:42:39","date_gmt":"2020-05-10T23:42:39","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/kubernetes-open-source-protiv-vendorskogo"},"modified":"2020-05-11T01:42:39","modified_gmt":"2020-05-10T23:42:39","slug":"kubernetes-open-source-protiv-vendorskogo","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/kubernetes-open-source-protiv-vendorskogo","title":{"rendered":"Kubernetes: \u00f6ppen k\u00e4llkod mot leverant\u00f6rsberoende","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><b>Hej, jag heter Dmitrij Krasnov. Jag har arbetat med administration av Kubernetes-kluster och byggande av komplexa mikrotj\u00e4nstarkitekturer i mer \u00e4n fem \u00e5r. I b\u00f6rjan av det h\u00e4r \u00e5ret lanserade vi en tj\u00e4nst f\u00f6r hantering av Kubernetes-kluster baserad p\u00e5 Containerum. Passa p\u00e5 att ber\u00e4tta vad Kubernetes faktiskt \u00e4r och hur integrationen med en leverant\u00f6r skiljer sig fr\u00e5n open source.<\/b><\/p>\n<p>F\u00f6r det f\u00f6rsta, vad \u00e4r <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/overview\/what-is-kubernetes\/\">Kubernetes<\/a><\/noindex>. Det \u00e4r ett system f\u00f6r administration av containrar p\u00e5 ett stort antal v\u00e4rdar. P\u00e5 grekiska \u00f6vers\u00e4tts det f\u00f6r \u00f6vrigt som \"pilot\" eller \"styrman\". Det utvecklades ursprungligen av Google och \u00f6verl\u00e4mnades sedan som en teknologisk bidrag till Cloud Native Computing Foundation, en internationell ideell organisation som f\u00f6renar ledande globala utvecklare, slutanv\u00e4ndare och leverant\u00f6rer av containertj teknologi. <\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes: \u00f6ppen k\u00e4llkod mot leverant\u00f6rsberoende\" src=\"\/wp-content\/uploads\/2020\/05\/7cbe773adf691ad29c4aaa7a2c8f0461.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Att styra ett stort antal containrar <\/h3>\n<p>\nNu ska vi reda ut vad dessa containrar \u00e4r. Det \u00e4r en applikation med hela dess milj\u00f6 \u2013 i huvudsak bibliotek som applikationen \u00e4r beroende av f\u00f6r att fungera. Allt detta packas i arkiv och presenteras som en bild som kan k\u00f6ras oavsett operativsystem, testas och mer. Men det finns ett problem \u2014 att hantera containrar p\u00e5 ett stort antal v\u00e4rdar \u00e4r mycket sv\u00e5rt. D\u00e4rf\u00f6r skapades Kubernetes. <\/p>\n<p>En containerbild representerar en applikation plus dess beroenden. Applikationen, dess beroenden och bildens filsystem ligger i olika delar av bilden, s\u00e5 kallade lager. Lager kan \u00e5teranv\u00e4ndas f\u00f6r olika containrar. Till exempel kan alla applikationer i f\u00f6retaget anv\u00e4nda det grundl\u00e4ggande lagret Ubuntu. Vid k\u00f6rning av containrar beh\u00f6ver man inte lagra m\u00e5nga kopior av ett och samma grundl\u00e4ggande lager p\u00e5 v\u00e4rden. Detta m\u00f6jligg\u00f6r optimering av lagring och distribution av bilder.<\/p>\n<p>N\u00e4r vi vill starta en applikation fr\u00e5n en container, l\u00e4ggs de n\u00f6dv\u00e4ndiga lagren ovanp\u00e5 varandra och en overlay-filsystem bildas. Ovanp\u00e5 detta l\u00e4ggs ett skrivlager, som tas bort n\u00e4r containern stoppas. Detta s\u00e4kerst\u00e4ller att applikationen alltid har en konsekvent milj\u00f6 vid start av containern, vilket inte kan \u00e4ndras. Det garanterar reproducerbarhet av milj\u00f6n p\u00e5 olika v\u00e4rddatorers operativsystem. Oavsett om det \u00e4r Ubuntu eller CentOS kommer milj\u00f6n alltid att vara densamma. Dessutom \u00e4r containern isolerad fr\u00e5n v\u00e4rden med hj\u00e4lp av inbyggda mekanismer i Linux-k\u00e4rnan. Applikationer i containern ser inte v\u00e4rdens filer, processer eller andra containrar. Denna isolering av applikationer fr\u00e5n v\u00e4rdoperativsystemet ger ett extra lager av s\u00e4kerhet. <\/p>\n<p>Det finns m\u00e5nga verktyg f\u00f6r att hantera containrar p\u00e5 v\u00e4rden. Det mest popul\u00e4ra av dessa \u00e4r Docker. Det m\u00f6jligg\u00f6r en fullst\u00e4ndig livscykelhantering av containrar. Men det fungerar endast p\u00e5 en enda v\u00e4rd. N\u00e4r det beh\u00f6vs hantering av containrar p\u00e5 flera v\u00e4rdar kan Docker g\u00f6ra livet sv\u00e5rt f\u00f6r ingenj\u00f6rerna. D\u00e4rf\u00f6r skapades Kubernetes.<\/p>\n<p>Efterfr\u00e5gan p\u00e5 Kubernetes beror just p\u00e5 m\u00f6jligheten att styra grupper av containrar p\u00e5 flera v\u00e4rdar som en enda enhet. Systemets popularitet ger m\u00f6jligheten att bygga DevOps, d\u00e4r Kubernetes anv\u00e4nds f\u00f6r att driva processerna i DevOps.<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes: \u00f6ppen k\u00e4llkod mot leverant\u00f6rsberoende\" src=\"\/wp-content\/uploads\/2020\/05\/40f253f4445595376231bb384253763d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<i>Figur 1. Schematisk bild av hur Kubernetes fungerar<\/i><\/p>\n<h3>Full automatisering<\/h3>\n<p>\nDevOps, i grunden, representerar automatisering av utvecklingsprocessen. Valt grovt, skriver utvecklarna kod som laddas upp till ett arkiv. Denna kod kan sedan automatiskt byggas direkt i en container med alla bibliotek, testas och \"sl\u00e4ppas\" till n\u00e4sta steg - Staging, och sedan omedelbart till Production.<\/p>\n<p>Tillsammans med Kubernetes g\u00f6r DevOps det m\u00f6jligt att automatisera denna process s\u00e5 att den n\u00e4stan g\u00e5r utan utvecklarnas deltagande. Detta p\u00e5skyndar avsev\u00e4rt byggprocessen, eftersom utvecklaren inte beh\u00f6ver hantera detta p\u00e5 sin dator \u2014 han skriver helt enkelt en bit kod, pushar koden till ett repository, varefter en pipeline startas, som kan inkludera processen f\u00f6r byggande, testning och implementering. S\u00e5 h\u00e4r sker det med varje commit, s\u00e5 testningen sker kontinuerligt.<\/p>\n<p>Genom att anv\u00e4nda en container kan man vara s\u00e4ker p\u00e5 att hela milj\u00f6n f\u00f6r detta program g\u00e5r till produktion i exakt det skick som testades. Det inneb\u00e4r att det inte kommer att uppst\u00e5 problem av typen \"i testet var det en version, i produktion \u2013 en annan, och n\u00e4r det installerades \u2013 allt kraschade\". Eftersom vi idag har en trend mot mikroservicearkitektur, d\u00e4r ist\u00e4llet f\u00f6r en stor applikation finns det hundratals sm\u00e5, kr\u00e4vs det en stor personalstyrka f\u00f6r att administrera dem manuellt. D\u00e4rf\u00f6r anv\u00e4nder vi Kubernetes.<\/p>\n<p><b><\/p>\n<h3>F\u00f6rdelar, f\u00f6rdelar, f\u00f6rdelar<\/h3>\n<p><\/b><br \/>\nN\u00e4r det g\u00e4ller f\u00f6rdelarna med Kubernetes som plattform har det betydande f\u00f6rdelar ur ett administrationsperspektiv f\u00f6r mikroservicearkitektur. <\/p>\n<ul>\n<li> <b>Hantering av m\u00e5nga repliker.<\/b> Det viktigaste \u00e4r att hantera containers p\u00e5 m\u00e5nga v\u00e4rdar. Och vad som \u00e4r \u00e4nnu viktigare \u00e4r att hantera m\u00e5nga repliker av applikationer i containers som en enhet. Tack vare detta beh\u00f6ver ingenj\u00f6rer inte oroa sig f\u00f6r varje enskild container. Om en av containrarna kraschar kommer Kubernetes att uppt\u00e4cka detta och starta om den. <\/li>\n<li> <b>Klustern\u00e4tverk.<\/b> Kubernetes har ocks\u00e5 ett s\u00e5 kallat klustern\u00e4tverk med sitt eget adressutrymme. Detta g\u00f6r att varje pod har sin egen adress. En pod \u00e4r den minimi strukturella enheten i klustret d\u00e4r containrar startas direkt. Dessutom har Kubernetes funktionalitet som kombinerar en lastbalanserare och service discovery. Det h\u00e4r g\u00f6r att man kan undvika manuell hantering av IP-adresser och \u00f6verl\u00e5ta denna uppgift till Kubernetes. Automatiska h\u00e4lsokontroller hj\u00e4lper till att uppt\u00e4cka problem och omdirigera trafik till fungerande pods.<\/li>\n<li> <b>Konfigurationshantering. <\/b>N\u00e4r man hanterar ett stort antal applikationer blir det sv\u00e5rt att administrera applikationskonfigurationer. F\u00f6r detta \u00e4ndam\u00e5l har Kubernetes speciella resurser som ConfigMap. De till\u00e5ter centralt lagring av konfigurationer och att dessa kan s\u00e4ttas in i pods vid applikationsstart. Denna mekanism garanterar att konfigurationen \u00e4r konsekvent, oavsett om det handlar om tio eller hundra repliker av applikationer. <\/li>\n<li> <b>Best\u00e4ndiga volymer. <\/b>Containrar \u00e4r i grunden immutabla, och n\u00e4r en container stoppas kommer alla data som skrivits till filsystemet att f\u00f6rsvinna. Men vissa applikationer sparar data direkt p\u00e5 disken. F\u00f6r att l\u00f6sa detta problem har Kubernetes funktionalitet f\u00f6r att hantera disklagring \u2013 best\u00e4ndiga volymer. Denna mekanism anv\u00e4nder extern lagring f\u00f6r data och kan koppla till containrar permanent lagring, antingen block- eller filbaserad. S\u00e5dana l\u00f6sningar g\u00f6r att data kan lagras separat fr\u00e5n arbetarna, vilket r\u00e4ddar dem vid ett eventuellt fel hos dessa arbetare.<\/li>\n<li> <b>Lastbalanserare.<\/b> Trots att vi hanterar abstrakta entiteter som Deployment, StatefulSet och s\u00e5 vidare i Kubernetes, s\u00e5 k\u00f6rs containrar i slut\u00e4ndan p\u00e5 vanliga <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/sv\/vps\/abuzoustojchivye-vps\/\"   title=\"virtuella maskiner\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"4246\">virtuella maskiner<\/a> eller fysiska servrar. De \u00e4r inte perfekta och kan krascha n\u00e4r som helst. Kubernetes kommer att se detta och omdirigera intern trafik till andra repliker. Men vad g\u00f6r vi med trafiken som kommer utifr\u00e5n? Om vi helt enkelt dirigerar trafiken till en av arbetarna, vad h\u00e4nder om den kraschar? Tj\u00e4nsten blir otillg\u00e4nglig. F\u00f6r att l\u00f6sa detta problem finns det tj\u00e4nster i Kubernetes av typen lastbalanserare. De \u00e4r avsedda f\u00f6r automatisk konfiguration av en extern molnbalanschef f\u00f6r alla arbetare i klustret. Denna externa balanschef dirigerar extern trafik till arbetarna och \u00f6vervakar deras status. Om en eller flera arbetare blir otillg\u00e4ngliga omdirigeras trafiken till andra. Detta m\u00f6jligg\u00f6r skapandet av h\u00f6g tillg\u00e4ngliga tj\u00e4nster med hj\u00e4lp av Kubernetes.<\/li>\n<\/ul>\n<p>\nKubernetes visar sig b\u00e4st n\u00e4r man startar mikrotj\u00e4nstarkitekturer. Att implementera systemet i en klassisk arkitektur g\u00e5r, men \u00e4r meningsl\u00f6st. Om en applikation inte kan fungera i flera repliker, vad spelar det d\u00e5 f\u00f6r roll \u2013 om det \u00e4r i Kubernetes eller inte?<\/p>\n<p><b><\/p>\n<h3>\u00d6ppen k\u00e4llkod Kubernetes<\/h3>\n<p><\/b><br \/>\n\u00d6ppen k\u00e4llkod Kubernetes \u2013 en fantastisk sak: installerad och fungerar. Det kan k\u00f6ras p\u00e5 dina egna servrar, p\u00e5 din infrastruktur, du kan st\u00e4lla in en master och arbetare d\u00e4r alla applikationer kommer att k\u00f6ras. Och viktigast av allt \u2013 allt detta \u00e4r gratis. Men det finns nyanser.<\/p>\n<ul>\n<li> Det f\u00f6rsta \u2013 kraven p\u00e5 kunskaper och erfarenheter hos administrat\u00f6rer och ingenj\u00f6rer som ska s\u00e4tta upp och underh\u00e5lla detta. Eftersom kunden f\u00e5r full frihet i klustret, b\u00e4r de sj\u00e4lv ansvaret f\u00f6r klustrets funktionalitet. Och det \u00e4r ganska enkelt att f\u00f6rst\u00f6ra allt h\u00e4r.<\/li>\n<li> Det andra \u2013 bristen p\u00e5 integrationer. Om man k\u00f6r Kubernetes utan n\u00e5gon popul\u00e4r virtualiseringsplattform, f\u00e5r man inte alla f\u00f6rdelar med programmet. S\u00e5som anv\u00e4ndning av Persistent Volumes och Load balancer-tj\u00e4nster.<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Kubernetes: \u00f6ppen k\u00e4llkod mot leverant\u00f6rsberoende\" src=\"\/wp-content\/uploads\/2020\/05\/8445e46889ca4c4d53bd91abeaa49256.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<i>Figur 2. Arkitektur k8s<\/i><\/p>\n<p><b><\/p>\n<h3>Kubernetes fr\u00e5n leverant\u00f6ren<\/h3>\n<p><\/b><br \/>\nIntegration med en molnleverant\u00f6r ger tv\u00e5 m\u00f6jligheter: <\/p>\n<ul>\n<li> F\u00f6r det f\u00f6rsta kan man bara trycka p\u00e5 knappen \"skapa kluster\" och f\u00e5 ett redan konfigurerat och klart kluster.<\/li>\n<li> F\u00f6r det andra installerar leverant\u00f6ren sj\u00e4lv klustret och konfigurerar integrationen med molnet.<\/li>\n<\/ul>\n<p>\nS\u00e5 h\u00e4r g\u00e5r det till hos oss. Ingenj\u00f6ren som s\u00e4tter ig\u00e5ng klustret anger hur m\u00e5nga arbetare han beh\u00f6ver och med vilka specifikationer (till exempel 5 arbetare, var och en med 10 CPU, 16 GB RAM och, s\u00e4g, 100 GB disk). D\u00e4refter f\u00e5r han tillg\u00e5ng till det redan etablerade klustret. Arbetarna som k\u00f6r belastningen tilldelas helt kunden, men hela managementplanet f\u00f6rblir under leverant\u00f6rens ansvar (om tj\u00e4nsten tillhandah\u00e5lls enligt modellen managed service).<\/p>\n<p>Men denna modell har sina nackdelar. Eftersom managementplanet f\u00f6rblir hos leverant\u00f6ren ger de inte fullst\u00e4ndig tillg\u00e5ng till kunden, vilket minskar flexibiliteten i arbetet med Kubernetes. Ibland vill kunden l\u00e4gga till en specifik funktionalitet till Kubernetes, till exempel autentisering via LDAP, men konfigurationen av managementplanet till\u00e5ter inte detta.<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes: \u00f6ppen k\u00e4llkod mot leverant\u00f6rsberoende\" src=\"\/wp-content\/uploads\/2020\/05\/e5cff16e4280cf041917c886c146a2d0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<i>Figur 3. Exempel p\u00e5 ett Kubernetes-kluster fr\u00e5n en molnleverant\u00f6r<\/i><\/p>\n<p><b><\/p>\n<h3>Vad ska man v\u00e4lja: \u00f6ppen k\u00e4llkod eller leverant\u00f6rsbaserat<\/h3>\n<p><\/b><br \/>\nS\u00e5, open source Kubernetes eller leverant\u00f6rs-specifik? Om man v\u00e4ljer open source Kubernetes kan anv\u00e4ndaren g\u00f6ra vad som helst med den. Men risken att man skjuter sig sj\u00e4lv i foten \u00e4r stor. Med en leverant\u00f6r \u00e4r det sv\u00e5rare, eftersom allt \u00e4r genomt\u00e4nkt och konfigurerat av f\u00f6retaget. Den st\u00f6rsta nackdelen med open source Kubernetes \u00e4r kravet p\u00e5 specialister. Med en leverant\u00f6r slipper f\u00f6retaget denna huvudv\u00e4rk, men de m\u00e5ste \u00e4nd\u00e5 besluta: ska de betala sina specialister eller leverant\u00f6ren?<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes: \u00f6ppen k\u00e4llkod mot leverant\u00f6rsberoende\" src=\"\/wp-content\/uploads\/2020\/05\/f14130c42049e20b2f33121e4d789cca.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"Kubernetes: \u00f6ppen k\u00e4llkod mot leverant\u00f6rsberoende\" src=\"\/wp-content\/uploads\/2020\/05\/4fb1feaacd42a67a444ae1600e37d0f0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nN\u00e5v\u00e4l, f\u00f6rdelarna \u00e4r uppenbara, och nackdelarna \u00e4r ocks\u00e5 k\u00e4nda. En sak \u00e4r of\u00f6r\u00e4ndrad: Kubernetes l\u00f6ser en m\u00e4ngd problem genom att automatisera hanteringen av flera containrar. Och vilken man ska v\u00e4lja, open source eller leverant\u00f6rsspecifik, \u00e4r upp till var och en att avg\u00f6ra.<\/p>\n<p><i>Artikeln \u00e4r f\u00f6rberedd av Dmitrij Krasnov, huvudarkitekt f\u00f6r tj\u00e4nsten Containerum hos leverant\u00f6ren #CloudMTS. <\/i><br \/>\n<br \/>K\u00e4lla: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ru_mts\/blog\/500728\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442, \u043c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0414\u043c\u0438\u0442\u0440\u0438\u0439 \u041a\u0440\u0430\u0441\u043d\u043e\u0432. \u0423\u0436\u0435 \u0431\u043e\u043b\u0435\u0435 \u043f\u044f\u0442\u0438 \u043b\u0435\u0442 \u044f \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 Kubernetes \u0438 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435\u043c \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043d\u044b\u0445 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440. \u0412 \u043d\u0430\u0447\u0430\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0433\u043e\u0434\u0430 \u043c\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b\u0438 \u0441\u0435\u0440\u0432\u0438\u0441 \u043f\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430\u043c\u0438 Kubernetes \u043d\u0430 \u0431\u0430\u0437\u0435 Containerum. \u041f\u043e\u043b\u044c\u0437\u0443\u044f\u0441\u044c \u043f\u043e\u0432\u043e\u0434\u043e\u043c \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443, \u0447\u0442\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u044d\u0442\u043e\u0442 \u0441\u0430\u043c\u044b\u0439 Kubernetes \u0438 \u0447\u0435\u043c \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0441 \u0432\u0435\u043d\u0434\u043e\u0440\u043e\u043c \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442 open source. \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":81131,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-81130","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.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u043c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0414\u043c\u0438\u0442\u0440\u0438\u0439 \u041a\u0440\u0430\u0441\u043d\u043e\u0432. \u0423\u0436\u0435 \u0431\u043e\u043b\u0435\u0435 \u043f\u044f\u0442\u0438 \u043b\u0435\u0442 \u044f \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 Kubernetes \u0438 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435\u043c \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043d\u044b\u0445 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440.\" \/>\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\/sv\/blog\/administrirovanie\/kubernetes-open-source-protiv-vendorskogo\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\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: open source \u043f\u0440\u043e\u0442\u0438\u0432 \u0432\u0435\u043d\u0434\u043e\u0440\u0441\u043a\u043e\u0433\u043e | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u043c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0414\u043c\u0438\u0442\u0440\u0438\u0439 \u041a\u0440\u0430\u0441\u043d\u043e\u0432. \u0423\u0436\u0435 \u0431\u043e\u043b\u0435\u0435 \u043f\u044f\u0442\u0438 \u043b\u0435\u0442 \u044f \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 Kubernetes \u0438 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435\u043c \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043d\u044b\u0445 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/kubernetes-open-source-protiv-vendorskogo\" \/>\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-05-10T23:42:39+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-10T23:42:39+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: open source mot leverant\u00f6rsspecifik | ProHoster","description":"Hej, jag heter Dmitrij Krasnov. Jag har arbetat med administration av Kubernetes-kluster och byggande av komplexa mikrotj\u00e4nstarkitekturer i mer \u00e4n fem \u00e5r.","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/kubernetes-open-source-protiv-vendorskogo","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","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: open source \u043f\u0440\u043e\u0442\u0438\u0432 \u0432\u0435\u043d\u0434\u043e\u0440\u0441\u043a\u043e\u0433\u043e | ProHoster","og:description":"\u041f\u0440\u0438\u0432\u0435\u0442, \u043c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0414\u043c\u0438\u0442\u0440\u0438\u0439 \u041a\u0440\u0430\u0441\u043d\u043e\u0432. \u0423\u0436\u0435 \u0431\u043e\u043b\u0435\u0435 \u043f\u044f\u0442\u0438 \u043b\u0435\u0442 \u044f \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 Kubernetes \u0438 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435\u043c \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043d\u044b\u0445 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440.","og:url":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/kubernetes-open-source-protiv-vendorskogo","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-05-10T23:42:39+00:00","article:modified_time":"2020-05-10T23:42:39+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"81130","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 16:04:23","updated":"2022-09-27 22:17:56","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/81130","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=81130"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/81130\/revisions"}],"predecessor-version":[{"id":164121,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/81130\/revisions\/164121"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media\/81131"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=81130"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=81130"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=81130"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}