{"id":97381,"date":"2020-10-17T20:42:21","date_gmt":"2020-10-17T18:42:21","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/dostupen-nginx-service-mesh"},"modified":"2020-10-17T20:42:21","modified_gmt":"2020-10-17T18:42:21","slug":"dostupen-nginx-service-mesh","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/dostupen-nginx-service-mesh","title":{"rendered":"NGINX Service Mesh Available","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"NGINX Service Mesh Available\" src=\"\/wp-content\/uploads\/2020\/10\/a3b960ccc69da6591f2d0ef7db1094db.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>We are excited to present the preview version <noindex><a rel=\"nofollow\" href=\"https:\/\/www.nginx.com\/products\/nginx-service-mesh\">NGINX Service Mesh<\/a><\/noindex> (NSM), a lightweight service mesh that utilizes the NGINX Plus data plane for managing container traffic in Kubernetes environments. <\/p>\n<p><\/p>\n<p>NSM can be downloaded for free <noindex><a rel=\"nofollow\" href=\"https:\/\/downloads.f5.com\/\">here<\/a><\/noindex>. We hope you will try it for development and testing environments \u2014 we look forward to your feedback. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/nginxinc\/nginx-service-mesh\/issues\">on GitHub<\/a><\/noindex>.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Implementing a microservices methodology brings challenges as scaling delivery becomes more complex. The communication between services becomes convoluted, debugging issues become harder, and more services require additional resources for management.<\/p>\n<p><\/p>\n<p>NSM addresses these challenges by providing you with:<\/p>\n<p><\/p>\n<ul>\n<li><strong>Security<\/strong>, which is more important now than ever. Data breaches can cost companies millions of dollars annually in lost revenue and reputation. NSM ensures the encryption of all connections using mTLS \u2014 so there are simply no sensitive data that hackers can steal over the network. Access control allows you to set policies for how services will communicate with one another.<\/li>\n<li><strong>Traffic Management<\/strong>. When delivering a new version of an application, you might want to initially limit its incoming traffic in case of errors. With NSM's intelligent container traffic management, you can set a traffic limiting policy for new services that will gradually increase traffic over time. Other features like rate limiting and circuit breakers give you full control over traffic management for all your services.<\/li>\n<li><strong>Visualization<\/strong>. Managing thousands of services can be a nightmare for debugging and visualization. NSM helps tackle this with its integrated Grafana dashboard, which displays all metrics available in NGINX Plus. Additionally, built-in OpenTracing allows for detailed transaction tracking.<\/li>\n<li><strong>Hybrid deliveries<\/strong>, if your company, like most others, does not fully run on Kubernetes infrastructure. NSM ensures that legacy applications are not left unattended. With the integrated NGINX Kubernetes Ingress Controller, legacy services can communicate with mesh services and vice versa.<\/li>\n<\/ul>\n<p><\/p>\n<p>NSM also ensures application security in zero-trust environments by transparently applying encryption and traffic authentication for containers. It enables monitoring and analysis of transactions, aiding in the swift and accurate deployment and troubleshooting of applications. Furthermore, detailed traffic control is provided, allowing DevOps teams to deploy and optimize parts of applications while enabling developers to create and easily connect their distributed applications.<\/p>\n<p><\/p>\n<h2 id=\"kak-ustroen-nginx-service-mesh\">How is the NGINX Service Mesh structured?<\/h2>\n<p><\/p>\n<p>NSM consists of a unified data plane for horizontal (service-to-service) traffic and an embedded NGINX Plus Ingress Controller for vertical traffic, managed by a single control plane.<\/p>\n<p><\/p>\n<p>The control plane is specifically designed and optimized for the NGINX Plus data plane, defining traffic management rules distributed across NGINX Plus sidecars.<\/p>\n<p><\/p>\n<p>In NSM, sidecar proxies are set up for each service in the mesh. They interact with the following open-source solutions:<\/p>\n<p><\/p>\n<ul>\n<li>Grafana, which visualizes Prometheus metrics, the built-in NSM dashboard assists you in your work;<\/li>\n<li>Kubernetes Ingress Controllers, to manage incoming and outgoing traffic in the mesh;<\/li>\n<li>SPIRE, a CA for managing, distributing, and updating certificates in the mesh;<\/li>\n<li>NATS, a scalable messaging system, for example, route updates from the control plane to sidecars;<\/li>\n<li>Open Tracing, for distributed debugging (Zipkin and Jaeger are supported);<\/li>\n<li>Prometheus, for collecting and storing metrics from NGINX Plus sidecars, such as request counts, connections, and SSL handshakes.<\/li>\n<\/ul>\n<p><\/p>\n<h2 id=\"funkcii-i-komponenty\">Features and Components<\/h2>\n<p><\/p>\n<p>NGINX Plus, as a data plane, covers sidecar proxies (horizontal traffic) and the Ingress controller (vertical), intercepting and managing container traffic between services. <\/p>\n<p><\/p>\n<p>Features include:<\/p>\n<p><\/p>\n<ul>\n<li>Mutual TLS authentication (mTLS);<\/li>\n<li>Load balancing;<\/li>\n<li>Fault tolerance;<\/li>\n<li>Rate limiting;<\/li>\n<li>Circuit breaking;<\/li>\n<li>Blue-green and canary deployments;<\/li>\n<li>Access control.<\/li>\n<\/ul>\n<p><\/p>\n<h2 id=\"zapusk-nginx-service-mesh\">Launching NGINX Service Mesh<\/h2>\n<p><\/p>\n<p>To launch NSM, you need:<\/p>\n<p><\/p>\n<ul>\n<li>Access to the Kubernetes environment. NGINX Service Mesh is supported on many Kubernetes platforms, including Amazon Elastic Container Service for Kubernetes (EKS), Azure Kubernetes Service (AKS), Google Kubernetes Engine (GKE), VMware vSphere, and typical Kubernetes clusters deployed on physical servers;<\/li>\n<li>Tool <code>kubectl<\/code>, installed on the machine from which NSM will be set up;<\/li>\n<li>Access to NGINX Service Mesh release packages. The package includes NSM images necessary for deployment in a private registry for containers available in the Kubernetes cluster. The package also contains <code>nginx-meshctl<\/code>, needed for deploying NSM.<\/li>\n<\/ul>\n<p><\/p>\n<p>To deploy NSM with default settings, run the following command. During the deployment, messages will appear indicating the successful installation of components, and finally, a message stating that NSM is running in a separate namespace (first, it needs to be <noindex><a rel=\"nofollow\" href=\"https:\/\/downloads.f5.com\/\">download<\/a><\/noindex> and placed in the registry, <em>translator's note<\/em>):<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">$ DOCKER_REGISTRY=your-Docker-registry ; MESH_VER=0.6.0 ; \n .\/nginx-meshctl deploy  \n  --nginx-mesh-api-image \"${DOCKER_REGISTRY}\/nginx-mesh-api:${MESH_VER}\" \n  --nginx-mesh-sidecar-image \"${DOCKER_REGISTRY}\/nginx-mesh-sidecar:${MESH_VER}\" \n  --nginx-mesh-init-image \"${DOCKER_REGISTRY}\/nginx-mesh-init:${MESH_VER}\" \n  --nginx-mesh-metrics-image \"${DOCKER_REGISTRY}\/nginx-mesh-metrics:${MESH_VER}\"\nCreated namespace \"nginx-mesh\".\nCreated SpiffeID CRD.\nWaiting for Spire pods to be running...done.\nDeployed Spire.\nDeployed NATS server.\nCreated traffic policy CRDs.\nDeployed Mesh API.\nDeployed Metrics API Server.\nDeployed Prometheus Server nginx-mesh\/prometheus-server.\nDeployed Grafana nginx-mesh\/grafana.\nDeployed tracing server nginx-mesh\/zipkin.\nAll resources created. Testing the connection to the Service Mesh API Server...\n\nConnected to the NGINX Service Mesh API successfully.\nNGINX Service Mesh is running.<\/code><\/pre>\n<p><\/p>\n<p>To get additional parameters, including advanced settings, run this command:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">$ nginx-meshctl deploy \u2013h<\/code><\/pre>\n<p><\/p>\n<p>To check that the control plane is functioning correctly in the namespace <strong>nginx-mesh<\/strong>, you can do this:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">$ kubectl get pods \u2013n nginx-mesh\nNAME                                 READY   STATUS    RESTARTS   AGE\ngrafana-6cc6958cd9-dccj6             1\/1     Running   0          2d19h\nmesh-api-6b95576c46-8npkb            1\/1     Running   0          2d19h\nnats-server-6d5c57f894-225qn         1\/1     Running   0          2d19h\nprometheus-server-65c95b788b-zkt95   1\/1     Running   0          2d19h\nsmi-metrics-5986dfb8d5-q6gfj         1\/1     Running   0          2d19h\nspire-agent-5cf87                    1\/1     Running   0          2d19h\nspire-agent-rr2tt                    1\/1     Running   0          2d19h\nspire-agent-vwjbv                    1\/1     Running   0          2d19h\nspire-server-0                       2\/2     Running   0          2d19h\nzipkin-6f7cbf5467-ns6wc              1\/1     Running   0          2d19h<\/code><\/pre>\n<p><\/p>\n<p>Depending on the deployment parameters that set manual or automatic injection policies, NGINX sidecar proxies will be added to applications by default. To disable automatic addition, read <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.nginx.com\/nginx-service-mesh\/usage\/inject-sidecar-proxy\/?_ga=2.33466234.554829903.1602830065-822531106.1602830065\">here<\/a><\/noindex><\/p>\n<p><\/p>\n<p>For example, if we deploy an application <strong>sleep<\/strong> in the namespace <strong>default<\/strong>, and then check the Pod \u2014 we will see two running containers, the application <strong>sleep<\/strong> and the associated sidecar:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">$ kubectl apply \u2013f sleep.yaml\n$ kubectl get pods \u2013n default\nNAME                     READY   STATUS    RESTARTS   AGE\nsleep-674f75ff4d-gxjf2   2\/2     Running   0          5h23m<\/code><\/pre>\n<p><\/p>\n<p>We can also monitor the application <strong>sleep<\/strong> in the NGINX Plus panel, run this command to access the sidecar from your local machine:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">$ kubectl port-forward sleep-674f75ff4d-gxjf2 8080:8886<\/code><\/pre>\n<p><\/p>\n<p>Then simply go to <noindex><a rel=\"nofollow\" href=\"http:\/\/localhost:8080\/dashboard.html\">here<\/a><\/noindex> your browser. You can also connect to Prometheus to monitor the application <strong>sleep<\/strong>.<\/p>\n<p><\/p>\n<p>You can use separate Kubernetes resources to configure traffic policies, such as access control, rate limiting, and circuit breaking; refer to <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.nginx.com\/nginx-service-mesh\/?_ga=2.205024340.554829903.1602830065-822531106.1602830065\">documentation<\/a><\/noindex><\/p>\n<p><\/p>\n<h2 id=\"zaklyuchenie\">Conclusion<\/h2>\n<p><\/p>\n<p>NGINX Service Mesh is available for free download at <noindex><a rel=\"nofollow\" href=\"https:\/\/downloads.f5.com\/\">the F5 portal<\/a><\/noindex>. Try it out in your dev and test environments and <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/nginxinc\/nginx-service-mesh\/issues\">let us know about your results<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>To try the NGINX Plus Ingress Controller, activate the <noindex><a rel=\"nofollow\" href=\"https:\/\/www.nginx.com\/free-trial-request\">30-day free trial<\/a><\/noindex> or <noindex><a rel=\"nofollow\" href=\"https:\/\/www.nginx.com\/contact-sales\/\">please contact us<\/a><\/noindex> to discuss your use cases.<\/p>\n<p><\/p>\n<p><em>Translation by Pavel Demkovich, an engineer at <noindex><a rel=\"nofollow\" href=\"https:\/\/southbridge.io\/?utm_source=habr&amp;utm_medium=post&amp;utm_campaign=post&amp;utm_content=post_16-10-2020&amp;utm_term=dzygovbrodskiy\">Southbridge<\/a><\/noindex>. System administration for \u20bd15,000 per month. And as a separate division \u2014 the training center <noindex><a rel=\"nofollow\" href=\"https:\/\/slurm.io\/?utm_source=habr&amp;utm_medium=post&amp;utm_campaign=post&amp;utm_content=post_16-10-2020&amp;utm_term=dzygovbrodskiy\">Sleurm<\/a><\/noindex>, practice and nothing but practice.<\/em><\/p>\n<p>Source: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/523698\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041c\u044b \u0440\u0430\u0434\u044b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e NGINX Service Mesh (NSM), \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u0443\u044e \u043b\u0435\u0433\u043a\u043e\u0432\u0435\u0441\u043d\u0443\u044e service mesh, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0443\u044e data plane \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 NGINX Plus \u0434\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0442\u0440\u0430\u0444\u0438\u043a\u043e\u043c \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u0432 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f\u0445 Kubernetes. NSM \u043c\u043e\u0436\u043d\u043e \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u0437\u0434\u0435\u0441\u044c. \u041c\u044b \u043d\u0430\u0434\u0435\u0435\u043c\u0441\u044f, \u0447\u0442\u043e \u0432\u044b \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u0442\u0435 \u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f dev \u0438 test \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0439 \u2014 \u0438 \u0436\u0434\u0435\u043c \u0432\u0430\u0448\u0438\u0445 \u043e\u0442\u0437\u044b\u0432\u043e\u0432 \u043d\u0430 GitHub. \u0412\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u0441\u043e\u043f\u0440\u044f\u0436\u0435\u043d\u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":97382,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-97381","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.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041c\u044b \u0440\u0430\u0434\u044b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e.\" \/>\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\/en\/blog\/administrirovanie\/dostupen-nginx-service-mesh\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\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\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d NGINX Service Mesh | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041c\u044b \u0440\u0430\u0434\u044b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/dostupen-nginx-service-mesh\" \/>\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-10-17T18:42:21+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-10-17T18:42:21+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\udd47NGINX Service Mesh available | ProHoster","description":"We are pleased to introduce the beta version.","canonical_url":"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/dostupen-nginx-service-mesh","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","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\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d NGINX Service Mesh | ProHoster","og:description":"\u041c\u044b \u0440\u0430\u0434\u044b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e.","og:url":"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/dostupen-nginx-service-mesh","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-10-17T18:42:21+00:00","article:modified_time":"2020-10-17T18:42:21+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"97381","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 10:21:28","updated":"2022-09-29 09:05:14","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/97381","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=97381"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/97381\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media\/97382"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=97381"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=97381"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=97381"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}