{"id":843,"date":"2023-12-08T23:35:42","date_gmt":"2023-12-08T23:35:42","guid":{"rendered":"https:\/\/pc-keeper.tech\/index.php\/2023\/12\/08\/kubernetes-troubleshooting-a-comprehensive-guide\/"},"modified":"2023-12-08T23:35:42","modified_gmt":"2023-12-08T23:35:42","slug":"kubernetes-troubleshooting-a-comprehensive-guide","status":"publish","type":"post","link":"https:\/\/pc-keeper.tech\/index.php\/2023\/12\/08\/kubernetes-troubleshooting-a-comprehensive-guide\/","title":{"rendered":"Kubernetes Troubleshooting: A Comprehensive Guide"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div style=\"font-family: Open Sans, sans-serif; position: relative; overflow: hidden;\">\n<p><img fetchpriority=\"high\" decoding=\"async\" class=\"size-full wp-image-391562 img-responsive alignright\" src=\"https:\/\/ieeecs-media.computer.org\/wp-media\/2023\/12\/08152432\/Guide-to-Kubernetes-Troubleshooting.jpg\" alt=\"Guide to Kubernetes Troubleshooting\" width=\"250\" height=\"250\" srcset=\"https:\/\/ieeecs-media.computer.org\/wp-media\/2023\/12\/08152432\/Guide-to-Kubernetes-Troubleshooting.jpg 250w, https:\/\/ieeecs-media.computer.org\/wp-media\/2023\/12\/08152432\/Guide-to-Kubernetes-Troubleshooting-150x150.jpg 150w, https:\/\/ieeecs-media.computer.org\/wp-media\/2023\/12\/08152432\/Guide-to-Kubernetes-Troubleshooting-100x100.jpg 100w\" sizes=\"(max-width: 250px) 100vw, 250px\"\/><\/p>\n<h2 style=\"color: #002855; font-size: 24px; font-family: Montserrat; font-weight: 500; line-height: 29px;\">What Is Kubernetes Troubleshooting?<\/h2>\n<hr style=\"text-align: left; width: 30%; height: 3px; color: #ffa300; background-color: #ffa300; border: none;\"\/>\n<p style=\"color: #454545; font-size: 18px; font-family: Open Sans; font-weight: 400; line-height: 1.7em;\">With the growing popularity of containerization and microservices, Kubernetes has emerged as a leading orchestration platform. However, like any other complex system, Kubernetes isn\u2019t without its challenges. One of the most complex tasks for any Kubernetes administrator is troubleshooting. This process involves detecting, diagnosing, and addressing problems within a Kubernetes cluster.<\/p>\n<p style=\"color: #454545; font-size: 18px; font-family: Open Sans; font-weight: 400; line-height: 1.7em;\">Kubernetes troubleshooting requires a keen eye for detail, a solid understanding of the Kubernetes ecosystem, and the ability to correlate seemingly unrelated events. When a problem arises\u2014be it an application not working as expected, a service not accessible, or a node going offline\u2014it\u2019s the job of Kubernetes troubleshooting to pinpoint the cause and find a solution.<\/p>\n<p style=\"color: #454545; font-size: 18px; font-family: Open Sans; font-weight: 400; line-height: 1.7em;\">Kubernetes demands a strong grasp of the Kubernetes architecture, its core components, and how they interact with each other. It also involves practical skills, such as using various Kubernetes tools for diagnostics, interpreting logs, and understanding Kubernetes\u2019 unique behaviors.<\/p>\n<h2 style=\"color: #002855; font-size: 24px; font-family: Montserrat; font-weight: 500; line-height: 29px;\">Gathering Diagnostic Information<\/h2>\n<hr style=\"text-align: left; width: 30%; height: 3px; color: #ffa300; background-color: #ffa300; border: none;\"\/>\n<p style=\"color: #454545; font-size: 18px; font-family: Open Sans; font-weight: 400; line-height: 1.7em;\">The first step in Kubernetes troubleshooting is to gather information that can help diagnose the problem.<\/p>\n<h3 style=\"color: #002855; font-size: 20px; font-family: Montserrat; font-weight: 500; line-height: 24px;\">Using kubectl describe to Gather Details About Resources<\/h3>\n<p style=\"color: #454545; font-size: 18px; font-family: Open Sans; font-weight: 400; line-height: 1.7em;\">One of the most useful tools for diagnostics is <code>kubectl describe<\/code>. This command provides detailed information about a specific Kubernetes resource, such as a Pod, Service, or Deployment.<\/p>\n<p style=\"color: #454545; font-size: 18px; font-family: Open Sans; font-weight: 400; line-height: 1.7em;\">The output of <code>kubectl describe<\/code> includes metadata, status, and events related to the specified resource. This information can be useful when you\u2019re trying to understand what\u2019s wrong. For example, you can use it to check if a Pod is running, examine the events associated with a Service, or review the status of a Deployment.<\/p>\n<h3 style=\"color: #002855; font-size: 20px; font-family: Montserrat; font-weight: 500; line-height: 24px;\">Extracting Logs with kubectl logs<\/h3>\n<p style=\"color: #454545; font-size: 18px; font-family: Open Sans; font-weight: 400; line-height: 1.7em;\">Another tool in the Kubernetes troubleshooting arsenal is <code>kubectl logs<\/code>. With this command, you can view the logs associated with a specific Pod or container. These logs can provide invaluable insights into what\u2019s happening inside your applications and services.<\/p>\n<p style=\"color: #454545; font-size: 18px; font-family: Open Sans; font-weight: 400; line-height: 1.7em;\">For instance, if an application is crashing or behaving unexpectedly, the logs might reveal exceptions, error messages, or other clues about the root cause. Similarly, if a service is not responding, the logs could indicate problems with network connectivity, configuration, or dependencies.<\/p>\n<p style=\"color: #454545; font-size: 18px; font-family: Open Sans; font-weight: 400; line-height: 1.7em;\">Note that logs can be noisy, confusing, and overwhelming, especially in a large, complex system like a Kubernetes cluster. Therefore, it\u2019s essential to know how to filter, search, and interpret logs effectively.<\/p>\n<h3 style=\"color: #002855; font-size: 20px; font-family: Montserrat; font-weight: 500; line-height: 24px;\">Accessing the Kubernetes Dashboard<\/h3>\n<p style=\"color: #454545; font-size: 18px; font-family: Open Sans; font-weight: 400; line-height: 1.7em;\">The Kubernetes Dashboard is a web-based user interface for Kubernetes clusters. It provides a visual, interactive way to manage and troubleshoot Kubernetes resources. You can use it to view the status of Pods, Services, Deployments, and other resources, and to inspect their details, logs, and events.<\/p>\n<p style=\"color: #454545; font-size: 18px; font-family: Open Sans; font-weight: 400; line-height: 1.7em;\">Even though the command-line tools like <code>kubectl<\/code> are powerful, the Kubernetes Dashboard can be more user-friendly, especially for beginners. It can help you get a quick overview of your cluster\u2019s state and navigate through its resources more easily. Learn how to deploy and access the dashboard in the official documentation.<\/p>\n<h3 style=\"color: #002855; font-size: 20px; font-family: Montserrat; font-weight: 500; line-height: 24px;\">Leveraging Kubernetes Events<\/h3>\n<p style=\"color: #454545; font-size: 18px; font-family: Open Sans; font-weight: 400; line-height: 1.7em;\">Kubernetes events are records of significant occurrences within your Kubernetes cluster. These events can include things like the creation or deletion of resources, errors or warnings, and changes in resource status or configuration.<\/p>\n<p style=\"color: #454545; font-size: 18px; font-family: Open Sans; font-weight: 400; line-height: 1.7em;\">By examining these events, you can gain insights into the operation of your Kubernetes cluster and identify potential issues. For instance, if a pod is failing to start, examining the associated events can often reveal why. Whether it\u2019s a failed pull of a Docker image, a scheduling conflict, or a resource constraint, Kubernetes events can provide valuable clues for troubleshooting.<\/p>\n<h2 style=\"color: #002855; font-size: 24px; font-family: Montserrat; font-weight: 500; line-height: 29px;\">Troubleshooting Common Scenarios<\/h2>\n<hr style=\"text-align: left; width: 30%; height: 3px; color: #ffa300; background-color: #ffa300; border: none;\"\/>\n<p style=\"color: #454545; font-size: 18px; font-family: Open Sans; font-weight: 400; line-height: 1.7em;\">Here are some of the more common errors that may occur in a Kubernetes cluster and how to approach them.<\/p>\n<h3 style=\"color: #002855; font-size: 20px; font-family: Montserrat; font-weight: 500; line-height: 24px;\">Pod Issues: Analyzing Pod Status<\/h3>\n<p style=\"color: #454545; font-size: 18px; font-family: Open Sans; font-weight: 400; line-height: 1.7em;\">Pods are the smallest units that can be deployed in a Kubernetes system, that you can create and manage separately. They can encapsulate a single application or tightly coupled group of applications. When problems arise with pods, it can disrupt the smooth functioning of your applications.<\/p>\n<h4 style=\"color: #002855; font-size: 16px; font-family: Open Sans; font-weight: 600; line-height: 22px;\">Pending Pod Status<\/h4>\n<p style=\"color: #454545; font-size: 18px; font-family: Open Sans; font-weight: 400; line-height: 1.7em;\">A Pod in pending status means it has been accepted by the Kubernetes system but has not yet been assigned to a node. This could be due to various reasons such as insufficient resources on the nodes, failure in scheduling, or other configuration errors. To troubleshoot, you can use the <code>kubectl describe pod<\/code> command to check the events and conditions of the Pod. This can give you insights into why the Pod is stuck in the pending state.<\/p>\n<h4 style=\"color: #002855; font-size: 16px; font-family: Open Sans; font-weight: 600; line-height: 22px;\">ImagePullBackOff Pod Status<\/h4>\n<p style=\"color: #454545; font-size: 18px; font-family: Open Sans; font-weight: 400; line-height: 1.7em;\">The ImagePullBackOff status indicates that Kubernetes cannot successfully pull the required container image for the pod. This could be due to issues with the image registry, incorrect image names, or network problems. To resolve this, verify the image name and its availability in the registry. Also, inspect the imagePullPolicy and the Secrets associated with the image registry.<\/p>\n<h4 style=\"color: #002855; font-size: 16px; font-family: Open Sans; font-weight: 600; line-height: 22px;\">CrashLoopBackOff Pod Status<\/h4>\n<p style=\"color: #454545; font-size: 18px; font-family: Open Sans; font-weight: 400; line-height: 1.7em;\">The CrashLoopBackOff error signals that a pod is repeatedly crashing and then being restarted by Kubernetes. This could be the result of an application error, a misconfiguration, or resource limitations. To diagnose this issue, you can use the <code>kubectl logs<\/code> command for inspecting the logs of the pod. Additionally, the <code>kubectl describe pod<\/code> command can provide information on the pod\u2019s restart history and crash details.<\/p>\n<h3 style=\"color: #002855; font-size: 20px; font-family: Montserrat; font-weight: 500; line-height: 24px;\">Service Issues: Ensuring Correct Selectors and Labels<\/h3>\n<p style=\"color: #454545; font-size: 18px; font-family: Open Sans; font-weight: 400; line-height: 1.7em;\">Kubernetes services are an abstract means of exposing applications that run on a pod set. They serve a crucial role in networking and communication within a cluster. When there are service-related issues, it commonly involves selectors and labels.<\/p>\n<h4 style=\"color: #002855; font-size: 16px; font-family: Open Sans; font-weight: 600; line-height: 22px;\">Selector and Label Mismatch<\/h4>\n<p style=\"color: #454545; font-size: 18px; font-family: Open Sans; font-weight: 400; line-height: 1.7em;\">The most common issue with services is a mismatch between service selectors and pod labels. This prevents the service from identifying the correct pods. To troubleshoot this, you can use the <code>kubectl describe service<\/code> command to check the selectors of the service and then verify that the appropriate pods have matching labels.<\/p>\n<h4 style=\"color: #002855; font-size: 16px; font-family: Open Sans; font-weight: 600; line-height: 22px;\">Missing or Incorrect Endpoints<\/h4>\n<p style=\"color: #454545; font-size: 18px; font-family: Open Sans; font-weight: 400; line-height: 1.7em;\">Another common problem is missing or incorrect endpoints in a service. Endpoints are the IP addresses and ports that the service can route traffic to. If the endpoints are incorrect, the service will not function properly. To diagnose this, you can use the <code>kubectl get endpoints<\/code> command to inspect the endpoints of the service.<\/p>\n<h3 style=\"color: #002855; font-size: 20px; font-family: Montserrat; font-weight: 500; line-height: 24px;\">Node Issues: Node notReady status<\/h3>\n<p style=\"color: #454545; font-size: 18px; font-family: Open Sans; font-weight: 400; line-height: 1.7em;\">Nodes are the worker machines in a Kubernetes cluster where the containers (and therefore, pods) run. When a node goes into a notReady status, it means that the node is not healthy and cannot accept new pods.<\/p>\n<h4 style=\"color: #002855; font-size: 16px; font-family: Open Sans; font-weight: 600; line-height: 22px;\">Inspecting Node Status<\/h4>\n<p style=\"color: #454545; font-size: 18px; font-family: Open Sans; font-weight: 400; line-height: 1.7em;\">To troubleshoot node issues, you can use the <code>kubectl describe node<\/code> command to inspect the node status. This can provide information on the node conditions, such as DiskPressure, MemoryPressure, and Ready status. If the Ready status is False or Unknown, it means the node is not ready to accept pods.<\/p>\n<h4 style=\"color: #002855; font-size: 16px; font-family: Open Sans; font-weight: 600; line-height: 22px;\">Checking Node Logs<\/h4>\n<p style=\"color: #454545; font-size: 18px; font-family: Open Sans; font-weight: 400; line-height: 1.7em;\">Another useful troubleshooting step is to check the logs of the kubelet, which is the primary agent running on each node. The kubelet logs can provide valuable information about the node\u2019s health and the reasons for the notReady status.<\/p>\n<h3 style=\"color: #002855; font-size: 20px; font-family: Montserrat; font-weight: 500; line-height: 24px;\">Configuration Issues: Validating Secrets and ConfigMaps<\/h3>\n<p style=\"color: #454545; font-size: 18px; font-family: Open Sans; font-weight: 400; line-height: 1.7em;\">Secrets and ConfigMaps are two key Kubernetes objects used for managing configuration data. Secrets can store sensitive data, while ConfigMaps store non-sensitive data using key-value pairs. Configuration issues can arise when there are errors in these objects or their usage.<\/p>\n<h4 style=\"color: #002855; font-size: 16px; font-family: Open Sans; font-weight: 600; line-height: 22px;\">Checking ConfigMaps<\/h4>\n<p style=\"color: #454545; font-size: 18px; font-family: Open Sans; font-weight: 400; line-height: 1.7em;\">To troubleshoot ConfigMaps, you can use the <code>kubectl describe configmap<\/code> command to check the details of a ConfigMap. Ensure that the data in the ConfigMap matches the expected configuration. Also, verify that the pods using the ConfigMap are correctly referencing it.<\/p>\n<h4 style=\"color: #002855; font-size: 16px; font-family: Open Sans; font-weight: 600; line-height: 22px;\">Verifying Secrets<\/h4>\n<p style=\"color: #454545; font-size: 18px; font-family: Open Sans; font-weight: 400; line-height: 1.7em;\">For troubleshooting Secrets, the <code>kubectl describe secret<\/code> command can be used to inspect a Secret. While the actual data in a Secret is hidden, you can still check the keys and the usage of the Secret. Make sure that the pods using the Secret are correctly referencing it and have the necessary permissions.<\/p>\n<h2 style=\"color: #002855; font-size: 24px; font-family: Montserrat; font-weight: 500; line-height: 29px;\">Best Practices for Preventing Kubernetes Errors<\/h2>\n<hr style=\"text-align: left; width: 30%; height: 3px; color: #ffa300; background-color: #ffa300; border: none;\"\/>\n<p style=\"color: #454545; font-size: 18px; font-family: Open Sans; font-weight: 400; line-height: 1.7em;\">An ounce of prevention is worth a pound of cure. Let\u2019s see a few ways to proactively prevent errors in your Kubernetes cluster.<\/p>\n<h3 style=\"color: #002855; font-size: 20px; font-family: Montserrat; font-weight: 500; line-height: 24px;\">1. Regularly Monitoring Cluster Health<\/h3>\n<p style=\"color: #454545; font-size: 18px; font-family: Open Sans; font-weight: 400; line-height: 1.7em;\">Regular monitoring of your Kubernetes cluster is essential for maintaining its health and performance. This involves keeping an eye on resource usage, pod status, network activity, and other key metrics.<\/p>\n<p style=\"color: #454545; font-size: 18px; font-family: Open Sans; font-weight: 400; line-height: 1.7em;\">Tools like Prometheus, Grafana, and the Kubernetes Dashboard can provide valuable insights into your cluster\u2019s operation and help you spot potential problems before they become critical. Regular monitoring can also help you optimize your resource allocation, identify performance bottlenecks, and improve the stability and efficiency of your Kubernetes environment.<\/p>\n<h3 style=\"color: #002855; font-size: 20px; font-family: Montserrat; font-weight: 500; line-height: 24px;\">2. Keeping Kubernetes and Related Components Updated<\/h3>\n<p style=\"color: #454545; font-size: 18px; font-family: Open Sans; font-weight: 400; line-height: 1.7em;\">Keeping your Kubernetes cluster and its related components updated is another important preventative measure. Updates often include security patches, bug fixes, performance improvements, and new features that can improve the stability and functionality of the Kubernetes environment.<\/p>\n<p style=\"color: #454545; font-size: 18px; font-family: Open Sans; font-weight: 400; line-height: 1.7em;\">However, updating Kubernetes is not a trivial task. It requires careful planning and testing to ensure that the update doesn\u2019t introduce new issues or disrupt your applications. It\u2019s also important to keep track of Kubernetes\u2019 release schedule and support policy to ensure your cluster remains supported and secure.<\/p>\n<h3 style=\"color: #002855; font-size: 20px; font-family: Montserrat; font-weight: 500; line-height: 24px;\">3. Implementing Resource Quotas and Limits<\/h3>\n<p style=\"color: #454545; font-size: 18px; font-family: Open Sans; font-weight: 400; line-height: 1.7em;\">Resource quotas and limits are a powerful tool for managing your Kubernetes resources and preventing problems. They allow you to specify the maximum amount of resources that a namespace or pod can consume, preventing resource starvation and ensuring fair resource allocation.<\/p>\n<p style=\"color: #454545; font-size: 18px; font-family: Open Sans; font-weight: 400; line-height: 1.7em;\">By implementing resource quotas and limits, you can prevent a single application or user from monopolizing your cluster\u2019s resources and causing performance issues. They also provide a mechanism for controlling costs in a multi-tenant environment and ensuring that each tenant gets their fair share of resources.<\/p>\n<h3 style=\"color: #002855; font-size: 20px; font-family: Montserrat; font-weight: 500; line-height: 24px;\">4. Configuration Management<\/h3>\n<p style=\"color: #454545; font-size: 18px; font-family: Open Sans; font-weight: 400; line-height: 1.7em;\">Configuration is the backbone of every Kubernetes cluster. A small misstep in configuration can lead to a cascade of errors. Therefore, it\u2019s vital to manage your configurations correctly.<\/p>\n<p style=\"color: #454545; font-size: 18px; font-family: Open Sans; font-weight: 400; line-height: 1.7em;\">One tip is to use Kubernetes\u2019 built-in validation features. For instance, use <code>kubectl apply --dry-run<\/code> to check your configurations before applying them. This command parses your configuration files and checks for syntax errors without actually applying the changes.<\/p>\n<p style=\"color: #454545; font-size: 18px; font-family: Open Sans; font-weight: 400; line-height: 1.7em;\">In addition, always use version control for your configuration files. Storing your configurations in a version-controlled repository ensures you can easily track changes, identify when errors were introduced, and rollback when necessary. This approach to Kubernetes cluster management is known as GitOps.<\/p>\n<h3 style=\"color: #002855; font-size: 20px; font-family: Montserrat; font-weight: 500; line-height: 24px;\">5. Backup and Disaster Recovery<\/h3>\n<p style=\"color: #454545; font-size: 18px; font-family: Open Sans; font-weight: 400; line-height: 1.7em;\">Backup and disaster recovery are crucial to any Kubernetes strategy. They ensure that your system can quickly recover in case of a failure or error.<\/p>\n<p style=\"color: #454545; font-size: 18px; font-family: Open Sans; font-weight: 400; line-height: 1.7em;\">To plan your disaster recovery strategy, you need to understand your Recovery Time Objective (RTO) and Recovery Point Objective (RPO). These metrics define how quickly you need to recover your system and how much data you can afford to lose in a disaster, respectively.<\/p>\n<p style=\"color: #454545; font-size: 18px; font-family: Open Sans; font-weight: 400; line-height: 1.7em;\">One strategy is backing up application data and Kubernetes configurations. Open source tools like Velero can automate this process, backing up both your Kubernetes objects and persistent volumes.<\/p>\n<p style=\"color: #454545; font-size: 18px; font-family: Open Sans; font-weight: 400; line-height: 1.7em;\">Another strategy involves using cloud provider high availability features. For example, by running all Kubernetes nodes across multiple availability zones (AZs) or regions, you can ensure your Kubernetes infrastructure is resilient to failure.<\/p>\n<h2 style=\"color: #002855; font-size: 24px; font-family: Montserrat; font-weight: 500; line-height: 29px;\">Conclusion<\/h2>\n<hr style=\"text-align: left; width: 30%; height: 3px; color: #ffa300; background-color: #ffa300; border: none;\"\/>\n<p style=\"color: #454545; font-size: 18px; font-family: Open Sans; font-weight: 400; line-height: 1.7em;\">In conclusion, Kubernetes troubleshooting is a complex but crucial skill for any DevOps professional. By understanding how to gather diagnostic information, recognizing potential problems before they become critical, and implementing best practices for preventative measures, you can maintain a stable and efficient Kubernetes environment. It\u2019s not always easy, but with the right knowledge and tools, you can unravel the complexity of Kubernetes troubleshooting and keep your clusters running smoothly.<\/p>\n<p>\u00a0<\/p>\n<div style=\"background-color: #d4f1f4; padding: 15px 15px 10px 15px;\">\n<p style=\"color: #454545; font-size: 18px; line-height: 1.7em;\"><strong>Disclaimer:<\/strong> The author is completely responsible for the content of this article. The opinions expressed are their own and do not represent IEEE\u2019s position nor that of the Computer Society nor its Leadership.<\/p>\n<\/div><\/div>\n<p>[ad_2]<br \/>\n<br \/><a href=\"https:\/\/www.computer.org\/publications\/tech-news\/trends\/kubernetes-troubleshooting-guide\/\">Source link <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] What Is Kubernetes Troubleshooting? With the growing popularity of containerization and microservices, Kubernetes has emerged as a leading orchestration&hellip;<\/p>\n","protected":false},"author":1,"featured_media":844,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-843","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tech-news-post"],"_links":{"self":[{"href":"https:\/\/pc-keeper.tech\/index.php\/wp-json\/wp\/v2\/posts\/843","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pc-keeper.tech\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pc-keeper.tech\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pc-keeper.tech\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pc-keeper.tech\/index.php\/wp-json\/wp\/v2\/comments?post=843"}],"version-history":[{"count":0,"href":"https:\/\/pc-keeper.tech\/index.php\/wp-json\/wp\/v2\/posts\/843\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/pc-keeper.tech\/index.php\/wp-json\/wp\/v2\/media\/844"}],"wp:attachment":[{"href":"https:\/\/pc-keeper.tech\/index.php\/wp-json\/wp\/v2\/media?parent=843"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pc-keeper.tech\/index.php\/wp-json\/wp\/v2\/categories?post=843"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pc-keeper.tech\/index.php\/wp-json\/wp\/v2\/tags?post=843"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}