{"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\/da\/blog\/vozmozhno-vam-ne-nuzhen-kubernetes","title":{"rendered":"M\u00e5ske har du ikke brug for Kubernetes","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"M\u00e5ske har du ikke brug for Kubernetes\" src=\"\/wp-content\/uploads\/2019\/03\/4cd1c0ed29bf76731aab81ce67144352.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Pige p\u00e5 scooter. Illustration <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 kilo tung gorilla til orkestrering af containere. Den k\u00f8rer i nogle af verdens st\u00f8rste container-systemer, men er dyr.<\/p>\n<p>S\u00e6rligt dyrt for sm\u00e5 teams, der vil bruge meget tid p\u00e5 vedligeholdelse og den stejlere indl\u00e6ringskurve. For vores team p\u00e5 fire personer er det for mange omkostninger. Derfor begyndte vi at lede efter alternativer \u2013 og blev 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>Hvad vi \u00f8nsker<\/h1>\n<p>\nVores team underst\u00f8tter en r\u00e6kke typiske tjenester til overv\u00e5gning og analyse af ydeevne: API-endpoints til metrics skrevet i Go, Prometheus-eksport, logparser som Logstash og <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/trivago\/gollum\">Gollum<\/a><\/noindex>, samt databaser som InfluxDB eller Elasticsearch. Hver af disse tjenester k\u00f8rer i sin egen container. Vi har brug for et simpelt system til at holde det hele k\u00f8rende.<\/p>\n<p>Vi startede med en liste over krav til orkestrering af containere:<\/p>\n<ul>\n<li>K\u00f8rsel af et s\u00e6t tjenester p\u00e5 mange maskiner.\n<\/li>\n<li>Oversigt over k\u00f8rende tjenester.\n<\/li>\n<li>Forbindelser mellem tjenester.\n<\/li>\n<li>Automatisk genstart, hvis en tjeneste fejler.\n<\/li>\n<li>Vedligeholdelse af infrastrukturen af et lille team.<\/li>\n<\/ul>\n<p>\nDerudover vil f\u00f8lgende ting v\u00e6re dejlige, men ikke n\u00f8dvendige tilf\u00f8jelser:<\/p>\n<ul>\n<li>Tagging af maskiner efter deres kapaciteter (for eksempel, tagging af maskiner med hurtige diske til tunge I\/O-tjenester).\n<\/li>\n<li>Mulighed for at k\u00f8re tjenester uafh\u00e6ngigt af orkestratoren (for eksempel under udvikling).\n<\/li>\n<li>Et f\u00e6lles sted til at dele konfigurationer og secrets.\n<\/li>\n<li>En endpoint til metrics og logs.<\/li>\n<\/ul>\n<p><\/p>\n<h1>Hvorfor Kubernetes ikke passer til os<\/h1>\n<p>\nVed oprettelse af en prototype med Kubernetes bem\u00e6rkede vi, at vi begyndte at tilf\u00f8je stadig mere komplekse lag af logik, som vi stolede ubetinget p\u00e5.<\/p>\n<p>Som eksempel underst\u00f8tter Kubernetes indbyggede konfigurationer af tjenester gennem <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tasks\/configure-pod-container\/configure-pod-configmap\/\">ConfigMaps<\/a><\/noindex>. Du kan hurtigt blive forvirret, is\u00e6r n\u00e5r du fusionerer flere konfigurationsfiler eller tilf\u00f8jer ekstra tjenester til pod. Kubernetes (eller <noindex><a rel=\"nofollow\" href=\"https:\/\/helm.sh\/\">helm<\/a><\/noindex> I dette tilf\u00e6lde) giver mulighed for dynamisk at integrere eksterne konfigurationer til interessedeling. Men det f\u00f8rer til en stram skjult forbindelse mellem dit projekt og Kubernetes. Helm og ConfigMaps er dog yderligere muligheder, s\u00e5 du er ikke n\u00f8dvendigvis n\u00f8dt til at bruge dem. Du kan simpelthen kopiere konfigurationen til Docker-billedet. Alligevel er det fristende at g\u00e5 denne vej og opbygge un\u00f8dvendige abstraktioner, som du m\u00e5ske senere vil fortryde.<\/p>\n<p>Derudover udvikler Kubernetes-\u00f8kosystemet sig hurtigt. Det kr\u00e6ver meget tid og energi at holde sig opdateret med bedste praksis og de nyeste v\u00e6rkt\u00f8jer. Kubectl, minikube, kubeadm, helm, tiller, kops, oc - listen forts\u00e6tter og forts\u00e6tter. I starten er ikke alle disse v\u00e6rkt\u00f8jer n\u00f8dvendige, men du ved ikke, hvad du f\u00e5r brug for, s\u00e5 det er vigtigt at v\u00e6re opm\u00e6rksom p\u00e5 alt. Derfor er l\u00e6ringskurven ret stejl.<\/p>\n<h1>Hvorn\u00e5r man skal bruge Kubernetes<\/h1>\n<p>\nI vores virksomhed bruger mange Kubernetes og er ganske tilfredse med det. Disse instanser administreres af Google eller Amazon, som har nok ressourcer til at underst\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 funktioner<\/a><\/noindex>, der g\u00f8r storskala containerorkestrering mere h\u00e5ndterbar:<\/p>\n<ul>\n<li>Detaljeret <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/reference\/access-authn-authz\/authorization\/\">rettighedsstyring<\/a><\/noindex>.\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/extend-kubernetes\/api-extension\/custom-resources\/#custom-controllers\">Tilpassede controllere<\/a><\/noindex> tilf\u00f8jer logik til klyngen. Det er bare programmer, der taler 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 efter behov, ved hj\u00e6lp af tjenestemetrikker og uden manuel indgriben.<\/li>\n<\/ul>\n<p>\nSp\u00f8rgsm\u00e5let er, om du virkelig har brug for alle disse funktioner. Du kan ikke bare stole p\u00e5 abstraktioner; <noindex><a rel=\"nofollow\" href=\"https:\/\/jvns.ca\/blog\/2017\/08\/05\/how-kubernetes-certificates-work\/\">du bliver n\u00f8dt til at forst\u00e5, hvad der sker under overfladen<\/a><\/noindex>.<\/p>\n<p>Vores team leverer de fleste tjenester eksternt (p\u00e5 grund af n\u00e6r tilknytning til den prim\u00e6re infrastruktur), s\u00e5 vi \u00f8nskede ikke at oprette vores egen Kubernetes-klynge. Vi ville bare tilbyde tjenester.<\/p>\n<h1>Batterier ikke inkluderet<\/h1>\n<p>\nNomad er 20% af orkestreringen, der giver 80% af det n\u00f8dvendige. Alt, hvad det g\u00f8r, er at administrere udsendelser. Nomad h\u00e5ndterer udsendelser, genstarter containere i tilf\u00e6lde af fejl ... og det er alt.<\/p>\n<p>Meningen med Nomad er, hvad det g\u00f8r <i>mindst<\/i>: ingen detaljeret rettighedsstyring eller <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/services-networking\/network-policies\/\">udvidede netv\u00e6rkspolitikker<\/a><\/noindex>, som er designet s\u00e5dan. Disse komponenter leveres fra tredjepart eller tilbydes slet ikke.<\/p>\n<p>Jeg mener, at Nomad har fundet den perfekte balance mellem brugervenlighed og funktionalitet. Den er god til sm\u00e5, uafh\u00e6ngige tjenester. Hvis der er brug for mere kontrol, skal de ops\u00e6ttes manuelt eller en anden tilgang anvendes. Nomad er <i>bare<\/i> en orkestrator.<\/p>\n<p>Det bedste ved Nomad er, at den er let <i>udskiftes<\/i>. Leverand\u00f8rbindingen er n\u00e6sten ikke-eksisterende, da dens funktioner let kan integreres med ethvert andet system, der styrer tjenester. Den fungerer blot som en almindelig binar p\u00e5 hver maskine i klyngen, og det er det!<\/p>\n<h1>Nomads \u00f8kosystem best\u00e5r af svagt sammenkoblede komponenter.<\/h1>\n<p>\nDen reelle styrke ved Nomad ligger i dens \u00f8kosystem. Den integreres rigtig godt med andre \u2014 helt valgfri \u2014 produkter som <noindex><a rel=\"nofollow\" href=\"https:\/\/www.consul.io\/\">Consul<\/a><\/noindex> (n\u00f8gle-v\u00e6rdi-lager) eller <noindex><a rel=\"nofollow\" href=\"https:\/\/www.vaultproject.io\/\">Vault<\/a><\/noindex> (h\u00e5ndtering af hemmeligheder). Inden i Nomad-filen er der sektioner til at hente data fra disse tjenester:<\/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 l\u00e6ser vi n\u00f8glen <code>service\/geo-api\/log-verbosity<\/code> fra Consul og pr\u00e6senterer den som en milj\u00f8variabel <code>LOG_LEVEL<\/code>. Vi pr\u00e6senterer ogs\u00e5 n\u00f8glen <code>secret\/geo-api-key<\/code> fra Vault som <code>API_KEY<\/code>. Simpelt, men effektivt!<\/p>\n<p>Takket v\u00e6re sin enkelhed kan Nomad nemt udvides med andre tjenester via API. For eksempel underst\u00f8ttes tags til job. Vi m\u00e6rker alle tjenester med metrik-tagget <code>trv-metrics<\/code>. Dermed finder Prometheus nemt disse tjenester via Consul, og tjekker j\u00e6vnligt endpointet <code>\/metrics<\/code> for nye data. Det samme kan g\u00f8res, for eksempel for logs, ved at bruge <noindex><a rel=\"nofollow\" href=\"https:\/\/grafana.com\/loki\">Loki<\/a><\/noindex>.<\/p>\n<p>Der er mange andre eksempler p\u00e5 udvidelse:<\/p>\n<ul>\n<li>K\u00f8rsel af en Jenkins-job via et hook, og Consul overv\u00e5ger genudrulningen af Nomad-jobbet ved \u00e6ndringer i tjenestekonfigurationen.\n<\/li>\n<li>Ceph tilf\u00f8jer et distribueret filsystem til Nomad.\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/fabiolb\/fabio\">fabio<\/a><\/noindex> til belastningsfordeling.<\/li>\n<\/ul>\n<p>\nAlt dette g\u00f8r det muligt at <noindex><a rel=\"nofollow\" href=\"https:\/\/tech.trivago.com\/2019\/01\/25\/nomad-our-experiences-and-best-practices\/\">organisk udvikle infrastrukturen<\/a><\/noindex> uden s\u00e6rlig binding til en leverand\u00f8r.<\/p>\n<h1>En \u00e6rlig advarsel<\/h1>\n<p>\nIngen system er perfekt. Jeg anbefaler ikke at implementere de nyeste funktioner direkte i produktion. Selvf\u00f8lgelig er der fejl og manglende funktioner, men det samme g\u00e6lder for Kubernetes.<\/p>\n<p>Sammenlignet med Kubernetes er Nomads f\u00e6llesskab ikke s\u00e5 stort. Kubernetes har allerede omkring 75.000 commits og 2.000 bidragsydere, mens Nomad har omkring 14.000 commits og 300 bidragsydere. Det vil v\u00e6re sv\u00e6rt for Nomad at holde trit med hastigheden af Kubernetes, men m\u00e5ske er det ikke n\u00f8dvendigt! Det er et mere specialiseret system, og et mindre f\u00e6llesskab betyder ogs\u00e5, at din pull-anmodning sandsynligvis vil blive bem\u00e6rket og accepteret hurtigere sammenlignet med Kubernetes.<\/p>\n<h1>CV<\/h1>\n<p>\nKonklusion: Brug ikke Kubernetes bare fordi alle andre g\u00f8r det. Vurder omhyggeligt dine krav og se, hvilket v\u00e6rkt\u00f8j der er mere fordelagtigt.<\/p>\n<p>Hvis du planl\u00e6gger at implementere mange ensartede tjenester p\u00e5 en storstilet infrastruktur, s\u00e5 er Kubernetes et godt valg. Bare husk p\u00e5 den ekstra kompleksitet og driftsomkostninger. Nogle udgifter kan undg\u00e5s ved at bruge et administreret 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 leder efter en p\u00e5lidelig orkestrator, der er let at vedligeholde og skalerbar, hvorfor s\u00e5 ikke pr\u00f8ve Nomad? Du vil m\u00e5ske blive overrasket over, hvor langt det kan f\u00f8re dig.<\/p>\n<p>Hvis Kubernetes sammenlignes med en bil, vil Nomad v\u00e6re en scooter. Nogle gange har du brug for det ene, og nogle gange det andet. Begge har deres berettigelse.<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.3 - 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\/da\/blog\/vozmozhno-vam-ne-nuzhen-kubernetes\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"da_DK\" \/>\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\/da\/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\udd47M\u00e5ske har du ikke brug for Kubernetes | ProHoster","description":"Pigen p\u00e5 scooteren.","canonical_url":"https:\/\/prohoster.info\/da\/blog\/vozmozhno-vam-ne-nuzhen-kubernetes","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"da_DK","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\/da\/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\/da\/wp-json\/wp\/v2\/posts\/30199","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/comments?post=30199"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/30199\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=30199"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=30199"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=30199"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}