{"id":31173,"date":"2019-10-31T21:39:53","date_gmt":"2019-10-31T18:39:53","guid":{"rendered":"https:\/\/prohoster.info\/blog\/obzor-i-sravnenie-kontrollerov-ingress-dlya-kubernetes\/"},"modified":"2019-10-31T21:39:53","modified_gmt":"2019-10-31T18:39:53","slug":"obzor-i-sravnenie-kontrollerov-ingress-dlya-kubernetes","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/obzor-i-sravnenie-kontrollerov-ingress-dlya-kubernetes","title":{"rendered":"\u00d6versikt och j\u00e4mf\u00f6relse av Ingress-kontroller f\u00f6r Kubernetes.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"\u00d6versikt och j\u00e4mf\u00f6relse av Ingress-kontroller f\u00f6r Kubernetes.\" src=\"\/wp-content\/uploads\/2019\/04\/3e6d3882a8f5a96a257fab4daaa230f2.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nN\u00e4r man startar ett Kubernetes-kluster f\u00f6r en specifik applikation \u00e4r det viktigt att f\u00f6rst\u00e5 vilka krav applikationen, verksamheten och utvecklarna st\u00e4ller p\u00e5 denna resurs. Med denna information kan man g\u00e5 vidare med att fatta arkitektoniska beslut och, specifikt, v\u00e4lja en specifik Ingress-kontroller, av vilka det idag finns m\u00e5nga. F\u00f6r att ge en grundl\u00e4ggande \u00f6versikt av de tillg\u00e4ngliga alternativen utan att beh\u00f6va studera m\u00e5nga artiklar\/dokumentation med mera, har vi f\u00f6rberett denna \u00f6versikt och inkluderat de fr\u00e4msta (produktionsklara) Ingress-kontrollerna.<\/p>\n<p>Vi hoppas att detta kommer att hj\u00e4lpa kollegor i valet av arkitektoniskt beslut - \u00e5tminstone kommer det att fungera som utg\u00e5ngspunkt f\u00f6r att f\u00e5 mer detaljerad information och praktiska experiment. Vi har p\u00e5 f\u00f6rhand studerat andra liknande material p\u00e5 n\u00e4tet och, m\u00e4rkligt nog, hittade vi inte en enda mer eller mindre komplett, och framf\u00f6r allt - strukturerad - \u00f6versikt. L\u00e5t oss fylla detta gap!<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Kriterier<\/h2>\n<p>\nF\u00f6r att \u00f6verhuvudtaget kunna g\u00f6ra en j\u00e4mf\u00f6relse och f\u00e5 n\u00e5got nyttigt resultat beh\u00f6ver man inte bara f\u00f6rst\u00e5 \u00e4mnesomr\u00e5det, utan ocks\u00e5 ha en specifik lista med kriterier som kommer att styra forskningen. Utan att p\u00e5st\u00e5 att vi analyserar alla m\u00f6jliga anv\u00e4ndningsfall f\u00f6r Ingress\/Kubernetes har vi f\u00f6rs\u00f6kt att lyfta fram de mest allm\u00e4nna kraven p\u00e5 kontrollerna - var redo att du i alla fall kommer att beh\u00f6va studera din egen specifika information separat.<\/p>\n<p>Men jag b\u00f6rjar med de egenskaper som blivit s\u00e5 vanliga att de finns i alla l\u00f6sningar och d\u00e4rf\u00f6r inte diskuteras:<\/p>\n<ul>\n<li> dynamisk tj\u00e4nstigenk\u00e4nning (service discovery);<\/li>\n<li> SSL-terminering;<\/li>\n<li> \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 websocket&#8217;\u0430\u043c\u0438.<\/li>\n<\/ul>\n<p>\nNu - om j\u00e4mf\u00f6relsepunkterna:<\/p>\n<h3>St\u00f6dda protokoll<\/h3>\n<p>\nEn av de grundl\u00e4ggande kriterierna f\u00f6r val. Din programvara kanske inte fungerar via standard HTTP eller kan kr\u00e4va att man arbetar med flera protokoll samtidigt. Om ditt fall \u00e4r icke-standard, se till att ta h\u00e4nsyn till denna faktor, s\u00e5 du inte beh\u00f6ver justera klustret senare. Listan \u00f6ver st\u00f6dda protokoll varierar mellan alla kontroller.<\/p>\n<h3>Programvaran i grunden<\/h3>\n<p>\nDet finns flera typer av applikationer som kontrollern \u00e4r baserad p\u00e5. De popul\u00e4raste \u00e4r nginx, traefik, haproxy, envoy. Generellt s\u00e4tt p\u00e5verkar dessa kanske inte direkt hur trafiken tas emot och skickas, men det \u00e4r alltid bra att k\u00e4nna till eventuella nyanser och s\u00e4rdrag av vad som \"d\u00f6ljer sig bakom kulisserna\".<\/p>\n<h3>Trafikrouting<\/h3>\n<p>\nVad baserar man beslutet om riktning av trafiken till en viss tj\u00e4nst? Vanligtvis handlar det om host och path, men det finns \u00e4ven ytterligare m\u00f6jligheter.<\/p>\n<h3>Namnrymd inom klustret<\/h3>\n<p>\nNamnrymden (namespace) ger m\u00f6jlighet att logiskt dela upp resurser i Kubernetes (t.ex. p\u00e5 stage, production m.m.). Det finns Ingress-kontroller som beh\u00f6ver installeras separat i varje namespace (och kan d\u00e5 styra trafiken <i>bara<\/i> \u0432 pod&#8217;\u044b \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430). \u0410 \u0435\u0441\u0442\u044c \u0442\u0430\u043a\u0438\u0435 (\u0438 \u0438\u0445 \u044f\u0432\u043d\u043e\u0435 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e), \u0447\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e \u043d\u0430 \u0432\u0435\u0441\u044c \u043a\u043b\u0430\u0441\u0442\u0435\u0440 \u2014 \u0432 \u043d\u0438\u0445 \u0442\u0440\u0430\u0444\u0438\u043a \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432 \u043b\u044e\u0431\u043e\u0439 pod \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430, \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u043e\u0442 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u0438\u043c\u0451\u043d.<\/p>\n<h3>\u041f\u0440\u043e\u0431\u044b \u0434\u043b\u044f upstream&#8217;\u043e\u0432<\/h3>\n<p>\nHur s\u00e4kerst\u00e4lls att trafiken dirigeras till friska instanser av applikationen och tj\u00e4nster? Det finns alternativ med aktiva och passiva kontroller, omstar f\u00f6rs\u00f6k (retries), circuit breakers <i>(mer om dem kan man se, t.ex., i <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/438426\/\">artikeln om Istio<\/a><\/noindex>)<\/i>, egna implementationer av h\u00e4lsokontroller (custom health checks) osv. Detta \u00e4r en mycket viktig parameter om ni har h\u00f6ga krav p\u00e5 tillg\u00e4nglighet och snabb utsortering av tj\u00e4nster som har fallit.<\/p>\n<h3>Lastbalanseringsalgoritmer<\/h3>\n<p>\nH\u00e4r finns m\u00e5nga alternativ: fr\u00e5n traditionella <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Round-robin_DNS\">round-robin<\/a><\/noindex> till mer exotiska som <noindex><a rel=\"nofollow\" href=\"http:\/\/www.loadbalancer.org\/blog\/load-balancing-windows-terminal-server-haproxy-and-rdp-cookies\/\">rdp-cookie<\/a><\/noindex>, samt s\u00e4rskilda m\u00f6jligheter som <noindex><a rel=\"nofollow\" href=\"https:\/\/access.redhat.com\/solutions\/900933\">sticky sessions<\/a><\/noindex>.<\/p>\n<h3>Autentisering<\/h3>\n<p>\nVilka autentiseringsscheman st\u00f6der kontrollern? Basic, digest, oauth, external-auth \u2014 jag tror att dessa alternativ b\u00f6r vara bekanta. Detta \u00e4r en viktig kriterium om man anv\u00e4nder m\u00e5nga konturer f\u00f6r utvecklare (och\/eller helt enkelt st\u00e4ngda), vars \u00e5tkomst sker via Ingress. <\/p>\n<h3>Trafikdistribution<\/h3>\n<p>\nSt\u00f6der kontrollern vanliga metoder f\u00f6r trafikdistribution, s\u00e5som canary releases, A\/B-testning, trafikspeglinig (mirroring\/shadowing)? Detta \u00e4r ett verkligt problematiskt \u00e4mne f\u00f6r applikationer som kr\u00e4ver noggrann och exakt trafikhantering f\u00f6r produktiv testning, avkodning av produktfel utanf\u00f6r produktionsmilj\u00f6n (eller med minimala f\u00f6rluster), trafikanalys m.m.<\/p>\n<h3>Betald prenumeration<\/h3>\n<p>\nFinns det en betald version av kontrollern med ut\u00f6kade funktioner och\/eller teknisk support?<\/p>\n<h3>Grafiskt gr\u00e4nssnitt (Web UI)<\/h3>\n<p>\nFinns det n\u00e5got grafiskt gr\u00e4nssnitt f\u00f6r att hantera konfigurationen av kontrollern? Detta \u00e4r fr\u00e4mst f\u00f6r \"bekv\u00e4mlighet\" och\/eller f\u00f6r dem som beh\u00f6ver g\u00f6ra vissa f\u00f6r\u00e4ndringar i Ingress-konfigurationen, men det \u00e4r obekv\u00e4mt att arbeta med \"r\u00e5a\" mallar. Det kan vara anv\u00e4ndbart om utvecklarna vill genomf\u00f6ra experiment med trafiken i realtid.<\/p>\n<h3>JWT-validering<\/h3>\n<p>\nFinns det inbyggd kontroll av JSON web-token f\u00f6r autentisering och validering av anv\u00e4ndare i slappapplikationen.<\/p>\n<h3>M\u00f6jligheter till anpassning av konfigurationen<\/h3>\n<p>\nUtvidgbarhet av mallar i termer av mekanismer f\u00f6r att l\u00e4gga till egna direktiv, flaggor etc. i standardkonfigurationsmallarna.<\/p>\n<h3>Grundl\u00e4ggande skyddsmekanismer mot DDOS<\/h3>\n<p>\nEnkla rate limit-algoritmer eller mer komplexa alternativ f\u00f6r att filtrera trafik baserat p\u00e5 adresser, vitlistor, l\u00e4nder etc.<\/p>\n<h3>Beg\u00e4rningstracering<\/h3>\n<p>\n\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u044f, \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u0438 \u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u043e\u0442 Ingress&#8217;\u043e\u0432 \u043a \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u043c \u0441\u0435\u0440\u0432\u0438\u0441\u0430\u043c\/pod&#8217;\u0430\u043c, \u0430 \u0432 \u0438\u0434\u0435\u0430\u043b\u0435 \u2014 \u0438 \u043c\u0435\u0436\u0434\u0443 \u0441\u0435\u0440\u0432\u0438\u0441\u0430\u043c\u0438\/pod&#8217;\u0430\u043c\u0438 \u0442\u043e\u0436\u0435.<\/p>\n<h3>WAF<\/h3>\n<p>\nSupport <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Web_application_firewall\">\u043f\u0440\u0438\u043a\u043b\u0430\u0434\u043d\u043e\u0433\u043e firewall&#8217;\u0430<\/a><\/noindex>.<\/p>\n<h2>Ingress-kontrollrar<\/h2>\n<p>\nListan \u00f6ver kontrollrar har sammanst\u00e4llts utifr\u00e5n <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/services-networking\/ingress-controllers\/#additional-controllers\">den officiella Kubernetes-dokumentationen<\/a><\/noindex> och <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.google.com\/spreadsheets\/d\/16bxRgpO1H_Bn-5xVZ1WrR_I-0A-GOI6egmhvqqLMOmg\/edit\">denna tabell<\/a><\/noindex>. N\u00e5gra av dem har vi uteslutit fr\u00e5n \u00f6versikten p\u00e5 grund av deras specifikhet eller l\u00e5ga spridning (i ett tidigt utvecklingsstadium). De \u00e5terst\u00e5ende har granskats nedan. Vi b\u00f6rjar med en allm\u00e4n beskrivning av l\u00f6sningarna och forts\u00e4tter med en sammanst\u00e4llning.<\/p>\n<h3>Ingress fr\u00e5n Kubernetes<\/h3>\n<p>\n<i>Webbplats: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/ingress-nginx\">github.com\/kubernetes\/ingress-nginx<\/a><\/noindex><\/i><br \/>\n<i>Licens: Apache 2.0<\/i><\/p>\n<p>Detta \u00e4r den officiella kontrollern f\u00f6r Kubernetes, som utvecklas av gemenskapen. Som namnet antyder \u00e4r den baserad p\u00e5 nginx och kompletterad med en upps\u00e4ttning Lua-plugin-program som anv\u00e4nds f\u00f6r att implementera ytterligare funktioner. Tack vare populariteten hos nginx och de minimala modifieringarna som g\u00f6rs p\u00e5 den vid anv\u00e4ndning som kontrollern, kan detta alternativ vara det enklaste och mest l\u00e4ttf\u00f6rst\u00e5eliga f\u00f6r en genomsnittlig ingenj\u00f6r (med erfarenhet av webben).<\/p>\n<h3>Ingress fr\u00e5n NGINX Inc<\/h3>\n<p>\n<i>Webbplats: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/nginxinc\/kubernetes-ingress\">github.com\/nginxinc\/kubernetes-ingress<\/a><\/noindex><\/i><br \/>\n<i>Licens: Apache 2.0<\/i><\/p>\n<p>En officiell produkt fr\u00e5n utvecklarna av nginx. Har en betald version baserad p\u00e5 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.nginx.com\/products\/nginx\/\">NGINX Plus<\/a><\/noindex>. Huvudid\u00e9en \u00e4r en h\u00f6g niv\u00e5 av stabilitet, konstant bak\u00e5tkompatibilitet, avsaknad av externa moduler och utlovad \u00f6kad hastighet (j\u00e4mf\u00f6rt med den officiella kontrollern), som uppn\u00e5tts genom att avst\u00e5 fr\u00e5n Lua. <\/p>\n<p>Den kostnadsfria versionen \u00e4r kraftigt nedskuren, ocks\u00e5 j\u00e4mf\u00f6rt med den officiella kontrollern (p\u00e5 grund av avsaknaden av just Lua-modulerna). Den betalda versionen d\u00e4remot har en ganska omfattande extra funktionalitet: realtidsmetrik, JWT-validering, aktiva h\u00e4lsokontroller och mer. En viktig f\u00f6rdel j\u00e4mf\u00f6rt med NGINX Ingress \u00e4r fullt st\u00f6d f\u00f6r TCP\/UDP-trafik (\u00e4ven i community-versionen!). Nackdelen \u00e4r <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/nginxinc\/kubernetes-ingress\/issues\/464\">bristen p\u00e5<\/a><\/noindex> funktioner f\u00f6r trafikf\u00f6rdelning, vilket dock \"har h\u00f6gsta prioritet f\u00f6r utvecklarna\", men kr\u00e4ver tid f\u00f6r implementering.<\/p>\n<h3>Kong Ingress<\/h3>\n<p>\n<i>Webbplats: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/Kong\/kubernetes-ingress-controller\">github.com\/Kong\/kubernetes-ingress-controller<\/a><\/noindex><\/i><br \/>\n<i>Licens: Apache 2.0<\/i><\/p>\n<p>Produkten utvecklas av Kong Inc. i tv\u00e5 varianter: kommersiell och gratis. Byggd p\u00e5 nginx, vars m\u00f6jligheter utvidgas med ett stort antal Lua-moduler.<\/p>\n<p>Initialt var den inriktad p\u00e5 hantering och routing av API-f\u00f6rfr\u00e5gningar, d.v.s. som API Gateway, men har nu blivit en fullv\u00e4rdig Ingress-kontroller. Huvudf\u00f6rdelarna: m\u00e5nga extra moduler (inklusive fr\u00e5n tredjepartsutvecklare) som \u00e4r l\u00e4tta att installera och konfigurera och med hj\u00e4lp av vilka ett brett spektrum av ytterligare funktioner kan implementeras. Dock erbjuder de inbyggda funktionerna redan m\u00e5nga m\u00f6jligheter. Konfigurationen g\u00f6rs med hj\u00e4lp av CRD-resurser.<\/p>\n<p>En viktig egenskap hos produkten \u00e4r att den arbetar inom en enda kontur (ist\u00e4llet f\u00f6r cross-namespaced), vilket \u00e4r ett omdiskuterat \u00e4mne: vissa kanske tycker att det \u00e4r en nackdel (man m\u00e5ste skapa enheter f\u00f6r varje kontur), medan andra ser det som en funktion (h\u00f6gre niv\u00e5 av isolering, eftersom om en kontroll misslyckas, s\u00e5 \u00e4r problemet begr\u00e4nsat till bara en kontur).<i>b\u00e4sta resultatet (subjektiv \u00e5sikt).<\/i>st\u00f6rre niv\u00e5 av isolering, eftersom om en controller g\u00e5r s\u00f6nder, s\u00e5 \u00e4r problemet begr\u00e4nsat till endast en kontur).<\/p>\n<h3>Traefik<\/h3>\n<p>\n<i>Webbplats: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/containous\/traefik\">github.com\/containous\/traefik<\/a><\/noindex><\/i><br \/>\n<i>Licens: MIT<\/i><\/p>\n<p>\u041f\u0440\u043e\u043a\u0441\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u043b\u0441\u044f \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0434\u043b\u044f \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u0438 \u0438\u0445 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0441\u0440\u0435\u0434\u044b. \u041e\u0442\u0441\u044e\u0434\u0430 \u0438 \u043c\u043d\u043e\u0433\u0438\u0435 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438: \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0441\u043e\u0432\u0441\u0435\u043c \u0431\u0435\u0437 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043e\u043a, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u043a\u0438, \u0432\u0435\u0431-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441, \u043f\u0440\u043e\u0431\u0440\u043e\u0441 \u043c\u0435\u0442\u0440\u0438\u043a, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u0432, REST API, \u043a\u0430\u043d\u0430\u0440\u0435\u0435\u0447\u043d\u044b\u0435 \u0440\u0435\u043b\u0438\u0437\u044b \u0438 \u043c\u043d\u043e\u0433\u043e\u0435 \u0434\u0440\u0443\u0433\u043e\u0435. \u041f\u0440\u0438\u044f\u0442\u043d\u043e\u0439 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044c\u044e \u0442\u0430\u043a\u0436\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432 Let&#8217;s Encrypt \u0438\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438. \u041d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u043a \u2014 \u0434\u043b\u044f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u0438 (HA) \u0443 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 KV-\u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435.<\/p>\n<h3>HAProxy<\/h3>\n<p>\n<i>Webbplats: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/jcmoraisjr\/haproxy-ingress\">github.com\/jcmoraisjr\/haproxy-ingress<\/a><\/noindex><\/i><br \/>\n<i>Licens: Apache 2.0<\/i><\/p>\n<p>HAProxy \u0434\u0430\u0432\u043d\u043e \u0438\u0437\u0432\u0435\u0441\u0442\u0435\u043d \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0440\u043e\u043a\u0441\u0438 \u0438 \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430 \u0442\u0440\u0430\u0444\u0438\u043a\u0430. \u0412 \u0440\u0430\u043c\u043a\u0430\u0445 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 Kubernetes \u0441 \u043d\u0438\u043c \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u00ab\u043c\u044f\u0433\u043a\u043e\u0435\u00bb \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 (\u0431\u0435\u0437 \u043f\u043e\u0442\u0435\u0440\u0438 \u0442\u0440\u0430\u0444\u0438\u043a\u0430), service discovery \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 DNS, \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e API. \u041f\u0440\u0438\u0432\u043b\u0435\u043a\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u043c\u043e\u0436\u0435\u0442 \u0441\u0442\u0430\u0442\u044c \u043f\u043e\u043b\u043d\u0430\u044f \u043a\u0430\u0441\u0442\u043e\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u0448\u0430\u0431\u043b\u043e\u043d\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u043e\u0432 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0437\u0430\u043c\u0435\u043d\u044b CM&#8217;\u0430, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u043d\u0451\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 Sprig. \u0412 \u0446\u0435\u043b\u043e\u043c \u0436\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0430\u043a\u0446\u0435\u043d\u0442 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0432\u044b\u0441\u043e\u043a\u0443\u044e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u044b, \u0435\u0433\u043e \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0441\u0442\u044c \u0438 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u0432 \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u044f\u0435\u043c\u044b\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u0445. \u041f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u043e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u2014 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0440\u0435\u043a\u043e\u0440\u0434\u043d\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u043a\u0438.<\/p>\n<h3>Voyager<\/h3>\n<p>\n<i>Webbplats: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/appscode\/voyager\">github.com\/appscode\/voyager<\/a><\/noindex><\/i><br \/>\n<i>Licens: Apache 2.0<\/i><\/p>\n<p>En controller baserad p\u00e5 HAproxy, som positionerar sig som en universall\u00f6sning, som st\u00f6der omfattande funktionalitet hos m\u00e5nga leverant\u00f6rer. Den erbjuder m\u00f6jlighet till lastbalansering p\u00e5 L7 och L4, d\u00e4r lastbalansering av TCP L4-trafik i allm\u00e4nhet kan kallas en av nyckelfunktionerna i l\u00f6sningen.<\/p>\n<h3>Contour<\/h3>\n<p>\n<i>Webbplats: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/heptio\/contour\">github.com\/heptio\/contour<\/a><\/noindex><\/i><br \/>\n<i>Licens: Apache 2.0<\/i><\/p>\n<p>Detta l\u00f6sningskoncept bygger inte bara p\u00e5 Envoy: det har utvecklats <i>tillsammans<\/i> med f\u00f6rfattarna till denna popul\u00e4ra proxy. En viktig funktion \u00e4r m\u00f6jligheten att separera hanteringen av Ingress-resurser med hj\u00e4lp av CRD-resurser IngressRoute. F\u00f6r organisationer med m\u00e5nga utvecklingsteam som anv\u00e4nder ett kluster hj\u00e4lper detta till att maximalt s\u00e4kra hanteringen av trafik i angr\u00e4nsande konturer och skydda dem fr\u00e5n fel vid \u00e4ndring av Ingress-resurser.<\/p>\n<p>\u0422\u0430\u043a\u0436\u0435 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u043a\u0438 (\u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0437\u0435\u0440\u043a\u0430\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432, \u0430\u0432\u0442\u043e\u043f\u043e\u0432\u0442\u043e\u0440\u044b, \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u043f\u043e rate&#8217;\u0443 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0438 \u043c\u043d\u043e\u0433\u043e\u0435 \u0434\u0440\u0443\u0433\u043e\u0435), \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u044b\u0439 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u043f\u043e\u0442\u043e\u043a\u0430 \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u0438 \u0441\u0431\u043e\u0435\u0432. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0434\u043b\u044f \u043a\u043e\u0433\u043e-\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u043e\u043c \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 sticky sessions (\u0445\u043e\u0442\u044f \u0440\u0430\u0431\u043e\u0442\u044b <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/heptio\/contour\/issues\/361\">redan p\u00e5g\u00e5r<\/a><\/noindex>).<\/p>\n<h3>Istio Ingress<\/h3>\n<p>\n<i>Webbplats: <noindex><a rel=\"nofollow\" href=\"https:\/\/istio.io\/docs\/tasks\/traffic-management\/ingress\/\">istio.io\/docs\/tasks\/traffic-management\/ingress<\/a><\/noindex><\/i><br \/>\n<i>Licens: Apache 2.0<\/i><\/p>\n<p>En komplett service mesh-l\u00f6sning som inte bara fungerar som en Ingress-kontroller f\u00f6r inkommande trafik utifr\u00e5n, utan ocks\u00e5 kontrollerar all trafik inom klustret. \"Under huven\" anv\u00e4nds Envoy som en sidecar-proxy f\u00f6r varje tj\u00e4nst. I grund och botten \u00e4r detta en stor maskin som \"kan allt\", med den centrala id\u00e9n att maximera hanterbarhet, skalbarhet, s\u00e4kerhet och transparens. Med hj\u00e4lp av detta kan du noggrant konfigurera trafikdirigering, \u00e5tkomstautorisering mellan tj\u00e4nster, lastbalansering, \u00f6vervakning, kanarrelease och mycket mer. L\u00e4s mer om Istio i serien av artiklar \"<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/438426\/\">Tillbaka till mikrotj\u00e4nster med Istio<\/a><\/noindex>\u00bb.<\/p>\n<h3>Ambassador<\/h3>\n<p>\n<i>Webbplats: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/datawire\/ambassador\">github.com\/datawire\/ambassador<\/a><\/noindex><\/i><br \/>\n<i>Licens: Apache 2.0<\/i><\/p>\n<p>En annan l\u00f6sning baserad p\u00e5 Envoy. Har b\u00e5de gratis och kommersiella versioner. Positioneras som \"helt nativ f\u00f6r Kubernetes\", vilket ger motsvarande f\u00f6rdelar (snabb integration med metoder och entiteter i K8s-klustret).<\/p>\n<h2>J\u00e4mf\u00f6relsetabell<\/h2>\n<p>\nS\u00e5, kulmen av artikeln \u00e4r denna stora tabell:<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/ss\/wh\/lj\/sswhljo-rjkms7nadtyewqkxrdi.png\"><img decoding=\"async\" alt=\"\u00d6versikt och j\u00e4mf\u00f6relse av Ingress-kontroller f\u00f6r Kubernetes.\" src=\"\/wp-content\/uploads\/2019\/04\/3a6c552df6b8b7b6a88517046fa7a275.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>Den \u00e4r klickbar f\u00f6r m\u00f6jlighet till mer detaljerad granskning och finns ocks\u00e5 tillg\u00e4nglig i formatet <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.google.com\/spreadsheets\/d\/1xjff2AMS6QXSdh8E8ay_uNMoUa2OLIanCallvkDvAy0\/edit#gid=0\">Google Sheets<\/a><\/noindex>.<\/p>\n<h2>L\u00e5t oss sammanfatta<\/h2>\n<p>\nSyftet med artikeln \u00e4r att ge en mer komplett f\u00f6rst\u00e5else (\u00e4ven om det i sig inte \u00e4r utt\u00f6mmande!) om vilket val som b\u00f6r g\u00f6ras i ditt specifika fall. Som vanligt har varje kontroller sina f\u00f6rdelar och nackdelar...<\/p>\n<p>Den klassiska Ingress fr\u00e5n Kubernetes \u00e4r bra p\u00e5 grund av sin tillg\u00e4nglighet och testbarhet, med tillr\u00e4ckligt rika funktioner \u2014 i allm\u00e4nhet b\u00f6r den \"r\u00e4cka till\". Men om det finns \u00f6kade krav p\u00e5 stabilitet, funktionsniv\u00e5 och utveckling, b\u00f6r man \u00f6verv\u00e4ga Ingress med NGINX Plus och en betalprenumeration. Kong har ett omfattande utbud av plugins (och d\u00e4rmed m\u00f6jligheterna som de erbjuder), och i den betalversionen finns det till och med fler. Den har stora m\u00f6jligheter att fungera som API Gateway, dynamisk konfiguration baserat p\u00e5 CRD-resurser, samt grundl\u00e4ggande Kubernetes-tj\u00e4nster.<\/p>\n<p>Vid h\u00f6gre krav p\u00e5 belastningsbalansering och autentiseringsmetoder, kolla p\u00e5 Traefik och HAProxy. Dessa \u00e4r Open Source-projekt, bepr\u00f6vade genom \u00e5ren, mycket stabila och aktivt utvecklade. Contour har funnits ett par \u00e5r nu, men ser fortfarande f\u00f6r ungt ut och har endast de grundl\u00e4ggande funktionerna, tillagda ovanp\u00e5 Envoy. Om det finns krav p\u00e5 integration av WAF f\u00f6re applikationen, b\u00f6r man \u00f6verv\u00e4ga samma Ingress fr\u00e5n Kubernetes eller HAProxy.<\/p>\n<p>De mest funktionella produkterna \u00e4r de byggda p\u00e5 Envoy, s\u00e4rskilt Istio. Det framst\u00e5r som en helt\u00e4ckande l\u00f6sning som \"kan allt\", vilket dock inneb\u00e4r en betydligt h\u00f6gre tr\u00f6skel f\u00f6r konfiguration\/startadministration \u00e4n f\u00f6r andra l\u00f6sningar.<\/p>\n<p>Vi har valt Ingress fr\u00e5n Kubernetes som standardkontroller och anv\u00e4nds fortfarande, vilket t\u00e4cker 80\u201390% av behoven. Den \u00e4r ganska p\u00e5litlig, l\u00e4tt att konfigurera och ut\u00f6ka. Generellt, vid avsaknad av specifika krav, b\u00f6r den passa de flesta kluster\/applikationer. Fr\u00e5n liknande universella och relativt enkla produkter kan Traefik och HAProxy rekommenderas.<\/p>\n<h2>P.S.<\/h2>\n<p>\nL\u00e4s \u00e4ven i v\u00e5r blogg:<\/p>\n<ul>\n<li> \u00abTillbaka till mikrotj\u00e4nster med Istio\u00bb: <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/438426\/\">del 1 (introduktion till grundl\u00e4ggande funktioner)<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/440378\/\">del 2 (routing, trafikhantering)<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/443668\/\">del 3 (autentisering och auktorisering)<\/a><\/noindex>;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/445596\/\">Kubernetes tips &amp; tricks: personliga felmeddelandesidor i NGINX Ingress<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/427745\/\">Kubernetes tips &amp; tricks: Tillg\u00e5ng till dev-milj\u00f6er<\/a><\/noindex>\u00bb.<\/li>\n<\/ul>\n<p>K\u00e4lla: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/447180\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 Kubernetes \u0434\u043b\u044f \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c, \u043a\u0430\u043a\u0438\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043a \u044d\u0442\u043e\u043c\u0443 \u0440\u0435\u0441\u0443\u0440\u0441\u0443 \u0441\u0430\u043c\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u0431\u0438\u0437\u043d\u0435\u0441 \u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438. \u041f\u0440\u0438 \u043d\u0430\u043b\u0438\u0447\u0438\u0438 \u044d\u0442\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0430\u0442\u044c \u043a \u043f\u0440\u0438\u043d\u044f\u0442\u0438\u044e \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0438, \u0432 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438, \u043a \u0432\u044b\u0431\u043e\u0440\u0443 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e Ingress-\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430, \u043a\u043e\u0438\u0445 \u043d\u0430 \u0441\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0438\u0439 \u0434\u0435\u043d\u044c \u0443\u0436\u0435 \u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e. \u0427\u0442\u043e\u0431\u044b \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0431\u0430\u0437\u043e\u0432\u043e\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u0431 \u0438\u043c\u0435\u044e\u0449\u0438\u0445\u0441\u044f \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430\u0445 \u0431\u0435\u0437 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0438\u0437\u0443\u0447\u0430\u0442\u044c \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":23140,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-31173","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 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 Kubernetes \u0434\u043b\u044f.\" \/>\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\/obzor-i-sravnenie-kontrollerov-ingress-dlya-kubernetes\" \/>\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\udd47\u041e\u0431\u0437\u043e\u0440 \u0438 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u0432 Ingress \u0434\u043b\u044f Kubernetes | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 Kubernetes \u0434\u043b\u044f.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/obzor-i-sravnenie-kontrollerov-ingress-dlya-kubernetes\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:39:53+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:39:53+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\udd47\u00d6versikt och j\u00e4mf\u00f6relse av Ingress-kontroller f\u00f6r Kubernetes | ProHoster","description":"Vid start av ett Kubernetes-kluster f\u00f6r.","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/obzor-i-sravnenie-kontrollerov-ingress-dlya-kubernetes","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\udd47\u041e\u0431\u0437\u043e\u0440 \u0438 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u0432 Ingress \u0434\u043b\u044f Kubernetes | ProHoster","og:description":"\u041f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 Kubernetes \u0434\u043b\u044f.","og:url":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/obzor-i-sravnenie-kontrollerov-ingress-dlya-kubernetes","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:39:53+00:00","article:modified_time":"2019-10-31T18:39:53+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"31173","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":"2026-01-21 04:53:04","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:21:32","updated":"2026-01-21 04:53:04","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\/31173","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=31173"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/31173\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media\/23140"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=31173"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=31173"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=31173"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}