{"id":4962,"date":"2020-04-15T08:00:18","date_gmt":"2020-04-15T02:30:18","guid":{"rendered":"https:\/\/www.upnxtblog.com\/?p=4962"},"modified":"2022-02-23T17:58:35","modified_gmt":"2022-02-23T12:28:35","slug":"what-are-the-key-kubernetes-metrics-that-you-have-to-monitor","status":"publish","type":"post","link":"https:\/\/www.upnxtblog.com\/index.php\/2020\/04\/15\/what-are-the-key-kubernetes-metrics-that-you-have-to-monitor\/","title":{"rendered":"What are the key Kubernetes metrics that you have to monitor ?"},"content":{"rendered":"<div class='booster-block booster-read-block'><\/div><p>We have already looked at <a href=\"https:\/\/www.upnxtblog.com\/index.php\/2018\/11\/12\/10-best-kubernetes-monitoring-tools\/\">BEST Kubernetes monitoring tools,<\/a> with the increasing adoption of containers and <a href=\"https:\/\/www.upnxtblog.com\/index.php\/2017\/12\/11\/top-20-microservices-design-patterns\/\">microservices<\/a> in the enterprises, monitoring utilities have to handle more services and server instances than ever before. Kubernetes environments vary from deployment to deployment, but they generally have a handful of key components, resources, and potential errors in common. Currently, the Kubernetes ecosystem provides two add-ons for aggregating and reporting monitoring data from your cluster: <strong>(1) Metrics Server and (2) kube-state-metrics.<\/strong><\/p>\n<p><strong><a href=\"https:\/\/github.com\/kubernetes\/community\/blob\/master\/contributors\/design-proposals\/instrumentation\/metrics-server.md\" target=\"_blank\" rel=\"noopener\">Metrics Server<\/a>\u00a0<\/strong>is a cluster add-on that collects resource usage data from each node and provides aggregated metrics through\u00a0<a href=\"https:\/\/github.com\/kubernetes\/metrics\" target=\"_blank\" rel=\"noopener\">the Metrics API<\/a>. <span style=\"font-family: inherit; font-style: inherit; font-weight: inherit;\">Metrics Server makes resource metrics such as CPU and memory available for users to query, as well as for the Kubernetes\u00a0<\/span>Horizontal Pod Autoscaler<span style=\"font-family: inherit; font-style: inherit; font-weight: inherit;\">\u00a0to use for auto-scaling workloads.<\/span><\/p>\n<p>In addition to monitoring the CPU and memory usage of cluster nodes and pods, you will also need a way to collect metrics tracking the high-level status of the cluster and its constituent objects. Kubernetes API server exposes data about the count, health, and availability of pods, nodes, and other Kubernetes objects. By installing the <a href=\"https:\/\/github.com\/kubernetes\/kube-state-metrics\" target=\"_blank\" rel=\"noopener\">kube-state-metrics<\/a> add-on in your cluster, you can consume these metrics to detect and resolve issues with cluster infrastructure, resource constraints, or pod scheduling.<\/p>\n<p><strong>kube-state-metrics<\/strong>\u00a0service provides additional cluster information that Metrics Server does not. Metrics Server exposes statistics about the\u00a0<em>resource utilization<\/em>\u00a0of Kubernetes objects, whereas kube-state-metrics listens to the Kubernetes API and generates metrics about the\u00a0<em>state<\/em>\u00a0of Kubernetes objects: node status, node capacity (CPU and memory), number of desired\/available\/unavailable\/updated replicas per Deployment, pod status (e.g., waiting, running, ready), and so on.<\/p>\n<p>In this post, we are going to look at what are the key metrics and alerts that are required to monitor your Kubernetes cluster.<\/p>\n<p>At a high level, below are the key metrics to monitor<\/p>\n<ol>\n<li>Cluster state metrics<\/li>\n<li>Resource metrics<\/li>\n<li>Control plane metrics<\/li>\n<li>Kubernetes events<\/li>\n<\/ol>\n<h2 id=\"key-kubernetes-performance-metrics-to-monitor\">Key Kubernetes metrics to monitor<\/h2>\n<table style=\"border-collapse: collapse; width: 100%; height: 3322px;\">\n<tbody>\n<tr style=\"height: 27px;\">\n<td style=\"width: 33.3333%; height: 27px;\"><strong>What to monitor?<\/strong><\/td>\n<td style=\"width: 33.3333%; height: 27px;\"><strong>\u00a0Metrics to monitor\u00a0<\/strong><\/td>\n<td style=\"width: 16.6667%; height: 27px;\"><strong>\u00a0Alert Criteria<\/strong><\/td>\n<\/tr>\n<tr style=\"height: 299px;\">\n<td style=\"width: 33.3333%; height: 299px;\"><strong>Cluster state<\/strong><\/td>\n<td style=\"width: 33.3333%; height: 299px;\">Monitor the aggregated resources usage across all nodes in your cluster.<\/p>\n<ul>\n<li>Node status<\/li>\n<li>Desired pods<\/li>\n<li>Current pods<\/li>\n<li>Available pods<\/li>\n<li>Unavailable pods<\/li>\n<\/ul>\n<\/td>\n<td style=\"width: 16.6667%; height: 299px;\">\n<ul>\n<li>Node status<\/li>\n<li>Desired vs. current pods<\/li>\n<li>Available and unavailable pods<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr style=\"height: 697px;\">\n<td style=\"width: 33.3333%; height: 697px;\"><strong>Node resources<\/strong><\/td>\n<td style=\"width: 33.3333%; height: 697px;\">For each of the node monitor :<\/p>\n<ul>\n<li>Memory requests<\/li>\n<li>Memory limits<\/li>\n<li>Allocatable memory<\/li>\n<li>Memory utilization<\/li>\n<li>CPU requests<\/li>\n<li>CPU limits<\/li>\n<li>Allocatable CPU<\/li>\n<li>CPU utilization<\/li>\n<li>Disk utilization<\/li>\n<\/ul>\n<\/td>\n<td style=\"width: 16.6667%; height: 697px;\">If the node\u2019s CPU or memory usage drops below a desired threshold.<\/p>\n<ul>\n<li>Memory limits per pod vs. memory utilization per pod<\/li>\n<li>Memory utilization<\/li>\n<li>Memory requests per node vs. allocatable memory per node<\/li>\n<li>Disk utilization<\/li>\n<li>CPU requests per node vs. allocatable CPU per node<\/li>\n<li>CPU limits per pod vs. CPU utilization per pod<\/li>\n<li>CPU utilization<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr style=\"height: 189px;\">\n<td style=\"width: 33.3333%; height: 189px;\"><strong>Missing pod<\/strong><\/td>\n<td style=\"width: 33.3333%; height: 189px;\">Health and availability of your pod deployments.<\/p>\n<ul>\n<li>Available pods<\/li>\n<li>Unavailable pods<\/li>\n<\/ul>\n<\/td>\n<td style=\"width: 16.6667%; height: 189px;\">If the number of available pods for a deployment falls below the number of pods you specified when you created the deployment.<\/td>\n<\/tr>\n<tr style=\"height: 205px;\">\n<td style=\"width: 33.3333%; height: 205px;\"><strong>Pods that are not running<\/strong><\/td>\n<td style=\"width: 33.3333%; height: 205px;\">If a pod isn\u2019t running or even scheduled, there could be an issue with either the pod or the cluster, or with your entire Kubernetes deployment.<\/p>\n<ul>\n<li>Pod status<\/li>\n<\/ul>\n<\/td>\n<td style=\"width: 16.6667%; height: 205px;\">Alerts should be based on the status of your pods (\u201cFailed,\u201d \u201dPending,\u201d or \u201cUnknown\u201d for the period of time you specify)<\/td>\n<\/tr>\n<tr style=\"height: 243px;\">\n<td style=\"width: 33.3333%; height: 243px;\"><strong>Container restarts<\/strong><\/td>\n<td style=\"width: 33.3333%; height: 243px;\">Container restarts could happen when you&#8217;re hitting a memory limit (ex.Out of Memory kills) in your containers.<\/p>\n<p>Also, there could be an issue with either the container itself or its host.<\/td>\n<td style=\"width: 16.6667%; height: 243px;\">Kubernetes automatically restarts containers,\u00a0 but setting up an alert will give you an immediate notification later you can analyze and set the proper limits<\/td>\n<\/tr>\n<tr style=\"height: 135px;\">\n<td style=\"width: 33.3333%; height: 135px;\"><strong>Container resource usage<\/strong><\/td>\n<td style=\"width: 33.3333%; height: 135px;\">Monitor container resource usage for containers in case you&#8217;re hitting resource limits, spikes in resource consumption,<\/td>\n<td style=\"width: 16.6667%; height: 135px;\">\u00a0Alerts to check if container CPU and memory usage and on limits are based on thresholds.<\/td>\n<\/tr>\n<tr style=\"height: 421px;\">\n<td style=\"width: 33.3333%; height: 421px;\"><strong>Storage volumes<\/strong><\/td>\n<td style=\"width: 33.3333%; height: 421px;\">Monitor storage to<\/p>\n<ul>\n<li>Ensure your application has enough disk space so pods don\u2019t run out of space.<\/li>\n<li>Volume usage and adjust either the amount of data generated by the application or the size of the volume according to usage.<\/li>\n<\/ul>\n<\/td>\n<td style=\"width: 16.6667%; height: 421px;\">Alerts to check if available bytes, capacity crosses your thresholds.<\/p>\n<p>Identify persistent volumes and apply a different alert threshold or notification for these volumes, which likely hold important application data.<\/td>\n<\/tr>\n<tr style=\"height: 225px;\">\n<td style=\"width: 33.3333%; height: 225px;\"><strong>Control Plane &#8211; Etcd<\/strong><\/td>\n<td style=\"width: 33.3333%; height: 225px;\">Monitor etcd for the below parameters:<\/p>\n<ul>\n<li>Leader existence and change rate<\/li>\n<li>Committed, applied, pending, and failed proposals.<\/li>\n<li>gRPC performance.<\/li>\n<\/ul>\n<\/td>\n<td style=\"width: 16.6667%; height: 225px;\">Alerts to check if any pending or failed proposals or reach inappropriate thresholds.<\/td>\n<\/tr>\n<tr style=\"height: 188px;\">\n<td style=\"width: 33.3333%; height: 188px;\"><strong>Control Plane &#8211; API Server<\/strong><\/td>\n<td style=\"width: 33.3333%; height: 188px;\">Monitor the API server for below parameters :<\/p>\n<ul>\n<li>Rate \/ number of HTTP requests<\/li>\n<li>Rate\/number of apiserver requests<\/li>\n<\/ul>\n<\/td>\n<td style=\"width: 16.6667%; height: 188px;\">Alerts to check if the rate or number of HTTP requests crosses a desired threshold.<\/td>\n<\/tr>\n<tr style=\"height: 316px;\">\n<td style=\"width: 33.3333%; height: 316px;\"><strong>Control Plane &#8211; Scheduler<\/strong><\/td>\n<td style=\"width: 33.3333%; height: 316px;\">Monitor the scheduler for the below parameters<\/p>\n<ul>\n<li>Rate, number, and latency of HTTP requests.<\/li>\n<li>Scheduling latency.<\/li>\n<li>Scheduling attempts by result.<\/li>\n<li>End-to-end scheduling latency (sum of scheduling).<\/li>\n<\/ul>\n<\/td>\n<td style=\"width: 16.6667%; height: 316px;\">Alerts to check if the rate or number of HTTP requests crosses a desired threshold.<\/td>\n<\/tr>\n<tr style=\"height: 215px;\">\n<td style=\"width: 33.3333%; height: 215px;\"><strong>Control Plane &#8211; Controller Manager<\/strong><\/td>\n<td style=\"width: 33.3333%; height: 215px;\">Monitor the scheduler for the below parameters:<\/p>\n<ul>\n<li>Work queue depth<\/li>\n<li>Number of retries handled by the work queue<\/li>\n<\/ul>\n<\/td>\n<td style=\"width: 16.6667%; height: 215px;\">Alerts to check if requests to the work queue exceed a maximum threshold.<\/td>\n<\/tr>\n<tr style=\"height: 162px;\">\n<td style=\"width: 33.3333%; height: 162px;\"><strong>Kubernetes events<\/strong><\/td>\n<td style=\"width: 33.3333%; height: 162px;\">Collecting events from Kubernetes and from the container engine (such as Docker) allows you to see how pod creation, destruction, starting, or stopping affects the performance of your infrastructure.<\/td>\n<td style=\"width: 16.6667%; height: 162px;\">Any failure or exception should need to be alerted.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>I hope, I have covered key metrics and alerts that are required to monitor your Kubernetes cluster. Also If I have missed out on any of the key metrics, do let me know.<\/p>\n<p><em><strong>Like this post? Don\u2019t forget to share it!<\/strong><\/em><\/p>\n<h2>Useful Resources<\/h2>\n<ul>\n<li><a href=\"https:\/\/www.upnxtblog.com\/index.php\/2019\/03\/05\/monitoring-docker-containers-using-prometheus-cadvisor-grafana\/\">Monitoring Docker containers using Prometheus + cAdvisor + Grafana<\/a><\/li>\n<li><a href=\"https:\/\/www.upnxtblog.com\/index.php\/2019\/12\/16\/how-to-back-up-and-restore-your-kubernetes-cluster-resources-and-persistent-volumes\/\">How to back up and restore your Kubernetes cluster resources and persistent volumes?<\/a><\/li>\n<li><a href=\"https:\/\/www.upnxtblog.com\/index.php\/2019\/12\/09\/implementing-policies-in-kubernetes\/\">Implementing Policies in Kubernetes<\/a><\/li>\n<li><a href=\"https:\/\/www.upnxtblog.com\/index.php\/2018\/11\/12\/10-best-kubernetes-monitoring-tools\/\">10 BEST Kubernetes monitoring tools<\/a><\/li>\n<li><a href=\"https:\/\/www.upnxtblog.com\/index.php\/2019\/08\/14\/google-cloud-courses-collection\/\">Google Cloud Courses Collection<\/a><\/li>\n<li><a href=\"https:\/\/www.upnxtblog.com\/index.php\/2019\/08\/23\/most-popular-courses-of-2019\/\">Most Popular courses of 2019<\/a><\/li>\n<li><a href=\"https:\/\/www.upnxtblog.com\/index.php\/2019\/07\/11\/ultimate-guide-to-coursera-specializations-that-will-make-your-career-better-over-100-specializations-covered\/\">ULTIMATE GUIDE to Coursera Specializations That Will Make Your Career Better (Over 100+ Specializations covered)<\/a><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We have already looked at BEST Kubernetes monitoring tools, with the increasing adoption of containers and microservices in the enterprises, monitoring utilities have to handle more services and server instances than ever before. Kubernetes environments vary from deployment to deployment, but they generally have a handful of key components, resources, and potential errors in common. [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":1031,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"nf_dc_page":"","_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[311],"tags":[149,402],"class_list":["post-4962","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-kubernetes","tag-kubernetes","tag-metrics"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2017\/11\/kubernetes.jpg?fit=722%2C612&ssl=1","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9fbQS-1i2","jetpack-related-posts":[{"id":3093,"url":"https:\/\/www.upnxtblog.com\/index.php\/2018\/11\/12\/10-best-kubernetes-monitoring-tools\/","url_meta":{"origin":4962,"position":0},"title":"10 BEST Kubernetes monitoring tools","author":"Karthik","date":"November 12, 2018","format":false,"excerpt":"Kubernetes is a production-ready, open-source platform designed with Google's accumulated experience in container orchestration, combined with best-of-breed ideas from the community. It is designed to automate deploying, scaling, and operating application containers. With the increasing adoption of containers and microservices in enterprises, monitoring utilities have to handle more services and\u2026","rel":"","context":"In &quot;Kubernetes Guides&quot;","block_context":{"text":"Kubernetes Guides","link":"https:\/\/www.upnxtblog.com\/index.php\/category\/kubernetes\/"},"img":{"alt_text":"kubernetes logo","src":"https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2017\/11\/kubernetes.jpg?fit=722%2C612&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2017\/11\/kubernetes.jpg?fit=722%2C612&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2017\/11\/kubernetes.jpg?fit=722%2C612&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2017\/11\/kubernetes.jpg?fit=722%2C612&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":5757,"url":"https:\/\/www.upnxtblog.com\/index.php\/2020\/10\/13\/10-best-practices-worth-implementing-to-adopt-kubernetes\/","url_meta":{"origin":4962,"position":1},"title":"Kubernetes Adoption in 2024: Key Statistics","author":"Karthik","date":"October 13, 2020","format":false,"excerpt":"We already know that\u00a0Kubernetes is the No. 1 orchestration platform for container-based applications, automating the deployment and scaling of these apps, and streamlining maintenance operations. However, Kubernetes comes with its own complexity challenges. So how can an enterprise take advantage of containerization to tackle complexity and not end up with\u2026","rel":"","context":"In &quot;Kubernetes Guides&quot;","block_context":{"text":"Kubernetes Guides","link":"https:\/\/www.upnxtblog.com\/index.php\/category\/kubernetes\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2020\/10\/Big-Idea.jpg?fit=770%2C330&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2020\/10\/Big-Idea.jpg?fit=770%2C330&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2020\/10\/Big-Idea.jpg?fit=770%2C330&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2020\/10\/Big-Idea.jpg?fit=770%2C330&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":3686,"url":"https:\/\/www.upnxtblog.com\/index.php\/2019\/04\/29\/prometheus-vs-weavescope-vs-datadog-vs-sysdig-monitoring-tools-compared\/","url_meta":{"origin":4962,"position":2},"title":"Prometheus vs WeaveScope vs DataDog vs Sysdig monitoring tools compared","author":"Karthik","date":"April 29, 2019","format":false,"excerpt":"With the increasing adoption of containers and microservices in the enterprises, monitoring utilities now have to handle more services and server instances than ever before. Although infrastructure landscape has changed, operations teams still need to monitor the same metrics on CPU, RAM, File System, Network utilization, and the availability of\u2026","rel":"","context":"In &quot;Kubernetes Guides&quot;","block_context":{"text":"Kubernetes Guides","link":"https:\/\/www.upnxtblog.com\/index.php\/category\/kubernetes\/"},"img":{"alt_text":"kubernetes logo","src":"https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2017\/11\/kubernetes.jpg?fit=722%2C612&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2017\/11\/kubernetes.jpg?fit=722%2C612&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2017\/11\/kubernetes.jpg?fit=722%2C612&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2017\/11\/kubernetes.jpg?fit=722%2C612&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":3113,"url":"https:\/\/www.upnxtblog.com\/index.php\/2018\/12\/17\/what-is-service-mesh-why-do-we-need-it-linkered-tutorial\/","url_meta":{"origin":4962,"position":3},"title":"What is Service Mesh &#038; why do we need it? + Linkered Tutorial","author":"Karthik","date":"December 17, 2018","format":false,"excerpt":"In the Microservice ecosystem, usually cross-cutting concerns such as service discovery, service-to-service, and origin-to-service security, observability and resiliency, etc., are deployed via shared assets such as an API gateway or ESB. As microservice grows in size and complexity, it can become harder to understand and manage. The service mesh technique\u2026","rel":"","context":"In &quot;Kubernetes Guides&quot;","block_context":{"text":"Kubernetes Guides","link":"https:\/\/www.upnxtblog.com\/index.php\/category\/kubernetes\/"},"img":{"alt_text":"Side Car Pattern","src":"https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2018\/11\/SideCar.png?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":3075,"url":"https:\/\/www.upnxtblog.com\/index.php\/2018\/10\/31\/weave-scope-introduction-kubernetes-tutorial\/","url_meta":{"origin":4962,"position":4},"title":"Weave Scope Introduction + Kubernetes tutorial","author":"Karthik","date":"October 31, 2018","format":false,"excerpt":"Introduction Weave Scope is a visualization, and monitoring tool for Docker and Kubernetes.For Microservices-based architecture,Weave scope would be useful in visualizing network bottlenecks, troubleshooting CPU consumption and troubleshooting memory leaks.It provides a top down view into your app as well as your entire infrastructure, and allows you to diagnose any\u2026","rel":"","context":"In &quot;Kubernetes Guides&quot;","block_context":{"text":"Kubernetes Guides","link":"https:\/\/www.upnxtblog.com\/index.php\/category\/kubernetes\/"},"img":{"alt_text":"WeaveScope \/ Source - Weave Works","src":"https:\/\/i0.wp.com\/www.weave.works\/docs\/scope\/latest\/images\/microservices-under-control.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.weave.works\/docs\/scope\/latest\/images\/microservices-under-control.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.weave.works\/docs\/scope\/latest\/images\/microservices-under-control.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.weave.works\/docs\/scope\/latest\/images\/microservices-under-control.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":2613,"url":"https:\/\/www.upnxtblog.com\/index.php\/2018\/07\/16\/kubernetes-tutorial-distributed-tracing-with-jaeger\/","url_meta":{"origin":4962,"position":5},"title":"Kubernetes Tutorial : Distributed tracing with Jaeger","author":"Karthik","date":"July 16, 2018","format":false,"excerpt":"Jaeger is an open-source distributed tracing system by Uber Technologies. Like Dapper or Zipkin, it is used for monitoring and troubleshooting microservices-based distributed systems. In this post, we are going to look at how to deploy Jaeger to the Kubernetes cluster. This quickstart assumes a basic understanding of Kubernetes concepts,\u2026","rel":"","context":"In &quot;Kubernetes Guides&quot;","block_context":{"text":"Kubernetes Guides","link":"https:\/\/www.upnxtblog.com\/index.php\/category\/kubernetes\/"},"img":{"alt_text":"kubernetes logo","src":"https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2017\/11\/kubernetes.jpg?fit=722%2C612&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2017\/11\/kubernetes.jpg?fit=722%2C612&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2017\/11\/kubernetes.jpg?fit=722%2C612&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.upnxtblog.com\/wp-content\/uploads\/2017\/11\/kubernetes.jpg?fit=722%2C612&ssl=1&resize=700%2C400 2x"},"classes":[]}],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.upnxtblog.com\/index.php\/wp-json\/wp\/v2\/posts\/4962","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.upnxtblog.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.upnxtblog.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.upnxtblog.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.upnxtblog.com\/index.php\/wp-json\/wp\/v2\/comments?post=4962"}],"version-history":[{"count":3,"href":"https:\/\/www.upnxtblog.com\/index.php\/wp-json\/wp\/v2\/posts\/4962\/revisions"}],"predecessor-version":[{"id":6764,"href":"https:\/\/www.upnxtblog.com\/index.php\/wp-json\/wp\/v2\/posts\/4962\/revisions\/6764"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.upnxtblog.com\/index.php\/wp-json\/wp\/v2\/media\/1031"}],"wp:attachment":[{"href":"https:\/\/www.upnxtblog.com\/index.php\/wp-json\/wp\/v2\/media?parent=4962"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.upnxtblog.com\/index.php\/wp-json\/wp\/v2\/categories?post=4962"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.upnxtblog.com\/index.php\/wp-json\/wp\/v2\/tags?post=4962"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}