{"id":30199,"date":"2019-10-31T21:34:08","date_gmt":"2019-10-31T18:34:08","guid":{"rendered":"https:\/\/prohoster.info\/blog\/vozmozhno-vam-ne-nuzhen-kubernetes\/"},"modified":"2019-10-31T21:34:08","modified_gmt":"2019-10-31T18:34:08","slug":"vozmozhno-vam-ne-nuzhen-kubernetes","status":"publish","type":"post","link":"https:\/\/prohoster.info\/no\/blog\/vozmozhno-vam-ne-nuzhen-kubernetes","title":{"rendered":"Kanskje du ikke trenger Kubernetes","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Kanskje du ikke trenger Kubernetes\" src=\"\/wp-content\/uploads\/2019\/03\/4cd1c0ed29bf76731aab81ce67144352.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Jente p\u00e5 scooter. Illustrasjon <noindex><a rel=\"nofollow\" href=\"https:\/\/www.freepik.com\/free-photos-vectors\/car\">freepik<\/a><\/noindex>, Nomad-logoen fra <noindex><a rel=\"nofollow\" href=\"https:\/\/www.nomadproject.io\/\">HashiCorp<\/a><\/noindex><\/i><\/p>\n<p>Kubernetes er en 300-kilos gorilla for orkestrering av containere. Den fungerer i noen av de st\u00f8rste containermilj\u00f8ene i verden, men er kostbar.<\/p>\n<p>Spesielt kostbart for sm\u00e5 team, som vil m\u00e5tte bruke mye tid p\u00e5 vedlikehold og en bratt l\u00e6ringskurve. For v\u00e5rt team p\u00e5 fire personer er dette for mye overhead. Derfor begynte vi \u00e5 se etter alternativer - og ble forelsket i <noindex><a rel=\"nofollow\" href=\"https:\/\/www.nomadproject.io\/\">Nomad<\/a><\/noindex>.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h1>Hva vi \u00f8nsker<\/h1>\n<p>\nV\u00e5rt team st\u00f8tter en rekke typiske tjenester for overv\u00e5king og ytelsesanalyse: API-endepunkter for metrikker, skrevet i Go, Prometheus-eksport, loggparere som Logstash og <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/trivago\/gollum\">Gollum<\/a><\/noindex>, samt databaser som InfluxDB eller Elasticsearch. Hver av disse tjenestene kj\u00f8rer i sin egen container. Vi trenger et enkelt system for \u00e5 holde alt dette oppe og g\u00e5.<\/p>\n<p>Vi startet med en liste over krav for orkestrering av containere:<\/p>\n<ul>\n<li>Kj\u00f8re et sett med tjenester p\u00e5 mange maskiner.\n<\/li>\n<li>Oversikt over kj\u00f8rende tjenester.\n<\/li>\n<li>Forbindelser mellom tjenester.\n<\/li>\n<li>Automatisk omstart hvis en tjeneste krasjer.\n<\/li>\n<li>Vedlikehold av infrastrukturen av et lite team.<\/li>\n<\/ul>\n<p>\nI tillegg ville f\u00f8lgende ting v\u00e6rt hyggelige, men ikke obligatoriske tillegg:<\/p>\n<ul>\n<li>Merking av maskiner etter deres muligheter (for eksempel \u00e5 merke maskiner med raske disker for tunge I\/O-tjenester).\n<\/li>\n<li>Mulighet for \u00e5 kj\u00f8re tjenester uavhengig av orkestratoren (for eksempel under utvikling).\n<\/li>\n<li>Et felles sted for deling av konfigurasjoner og hemmeligheter.\n<\/li>\n<li>Endepunkt for metrikker og logger.<\/li>\n<\/ul>\n<p><\/p>\n<h1>Hvorfor Kubernetes ikke passer for oss<\/h1>\n<p>\nDa vi prototype med Kubernetes, la vi merke til at vi begynte \u00e5 legge til stadig mer kompliserte lag av logikk som vi pliktoppfyllende stole p\u00e5.<\/p>\n<p>Som et eksempel st\u00f8tter Kubernetes innebygde tjenestekonfigurasjoner gjennom <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tasks\/configure-pod-container\/configure-pod-configmap\/\">ConfigMaps<\/a><\/noindex>. Du kan raskt bli forvirret, spesielt n\u00e5r du sl\u00e5r sammen flere konfigurasjonsfiler eller legger til flere tjenester i en pod. Kubernetes (eller <noindex><a rel=\"nofollow\" href=\"https:\/\/helm.sh\/\">helm<\/a><\/noindex> I dette tilfellet) tillater det \u00e5 implementere dynamiske eksterne konfigurasjoner for \u00e5 skille interessene. Men dette f\u00f8rer til en rigid skjult kobling mellom prosjektet ditt og Kubernetes. Likevel er Helm og ConfigMaps ekstra alternativer, s\u00e5 du er ikke n\u00f8dvendigvis forpliktet til \u00e5 bruke dem. Du kan ganske enkelt kopiere konfigurasjonen til Docker-bildet. Likevel er det fristende \u00e5 g\u00e5 denne veien og bygge un\u00f8dvendige abstraksjoner, noe du kanskje vil angre p\u00e5 senere.<\/p>\n<p>I tillegg utvikler Kubernetes-\u00f8kosystemet seg raskt. Det krever mye tid og energi \u00e5 holde seg oppdatert med beste praksis og de nyeste verkt\u00f8yene. Kubectl, minikube, kubeadm, helm, tiller, kops, oc \u2013 listen fortsetter og fortsetter. I begynnelsen er ikke alle disse verkt\u00f8yene n\u00f8dvendige, men du vet ikke hva du vil trenge, s\u00e5 du m\u00e5 v\u00e6re oppmerksom p\u00e5 alt. P\u00e5 grunn av dette er l\u00e6ringskurven ganske bratt.<\/p>\n<h1>N\u00e5r man skal bruke Kubernetes<\/h1>\n<p>\nI v\u00e5rt selskap er mange forn\u00f8yde med \u00e5 bruke Kubernetes. Disse instansene administreres av Google eller Amazon, som har tilstrekkelige ressurser til \u00e5 st\u00f8tte dem.<\/p>\n<p>Kubernetes leveres med <noindex><a rel=\"nofollow\" href=\"https:\/\/jvns.ca\/blog\/2017\/08\/05\/how-kubernetes-certificates-work\/\">fantastiske funksjoner<\/a><\/noindex>, som gj\u00f8r storskala orkestrering av containere mer h\u00e5ndterbar:<\/p>\n<ul>\n<li>Detaljert <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/reference\/access-authn-authz\/authorization\/\">rettighetsforvaltning<\/a><\/noindex>.\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/extend-kubernetes\/api-extension\/custom-resources\/#custom-controllers\">Egendefinerte kontrollerere<\/a><\/noindex> legger logikk til klyngen. Dette er bare programmer som kommuniserer med Kubernetes API.\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tasks\/run-application\/horizontal-pod-autoscale\/\">Automatisk skalering<\/a><\/noindex>! Kubernetes kan skalere tjenester etter behov, ved hjelp av tjenestemetrikk og uten at det kreves manuell inngripen.<\/li>\n<\/ul>\n<p>\nSp\u00f8rsm\u00e5let er om du virkelig trenger alle disse funksjonene. Det er ikke nok \u00e5 stole p\u00e5 abstraksjoner; <noindex><a rel=\"nofollow\" href=\"https:\/\/jvns.ca\/blog\/2017\/08\/05\/how-kubernetes-certificates-work\/\">du m\u00e5 l\u00e6re deg hva som skjer under panseret<\/a><\/noindex>.<\/p>\n<p>Teamet v\u00e5rt tilbyr de fleste tjenestene eksternt (p\u00e5 grunn av den n\u00e6re forbindelsen med hovedinfrastrukturen), s\u00e5 vi \u00f8nsket ikke \u00e5 sette opp v\u00e5r egen Kubernetes-klynge. Vi \u00f8nsket bare \u00e5 tilby tjenester.<\/p>\n<h1>Batterier ikke inkludert<\/h1>\n<p>\nNomad er 20% av orkestreringen som gir 80% av det n\u00f8dvendige. Alt den gj\u00f8r, er \u00e5 administrere distribusjoner. Nomad tar seg av distribusjoner, starter containere p\u00e5 nytt ved feil\u2026 og det er alt.<\/p>\n<p>Hele poenget med Nomad er det den gj\u00f8r <i>minimum<\/i>: ingen detaljert rettighetsforvaltning eller <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/services-networking\/network-policies\/\">avanserte nettverkspolitikker<\/a><\/noindex>, slik det er spesifikt designet. Disse komponentene leveres fra tredjepart eller tilbys ikke i det hele tatt.<\/p>\n<p>Jeg tror at Nomad har funnet den perfekte balansen mellom brukervennlighet og nytte. Den er flott for sm\u00e5, uavhengige tjenester. Hvis du trenger mer kontroll, m\u00e5 du opprette dem selv eller bruke en annen tiln\u00e6rming. Nomad er <i>bare<\/i> en orkestrator.<\/p>\n<p>Det beste med Nomad er at den enkelt kan <i>erstattes<\/i>. Leverand\u00f8ravhengighet er n\u00e6rmest frav\u00e6rende, ettersom funksjonene lett kan integreres i ethvert annet system som h\u00e5ndterer tjenester. Den fungerer bare som en vanlig bin\u00e6rfil p\u00e5 hver maskin i klyngen, det er alt!<\/p>\n<h1>Nomads \u00f8kosystem best\u00e5r av svakt sammenkoblede komponenter<\/h1>\n<p>\nDen virkelige styrken til Nomad ligger i \u00f8kosystemet. Den integrerer seg veldig godt med andre \u2014 helt valgfrie \u2014 produkter, som <noindex><a rel=\"nofollow\" href=\"https:\/\/www.consul.io\/\">Consul<\/a><\/noindex> (n\u00f8kkel-verdi lagring) eller <noindex><a rel=\"nofollow\" href=\"https:\/\/www.vaultproject.io\/\">Vault<\/a><\/noindex> (behandling av hemmeligheter). Inne i Nomad-filen er det seksjoner for \u00e5 hente data fra disse tjenestene:<\/p>\n<pre><code class=\"plaintext\">template {\n  data = &lt;&lt;EOH\nLOG_LEVEL=&quot;{{key &quot;service\/geo-api\/log-verbosity&quot;}}&quot;\nAPI_KEY=&quot;{{with secret &quot;secret\/geo-api-key&quot;}}{{.Data.value}}{{end}}&quot;\nEOH\n\n  destination = &quot;secrets\/file.env&quot;\n  env         = true\n}<\/code><\/pre>\n<p>\nHer leser vi n\u00f8kkelen <code>service\/geo-api\/log-verbosity<\/code> fra Consul og presenterer den som en milj\u00f8variabel <code>LOG_LEVEL<\/code>. Vi presenterer ogs\u00e5 n\u00f8kkelen <code>secret\/geo-api-key<\/code> fra Vault som <code>API_KEY<\/code>. Enkelt, men kraftig!<\/p>\n<p>P\u00e5 grunn av sin enkelhet kan Nomad enkelt utvides med andre tjenester via API. For eksempel st\u00f8ttes etiketter for oppgaver. Vi merker alle tjenester med metrikker etiketten <code>trv-metrics<\/code>. Slik finner Prometheus enkelt disse tjenestene via Consul og sjekker jevnlig endepunktet <code>\/metrics<\/code> for nye data. Det samme kan gj\u00f8res, for eksempel for logger, ved \u00e5 bruke <noindex><a rel=\"nofollow\" href=\"https:\/\/grafana.com\/loki\">Loki<\/a><\/noindex>.<\/p>\n<p>Det finnes mange andre eksempler p\u00e5 utvidbarhet:<\/p>\n<ul>\n<li>Kj\u00f8re en Jenkins-oppgave ved hjelp av en webhook, og Consul overv\u00e5ker gjenopprettingsdistribusjonen av Nomad-oppgaven ved endringer i tjenestekonfigurasjonen.\n<\/li>\n<li>Ceph legger til et distribuert filsystem i Nomad.\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/fabiolb\/fabio\">fabio<\/a><\/noindex> for lastbalansering.<\/li>\n<\/ul>\n<p>\nAlt dette gj\u00f8r det mulig \u00e5 <noindex><a rel=\"nofollow\" href=\"https:\/\/tech.trivago.com\/2019\/01\/25\/nomad-our-experiences-and-best-practices\/\">organisk utvikle infrastrukturen<\/a><\/noindex> uten stor leverand\u00f8ravhengighet.<\/p>\n<h1>\u00c6rlig advarsel<\/h1>\n<p>\nIngen systemer er perfekte. Jeg anbefaler ikke \u00e5 implementere de nyeste funksjonene i produksjon med en gang. Selvf\u00f8lgelig er det feil og manglende funksjoner, men det samme gjelder Kubernetes.<\/p>\n<p>Sammenlignet med Kubernetes er Nomad-samfunnet ikke s\u00e5 stort. Kubernetes har allerede rundt 75 000 commits og 2000 bidragsytere, mens Nomad har omtrent 14 000 commits og 300 bidragsytere. Det vil v\u00e6re vanskelig for Nomad \u00e5 holde f\u00f8lge med hastigheten til Kubernetes, men kanskje det ikke er n\u00f8dvendig! Det er et mer spesialisert system, og et mindre samfunn betyr ogs\u00e5 at pull-foresp\u00f8rselen din sannsynligvis vil bli lagt merke til og akseptert mer enn med Kubernetes.<\/p>\n<h1>Sammendrag<\/h1>\n<p>\nKonklusjon: ikke bruk Kubernetes bare fordi alle andre gj\u00f8r det. Vurder kravene dine n\u00f8ye og sjekk hvilket verkt\u00f8y som er mer kostnadseffektivt.<\/p>\n<p>Hvis du planlegger \u00e5 rulle ut mange ensartede tjenester p\u00e5 en storskala infrastruktur, er Kubernetes et godt alternativ. Bare husk den ekstra kompleksiteten og driftskostnadene. Noen av kostnadene kan unng\u00e5s ved \u00e5 bruke en administrert Kubernetes-milj\u00f8, som <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/kubernetes-engine\/\">Google Kubernetes Engine<\/a><\/noindex> eller <noindex><a rel=\"nofollow\" href=\"https:\/\/aws.amazon.com\/eks\/\">Amazon EKS<\/a><\/noindex>.<\/p>\n<p>Hvis du bare ser etter en p\u00e5litelig orkestrator som er enkel \u00e5 vedlikeholde og utvide, hvorfor ikke pr\u00f8ve Nomad? Du kan bli overrasket over hvor langt dette tar deg.<\/p>\n<p>Hvis du sammenligner Kubernetes med en bil, vil Nomad v\u00e6re en scooter. Noen ganger trenger du det ene, og noen ganger det andre. Begge har sin plass.<br \/>\n<br \/>Kilde: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/445030\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0414\u0435\u0432\u0443\u0448\u043a\u0430 \u043d\u0430 \u0441\u043a\u0443\u0442\u0435\u0440\u0435. \u0418\u043b\u043b\u044e\u0441\u0442\u0440\u0430\u0446\u0438\u044f freepik, \u043b\u043e\u0433\u043e\u0442\u0438\u043f Nomad \u043e\u0442 HashiCorp Kubernetes\u00a0\u2014 \u044d\u0442\u043e 300-\u043a\u0438\u043b\u043e\u0433\u0440\u0430\u043c\u043c\u043e\u0432\u0430\u044f \u0433\u043e\u0440\u0438\u043b\u043b\u0430 \u0434\u043b\u044f \u043e\u0440\u043a\u0435\u0441\u0442\u0440\u043e\u0432\u043a\u0438 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432. \u041e\u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u0430\u043c\u044b\u0445 \u043a\u0440\u0443\u043f\u043d\u044b\u0445 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u0432 \u043c\u0438\u0440\u0435, \u043d\u043e \u0434\u043e\u0440\u043e\u0433\u043e \u043e\u0431\u0445\u043e\u0434\u0438\u0442\u0441\u044f. \u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0434\u043e\u0440\u043e\u0433\u043e \u0434\u043b\u044f \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043a\u043e\u043c\u0430\u043d\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u0442\u044c \u043c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u0438 \u043a\u0440\u0443\u0442\u0443\u044e \u043a\u0440\u0438\u0432\u0443\u044e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f. \u0414\u043b\u044f \u043d\u0430\u0448\u0435\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0438\u0437 \u0447\u0435\u0442\u044b\u0440\u0451\u0445 \u0447\u0435\u043b\u043e\u0432\u0435\u043a \u044d\u0442\u043e \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043c\u043d\u043e\u0433\u043e \u043d\u0430\u043a\u043b\u0430\u0434\u043d\u044b\u0445 [&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-30199","post","type-post","status-publish","format-standard","hentry"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.5 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0414\u0435\u0432\u0443\u0448\u043a\u0430 \u043d\u0430 \u0441\u043a\u0443\u0442\u0435\u0440\u0435.\" \/>\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\/no\/blog\/vozmozhno-vam-ne-nuzhen-kubernetes\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.5\" \/>\n\t\t<meta property=\"og:locale\" content=\"nn_NO\" \/>\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\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0432\u0430\u043c \u043d\u0435 \u043d\u0443\u0436\u0435\u043d Kubernetes | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0414\u0435\u0432\u0443\u0448\u043a\u0430 \u043d\u0430 \u0441\u043a\u0443\u0442\u0435\u0440\u0435.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/no\/blog\/vozmozhno-vam-ne-nuzhen-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:34:08+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:34:08+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\udd47Kanskje du ikke trenger Kubernetes | ProHoster","description":"Jenta p\u00e5 scooteren.","canonical_url":"https:\/\/prohoster.info\/no\/blog\/vozmozhno-vam-ne-nuzhen-kubernetes","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"nn_NO","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\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0432\u0430\u043c \u043d\u0435 \u043d\u0443\u0436\u0435\u043d Kubernetes | ProHoster","og:description":"\u0414\u0435\u0432\u0443\u0448\u043a\u0430 \u043d\u0430 \u0441\u043a\u0443\u0442\u0435\u0440\u0435.","og:url":"https:\/\/prohoster.info\/no\/blog\/vozmozhno-vam-ne-nuzhen-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:34:08+00:00","article:modified_time":"2019-10-31T18:34:08+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"30199","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:06:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:39:24","updated":"2026-01-21 00:06:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/posts\/30199","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/comments?post=30199"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/posts\/30199\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/media?parent=30199"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/categories?post=30199"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/tags?post=30199"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}