{"id":80488,"date":"2021-12-13T03:46:22","date_gmt":"2021-12-13T09:16:22","guid":{"rendered":"https:\/\/www.whizlabs.com\/blog\/?p=80488"},"modified":"2022-01-06T23:21:38","modified_gmt":"2022-01-07T04:51:38","slug":"readiness-and-liveness-probes-in-kubernete","status":"publish","type":"post","link":"https:\/\/www.whizlabs.com\/blog\/readiness-and-liveness-probes-in-kubernete\/","title":{"rendered":"Readiness and Liveness Probes in Kubernetes"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">Whizlabs, on 25 November 2021, conducted a well organised webinar on \u2018Readiness and Liveness Probes in Kubernetes\u2019 with Mr. Abhishek Dubey.<\/span><\/p>\n<p><a href=\"https:\/\/www.linkedin.com\/in\/abhishek-dubey-09b43ab6\/\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">Abhishek Dubey<\/span><\/a><span style=\"font-weight: 400;\"> works as a Senior DevOps Consultant at <\/span><a href=\"https:\/\/www.opstree.com\/\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">OpsTree Solutions<\/span><\/a><span style=\"font-weight: 400;\">. He is a developer and does DevOps training and webinars explaining the concepts in detail. He has been working on multiple open source projects like Kubernetes, Operator Framework for 5 years. He is also one of the GitHub code owners of Prometheus community Helm charts and Operator Framework.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">What follows below is his outlook towards Kubernetes and its applications.<\/span><\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_76 ez-toc-wrap-left counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #ea7e02;color:#ea7e02\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #ea7e02;color:#ea7e02\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.whizlabs.com\/blog\/readiness-and-liveness-probes-in-kubernete\/#What_are_Probes\" >What are Probes?<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.whizlabs.com\/blog\/readiness-and-liveness-probes-in-kubernete\/#Lifecycle_of_Container_inside_Kubernetes_Pod\" >Lifecycle of Container inside Kubernetes Pod<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.whizlabs.com\/blog\/readiness-and-liveness-probes-in-kubernete\/#Why_are_Probes_important\" >Why are Probes important?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.whizlabs.com\/blog\/readiness-and-liveness-probes-in-kubernete\/#Concept_of_Readiness_Probes\" >Concept of Readiness Probes<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.whizlabs.com\/blog\/readiness-and-liveness-probes-in-kubernete\/#Concept_of_Liveness_Probes\" >Concept of Liveness Probes<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.whizlabs.com\/blog\/readiness-and-liveness-probes-in-kubernete\/#Importance_of_Probes_in_Kubernetes_Deployment_Strategies\" >Importance of Probes in Kubernetes Deployment Strategies<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"What_are_Probes\"><\/span><b>What are Probes?<\/b><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><img decoding=\"async\" class=\" wp-image-80395 aligncenter\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Kubernetes-Health.png\" alt=\"Kubernetes Health\" width=\"610\" height=\"305\" \/><\/p>\n<p><span style=\"font-weight: 400;\">\u2018Probes\u2019 is the process of checking the health of a Kubernetes-based application, container or pod to see if it is working fine and receiving traffic.<\/span><\/p>\n<p><span style=\"font-weight: 400;\"> It has been designed to check the readiness and responsive status of the application and to check if the application is ready to serve the traffic.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">For instance, if the application is under a deadlock state, what needs to be done is to restart the application.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">This can be achieved by using Probes inside Kubernetes.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">There exist two cases:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">First, when the application is running.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Second, the application is performing on the logic that it has been designed for.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">For instance, an application is running, but it is not functioning because it has some dependency that is not being fulfilled. It means the actual business logic of the application is not working.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">In a general scenario, the application can have two types of failures, be it a Container-Native environment or a Non-Container environment:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>The application is initialising<\/b><span style=\"font-weight: 400;\">: The application is started, but it is not able to serve the traffic. But if you still send the traffic to the application when it is in the initial stage, that traffic will fail completely. So, when the application is initialising, you must not send the traffic.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>The application is live:<\/b><span style=\"font-weight: 400;\"> The application has not crashed and it is running fine but it is not ready to serve the traffic due to some dependency. For instance, there are some deadlocks like the database connection is not working. So, when you send traffic to that application, it will not process any kind of request and will stop responding.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">In this case, we can restart the application.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Kubernetes solve these problems with the help of \u2018Probes\u2019.<\/span><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Lifecycle_of_Container_inside_Kubernetes_Pod\"><\/span><b>Lifecycle of Container inside Kubernetes Pod<\/b><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><img decoding=\"async\" class=\" wp-image-80396 aligncenter\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Kubernetes-Health-Pod-300x169.png\" alt=\"Kubernetes Health Pod\" width=\"672\" height=\"378\" srcset=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Kubernetes-Health-Pod-300x169.png 300w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Kubernetes-Health-Pod.png 512w\" sizes=\"(max-width: 672px) 100vw, 672px\" \/><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Why_are_Probes_important\"><\/span><b>Why are Probes important?<\/b><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><img decoding=\"async\" class=\" wp-image-80397 aligncenter\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Importance-of-Probes-300x169.png\" alt=\"Importance of Probes\" width=\"620\" height=\"349\" srcset=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Importance-of-Probes-300x169.png 300w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Importance-of-Probes.png 512w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Suppose there are two containers Pod A and Pod B, containing two different applications.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">For Pod A, the container state is running which means the application process is running but the app is not started yet. For instance, it is doing a database initialisation or populating it or migrating something into the database, but the process is running.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">So, should we send the traffic to it?<\/span><\/p>\n<p><span style=\"font-weight: 400;\">If we send any kind of traffic to it while it is in the initialisation stage, the application will fail.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">So, we have to put some checks that are Readiness Probe and Liveness Probe: <\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">If its status is failed and not checked, this implies that the application is not healthy, the process is running but it is not ready to serve the request. Kubernetes will not send the traffic to this application.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Else if the status for both of them is a success, Kubernetes will send the traffic to it.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">In a distributed application setup, there exist multiple applications, and one of them is dependent on another. If that application is not working then the main application will also not work. What you need to do for the resolution is restart your application, which means if it is not possible to make a live connection, the process should be restarted for another trial.<\/span><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Concept_of_Readiness_Probes\"><\/span><b>Concept of Readiness Probes<\/b><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><img decoding=\"async\" class=\" wp-image-80398 aligncenter\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Readiness-Probes-300x300.gif\" alt=\"Readiness Probes\" width=\"431\" height=\"431\" srcset=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Readiness-Probes-300x300.gif 300w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Readiness-Probes-150x150.gif 150w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Readiness-Probes-250x250.gif 250w\" sizes=\"(max-width: 431px) 100vw, 431px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Kubernetes makes use of the readiness probe to determine if the application is ready to serve the requests.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">A Pod is ready when the containers are ready. When the application starts, there could be some ongoing initialisation tasks, for instance, Database population. So, when the initialisation is completed only then can the application accept the traffic.<\/span><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Concept_of_Liveness_Probes\"><\/span><b>Concept of Liveness Probes<\/b><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Kubernetes checks if the process is still in execution state. <img decoding=\"async\" class=\" wp-image-80401 aligncenter\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Liveness-Probes-2-300x300.gif\" alt=\"Liveness Probes\" width=\"306\" height=\"306\" srcset=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Liveness-Probes-2-300x300.gif 300w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Liveness-Probes-2-150x150.gif 150w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Liveness-Probes-2-250x250.gif 250w\" sizes=\"(max-width: 306px) 100vw, 306px\" \/><\/span>But what if the application is not ready to serve the traffic?<\/p>\n<p><span style=\"font-weight: 400;\">Suppose there are two pods, and one of them is serving traffic, while the other gets stuck in the Deadlock state because it is not able to connect with the dependent application. Then some requests will succeed because they will go to Pod1, while other ones will fail because they will go to Pod2. In this case, if Kubernetes is not able to determine that the other one is not working, some of the users will get success as a response, while some of them will receive failure as an answer.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">So, in the Liveness Probe, you can check if the application is running but whether it is fulfilling the business need or not.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">For example, the application process is running, but the dependent application is not running, which implies that the main application is not able to connect to the dependent application, resulting in the main application not being ready to serve the traffic.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">So, in this case, based on the status of the Liveness Probe, the Kubernetes will restart the container.<\/span><\/p>\n<p><b>Types of Probes inside Kubernetes<\/b><\/p>\n<ol>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Command Probe:<\/b><span style=\"font-weight: 400;\"> For example, you are deploying a MySQL based application inside the Kubernetes Cluster and the port check is successful but the application is still not responding because some table on the database is still missing. So, here the TCP\/IP probe will not work. Here you will use the command probe using a Shell script where you can simply ask to execute the MySQL command and check if the database exists or not. On the basis of this, you can provide an exit code where an exit code of \u20180\u2019 means success otherwise failure.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>HTTP Probe:<\/b><span style=\"font-weight: 400;\"> In this probe, we define a Port no. along with the URL. For example, the user makes a request on port 80 on \/health url, and if he is getting a 200 user code, which is a healthy user code, it will pass the probe. But if the status code is some 502 or 404, then it means that the application is not responding and it needs to be restarted because it is not ready to serve the traffic. <\/span>So, here we get to know if the application is ready to serve the traffic or it needs a restart.<\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>TCP\/IP Probe: <\/b><span style=\"font-weight: 400;\">TCP\/IP port checks if the port is listening. For example, if you have a 4 layer application, a MySQL, or a mongoDB and you don\u2019t have the layer 7 capability, you cannot make an HTTP request then you have to check for the port it is using. So, you will use telnet to see if the port is listening.<\/span><\/li>\n<\/ol>\n<h3><span class=\"ez-toc-section\" id=\"Importance_of_Probes_in_Kubernetes_Deployment_Strategies\"><\/span><b>Importance of Probes in Kubernetes Deployment Strategies<\/b><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Suppose there is a deployment inside the Kubernetes, and we have version 1 inside which there are two pods. Now, when the traffic is being sent to the V1 pod in the initialisation stage, the traffic will be sent only when it is ready. So, if we are not defining the readiness and the liveness probes, and the database is not ready, the requests will start to fail as a consequence.<\/span><\/p>\n<p><img decoding=\"async\" class=\" wp-image-80402 aligncenter\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Kubernetes-Deployment-Stratergies-300x197.gif\" alt=\"Kubernetes Deployment Stratergies\" width=\"492\" height=\"323\" \/><\/p>\n<p><span style=\"font-weight: 400;\">To better understand the concepts and get in-depth knowledge on Kubernetes, go through the hands-on session the instructor has gone through in the Webinar.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The clarity with which the instructor has explained the concept is amazing. Please feel free to watch the complete webinar on the below link:<\/span><\/p>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=wdRDcUtTam0\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">https:\/\/www.youtube.com\/watch?v=wdRDcUtTam0<\/span><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Whizlabs, on 25 November 2021, conducted a well organised webinar on \u2018Readiness and Liveness Probes in Kubernetes\u2019 with Mr. Abhishek Dubey. Abhishek Dubey works as a Senior DevOps Consultant at OpsTree Solutions. He is a developer and does DevOps training and webinars explaining the concepts in detail. He has been working on multiple open source projects like Kubernetes, Operator Framework for 5 years. He is also one of the GitHub code owners of Prometheus community Helm charts and Operator Framework. What follows below is his outlook towards Kubernetes and its applications. What are Probes? \u2018Probes\u2019 is the process of checking [&hellip;]<\/p>\n","protected":false},"author":359,"featured_media":80403,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[10,29],"tags":[],"class_list":["post-80488","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloud-computing-certifications","category-webinar"],"uagb_featured_image_src":{"full":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Readiness-Liveness-Probes.png",512,288,false],"thumbnail":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Readiness-Liveness-Probes-150x150.png",150,150,true],"medium":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Readiness-Liveness-Probes-300x169.png",300,169,true],"medium_large":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Readiness-Liveness-Probes.png",512,288,false],"large":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Readiness-Liveness-Probes.png",512,288,false],"1536x1536":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Readiness-Liveness-Probes.png",512,288,false],"2048x2048":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Readiness-Liveness-Probes.png",512,288,false],"profile_24":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Readiness-Liveness-Probes.png",24,14,false],"profile_48":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Readiness-Liveness-Probes.png",48,27,false],"profile_96":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Readiness-Liveness-Probes.png",96,54,false],"profile_150":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Readiness-Liveness-Probes.png",150,84,false],"profile_300":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Readiness-Liveness-Probes.png",300,169,false],"tptn_thumbnail":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Readiness-Liveness-Probes-250x250.png",250,250,true],"web-stories-poster-portrait":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Readiness-Liveness-Probes.png",512,288,false],"web-stories-publisher-logo":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Readiness-Liveness-Probes.png",96,54,false],"web-stories-thumbnail":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Readiness-Liveness-Probes.png",150,84,false]},"uagb_author_info":{"display_name":"Abilesh Premkumar","author_link":"https:\/\/www.whizlabs.com\/blog\/author\/abilesh\/"},"uagb_comment_info":1,"uagb_excerpt":"Whizlabs, on 25 November 2021, conducted a well organised webinar on \u2018Readiness and Liveness Probes in Kubernetes\u2019 with Mr. Abhishek Dubey. Abhishek Dubey works as a Senior DevOps Consultant at OpsTree Solutions. He is a developer and does DevOps training and webinars explaining the concepts in detail. He has been working on multiple open source&hellip;","_links":{"self":[{"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/posts\/80488","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/users\/359"}],"replies":[{"embeddable":true,"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/comments?post=80488"}],"version-history":[{"count":3,"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/posts\/80488\/revisions"}],"predecessor-version":[{"id":80521,"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/posts\/80488\/revisions\/80521"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/media\/80403"}],"wp:attachment":[{"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/media?parent=80488"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/categories?post=80488"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/tags?post=80488"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}