{"id":82902,"date":"2020-05-26T13:42:27","date_gmt":"2020-05-26T11:42:27","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-mapping-vneshnih-servisov"},"modified":"2020-05-26T13:42:27","modified_gmt":"2020-05-26T11:42:27","slug":"luchshie-praktiki-kubernetes-mapping-vneshnih-servisov","status":"publish","type":"post","link":"https:\/\/prohoster.info\/da\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-mapping-vneshnih-servisov","title":{"rendered":"Bedste praksis for Kubernetes. Mapping af eksterne tjenester","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502052\/\">De bedste Kubernetes-praksis. Oprettelse af sm\u00e5 containere<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502320\/\">De bedste Kubernetes-praksis. Organisering af Kubernetes med navnerum<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502430\/\">De bedste Kubernetes-praksis. Kontrol af Kubernetes' levedygtighed med Readiness- og Liveness-tests<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502614\/\">Bedste praksis for Kubernetes. Konfiguration af anmodninger og ressourcegr\u00e6nser<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/503488\/\">Bedste praksis for Kubernetes. Korrekt afbrydelse Terminate<\/a><\/noindex><\/p>\n<p>Hvis du ligner de fleste mennesker, bruger du sandsynligvis ressourcer, der fungerer uden for dit cluster. M\u00e5ske bruger du Taleo API til at sende tekstbeskeder eller analyserer billeder med Google Cloud Vision API.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Hvis du bruger den samme endpoint \u2014 modtagelsespunkt for anmodninger p\u00e5 serversiden i alle dine milj\u00f8er, og ikke har planer om at flytte dine servere til Kubernetes, s\u00e5 er det helt normalt at have service-endpoint direkte i din kode. Men der er mange andre scenarier. I denne serie \"Kubernetes Best Practices\" vil du l\u00e6re, hvordan du bruger de indbyggede mekanismer i Kubernetes til at opdage tjenester b\u00e5de inden i og uden for clusteret. <\/p>\n<p>Et eksempel p\u00e5 en almindelig ekstern tjeneste kan v\u00e6re en database, der k\u00f8rer uden for Kubernetes-clusteret. I mods\u00e6tning til cloud-databaser som Google Cloud Data Store eller Google Cloud Spanner, som bruger en enkelt endpoint til alle former for adgang, har de fleste databaser separate endpoints til forskellige omst\u00e6ndigheder.<br \/>\nBedste praksis for brug af traditionelle databaser som MySQL og MongoDB indeb\u00e6rer normalt, at du forbinder til forskellige komponenter for forskellige milj\u00f8er. Du kan have en st\u00f8rre maskine til produktionsdata og en mindre maskine til testmilj\u00f8et. Hver af dem vil have sin egen IP-adresse eller dom\u00e6nenavn, men du vil helt sikkert ikke \u00e6ndre din kode, n\u00e5r du skifter fra et milj\u00f8 til et andet. Derfor, i stedet for at hardkode disse adresser, kan du bruge den indbyggede Kubernetes service til at opdage eksterne tjenester baseret p\u00e5 DNS, ligesom du ville g\u00f8re med native Kubernetes-tjenester.<\/p>\n<p><img decoding=\"async\" alt=\"Bedste praksis for Kubernetes. Mapping af eksterne tjenester\" src=\"\/wp-content\/uploads\/2020\/05\/b64f2f5857f32d2d927c8dad1e4b1e36.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nLad os sige, at du k\u00f8rer en MongoDB database i Google Compute Engine. Du vil forblive fast i denne hybride verden, indtil du kan flytte den til et cluster.<\/p>\n<p>Heldigvis kan du bruge statiske Kubernetes-tjenester til at lette din situation lidt. I dette eksempel har jeg oprettet en MongoDB-server ved hj\u00e6lp af Google Cloud Launcher. Da den er bygget i det samme netv\u00e6rk (eller VPC i Kubernetes-clusteret), er adgangen til den via en h\u00f8jtydende intern IP-adresse.<\/p>\n<p><img decoding=\"async\" alt=\"Bedste praksis for Kubernetes. Mapping af eksterne tjenester\" src=\"\/wp-content\/uploads\/2020\/05\/cafe19eabc8ac144d27bd06f6c44ac5f.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nI Google Cloud er dette standardindstillingen, s\u00e5 du beh\u00f8ver ikke at konfigurere noget. Nu hvor der er en IP-adresse, er det f\u00f8rste skridt at oprette en tjeneste. Man kan bem\u00e6rke, at der ikke er nogen pod-selektorer for denne tjeneste. Det betyder, at vi har oprettet en tjeneste, som ikke ved, hvor den skal sende trafik. Dette vil muligg\u00f8re, at vi manuelt kan oprette et endpoint-objekt, der vil modtage trafik fra denne tjeneste. <\/p>\n<p><img decoding=\"async\" alt=\"Bedste praksis for Kubernetes. Mapping af eksterne tjenester\" src=\"\/wp-content\/uploads\/2020\/05\/4f3643f3ce2f2d3f5b207429bb269058.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDet n\u00e6ste kodeeksempel viser, at endepunkterne definerer IP-adressen til databasen ved at bruge det samme navn mongo, som tjenesten g\u00f8r.<\/p>\n<p><img decoding=\"async\" alt=\"Bedste praksis for Kubernetes. Mapping af eksterne tjenester\" src=\"\/wp-content\/uploads\/2020\/05\/dbba2655a9e2295cb8a7de4c97eddc8f.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKubernetes vil bruge alle IP-adresser til at finde endepunkterne, som om de var almindelige Kubernetes-pods, s\u00e5 nu kan du f\u00e5 adgang til databasen med en simpel forbindelsesstreng til ovenst\u00e5ende navn mongodb:\/\/mongo. Hermed er der slet ikke behov for at bruge IP-adresser i din kode.<\/p>\n<p>Hvis IP-adresserne \u00e6ndrer sig i fremtiden, kan du blot opdatere endepunkterne med den nye IP-adresse, og dine applikationer beh\u00f8ver ikke \u00e6ndres p\u00e5 nogen anden m\u00e5de.<\/p>\n<p>Hvis du bruger en database, der er hostet p\u00e5 en tredjepart, har v\u00e6rterne sandsynligvis givet dig et ensartet ressourceidentifier URI til forbindelse. S\u00e5 hvis du har f\u00e5et en IP-adresse, kan du blot bruge den tidligere n\u00e6vnte metode. Dette eksempel viser, at jeg har to MongoDB-databaser hostet p\u00e5 mLab.<\/p>\n<p><img decoding=\"async\" alt=\"Bedste praksis for Kubernetes. Mapping af eksterne tjenester\" src=\"\/wp-content\/uploads\/2020\/05\/088a578041c3d7c924c77f0a2e67e323.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEn af dem er udviklerdatabasen, og den anden er produktionsdatabasen. Forbindelsesstrengene til disse databaser ser s\u00e5ledes ud \u2014 mLab giver dig en dynamisk URI og en dynamisk port. Som du kan se, er de forskellige.<\/p>\n<p><img decoding=\"async\" alt=\"Bedste praksis for Kubernetes. Mapping af eksterne tjenester\" src=\"\/wp-content\/uploads\/2020\/05\/41d2e22371e85b7e794a9df7b2db515d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nFor at abstrahere fra dette bruger vi Kubernetes og forbinder til udviklerdatabasen. Du kan oprette et eksternt Kubernetes-tjenestenavn, som giver dig en statisk tjeneste, der vil omdirigere trafik til den eksterne tjeneste. <\/p>\n<p><img decoding=\"async\" alt=\"Bedste praksis for Kubernetes. Mapping af eksterne tjenester\" src=\"\/wp-content\/uploads\/2020\/05\/ed07c1e9818a6641b29d5c941bdf68cb.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDenne tjeneste vil udf\u00f8re en simpel CNAME-omdirigering p\u00e5 kernniveau, hvilket vil have minimal indflydelse p\u00e5 ydeevnen. Dette giver dig mulighed for at bruge en enklere forbindelsesstreng.<\/p>\n<p><img decoding=\"async\" alt=\"Bedste praksis for Kubernetes. Mapping af eksterne tjenester\" src=\"\/wp-content\/uploads\/2020\/05\/ee5442aec9c1a9d19f78bd92d44a97ec.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMen da det eksterne navn bruger en CNAME-omdirigering, kan det ikke udf\u00f8re portomdirigering. Derfor er denne l\u00f8sning kun anvendelig for statiske porte og kan ikke bruges med dynamiske porte. Den gratis mLab Free Tier giver som standard brugeren et dynamisk portnummer, og det kan du ikke \u00e6ndre. Dette betyder, at du har brug for forskellige forbindelseskommandoer til dev og prod. Problemet er, at portnummeret derfor skal h\u00e5rdkodes. Hvordan f\u00e5r man s\u00e5 portomdirigeringen til at fungere?<\/p>\n<p>Det f\u00f8rste skridt er at hente IP-adressen fra URI. Hvis du k\u00f8rer kommandoen nslookup, hostname eller pinger URI, kan du f\u00e5 IP-adressen til databasen. Hvis tjenesten returnerer flere IP-adresser, kan alle disse adresser benyttes i objektets endepunkter.<\/p>\n<p><img decoding=\"async\" alt=\"Bedste praksis for Kubernetes. Mapping af eksterne tjenester\" src=\"\/wp-content\/uploads\/2020\/05\/6cd63eb3c8bd733afbd7fe791ef7b8f4.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDet er vigtigt at huske, at IP-adresserne i URI kan \u00e6ndre sig uden forudg\u00e5ende varsel, s\u00e5 det er ret risikabelt at bruge dem i prod. Med en s\u00e5dan IP-adresse kan du oprette forbindelse til en fjerndatabase uden at angive en port. S\u00e5ledes udf\u00f8rer Kubernetes-tjenesten portomdirigering ret gennemsigtigt.<\/p>\n<p><img decoding=\"async\" alt=\"Bedste praksis for Kubernetes. Mapping af eksterne tjenester\" src=\"\/wp-content\/uploads\/2020\/05\/3f718da15739fd42dc640f44b34c7cab.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMapping, eller kortl\u00e6gning af eksterne ressourcer til interne, giver dig mulighed for fleksibelt at bruge disse tjenester inden for klyngen i fremtiden med minimal refaktorering. Det letter ogs\u00e5 administrationen og giver indsigt i, hvilke eksterne tjenester din virksomhed bruger. <\/p>\n<p>Forts\u00e6ttelsen kommer snart\u2026<\/p>\n<p><center><div class=\"youtube-placeholder\" data-id=\"fvpq4jqtuZ8\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/fvpq4jqtuZ8\/hqdefault.jpg\" alt=\"Afspil video\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center><\/p>\n<h3>Lidt reklame \ud83d\ude42<\/h3>\n<p>\nTak fordi du bliver hos os. Kan du lide vores artikler? \u00d8nsker du at se flere interessante materialer? St\u00f8t os ved at bestille eller anbefale os til dine bekendte, <noindex><a rel=\"nofollow\" href=\"https:\/\/ua-hosting.company\/cloudvps\/nl\">cloud VPS til udviklere fra 4,99 $<\/a><\/noindex>, <b>en unik analog til entry-level servere, som vi har designet til dig:<\/b> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/347386\/\">Alt om VPS (KVM) E5-2697 v3 (6 kerner) 10 GB DDR4 480 GB SSD 1 Gbps fra 19 $ eller hvordan man deler serveren korrekt?<\/a><\/noindex> (tilg\u00e6ngelige muligheder med RAID1 og RAID10, op til 24 kerner og op til 40 GB DDR4).<\/p>\n<p><b>Dell R730xd til halv pris i datacenteret Equinix Tier IV i Amsterdam?<\/b> Kun hos os <b><noindex><a rel=\"nofollow\" href=\"https:\/\/ua-hosting.company\/serversnl\">2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TB fra 199 $<\/a><\/noindex> i Holland! <b>Dell R420 - 2x E5-2430 2.2GHz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - fra 99 $!<\/b><\/b> L\u00e6s om hvordan <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/329618\/\">man bygger enterprise-infrastruktur ved hj\u00e6lp af Dell R730xd E5-2650 v4 servere til 9000 euro for en br\u00f8kdel af prisen?<\/a><\/noindex><br \/>\n<br \/>Kilde: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/503612\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes. \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes. \u041e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f Kubernetes \u0441 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e\u043c \u0438\u043c\u0435\u043d \u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes. \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0436\u0438\u0437\u043d\u0435\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438 Kubernetes \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0442\u0435\u0441\u0442\u043e\u0432 Readiness \u0438 Liveness \u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes. \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0438 \u043b\u0438\u043c\u0438\u0442\u043e\u0432 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes. \u041a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0435 \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 Terminate \u0415\u0441\u043b\u0438 \u0432\u044b \u043f\u043e\u0445\u043e\u0436\u0438 \u043d\u0430 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u043b\u044e\u0434\u0435\u0439, \u0442\u043e, \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b, \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u0443\u044e\u0449\u0438\u0435 \u0437\u0430 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u043c\u0438 \u0432\u0430\u0448\u0435\u0433\u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":82903,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-82902","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.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes.\" \/>\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\/administrirovanie\/luchshie-praktiki-kubernetes-mapping-vneshnih-servisov\" \/>\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\u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes. \u041c\u0430\u043f\u043f\u0438\u043d\u0433 \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/da\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-mapping-vneshnih-servisov\" \/>\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-26T11:42:27+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-26T11:42:27+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\udd47Bedste praksis for Kubernetes. Mapping af eksterne tjenester | ProHoster","description":"Bedste praksis for Kubernetes.","canonical_url":"https:\/\/prohoster.info\/da\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-mapping-vneshnih-servisov","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\u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes. \u041c\u0430\u043f\u043f\u0438\u043d\u0433 \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 | ProHoster","og:description":"\u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes.","og:url":"https:\/\/prohoster.info\/da\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-mapping-vneshnih-servisov","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-26T11:42:27+00:00","article:modified_time":"2020-05-26T11:42:27+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"82902","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 15:29:29","updated":"2022-10-02 08:31:16","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\/82902","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=82902"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/82902\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media\/82903"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=82902"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=82902"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=82902"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}