{"id":11630,"date":"2025-08-17T16:05:23","date_gmt":"2025-08-17T16:05:23","guid":{"rendered":"https:\/\/putridparrot.com\/blog\/?p=11630"},"modified":"2025-08-17T16:05:23","modified_gmt":"2025-08-17T16:05:23","slug":"pod-disruption-budgets-in-kubernetes","status":"publish","type":"post","link":"https:\/\/putridparrot.com\/blog\/pod-disruption-budgets-in-kubernetes\/","title":{"rendered":"Pod disruption budgets in Kubernetes"},"content":{"rendered":"<p>The PodDisruptionBudget kind (or PDB) is used to configure the availability of voluntary disruptions. <\/p>\n<p>To give a little more detail, this is a policy that, for example, limits how many pods can be disrupted at once, this ensure a minimum number of pods remain available during operations such as node upgrade, autoscaling or voluntary evictions. This is a way to ensure serving capacity remains at a given level during upgrades etc.<\/p>\n<p>Here&#8217;s an example yaml file for this<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\napiVersion: policy\/v1\r\nkind: PodDisruptionBudget\r\nmetadata:\r\n  name: echo-pdb\r\n  namespace: dev\r\nspec:\r\n  minAvailable: 1  # At least one pod must be available OR use maxUnavailable: 1 for maximum which can be unavailable\r\n  selector:\r\n    matchLabels:\r\n      app: echo\r\n<\/pre>\n<p>In this example we use the &#8220;minAvailable&#8221;, you could use &#8220;maxUnavailable&#8221; but not both. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>The PodDisruptionBudget kind (or PDB) is used to configure the availability of voluntary disruptions. To give a little more detail, this is a policy that, for example, limits how many pods can be disrupted at once, this ensure a minimum number of pods remain available during operations such as node upgrade, autoscaling or voluntary evictions. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[314],"tags":[],"class_list":["post-11630","post","type-post","status-publish","format-standard","hentry","category-kubernetes"],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/putridparrot.com\/blog\/wp-json\/wp\/v2\/posts\/11630","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/putridparrot.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/putridparrot.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/putridparrot.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/putridparrot.com\/blog\/wp-json\/wp\/v2\/comments?post=11630"}],"version-history":[{"count":1,"href":"https:\/\/putridparrot.com\/blog\/wp-json\/wp\/v2\/posts\/11630\/revisions"}],"predecessor-version":[{"id":11631,"href":"https:\/\/putridparrot.com\/blog\/wp-json\/wp\/v2\/posts\/11630\/revisions\/11631"}],"wp:attachment":[{"href":"https:\/\/putridparrot.com\/blog\/wp-json\/wp\/v2\/media?parent=11630"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/putridparrot.com\/blog\/wp-json\/wp\/v2\/categories?post=11630"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/putridparrot.com\/blog\/wp-json\/wp\/v2\/tags?post=11630"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}