Ugly Command Party - Day 9

Ugly Command Party - Day 9

On the 9th of the ugly command party, the command I'll share is:

Ugly Command Name: Check Missing or Risky PodDisruptionBudget Policies

What does it do?

This command searches through Deployments and StatefulSets in a namespace to determine if a PDB should exist, and if one does, if it’s risky or OK. It is looking for:

  • Any Deployments or StatefulSet with replicas > 1 to have some form of a PodDisruptionBudget policy defined. If one exists, “OK” is reported, otherwise it reports “Missing”
  • Any PodDisruptionBudget Policy does not cause risk to regular cluster operations by specifying that a Deployment or StatefulSet can’t accept any disruptions, otherwise it’s deemed “Risky”
  • Any Deployment or StatefulSet that has replicas = 1 does not show up in the list as they wouldn’t be suited to using a PodDisruptionBudget

When would you use it?

Every now and again it’s nice to use this command as a checklist item to ensure that:

  • applications are being considered for highly-available deployments
  • application high availability does not impact cluster operations

What is the command?

Please view the GitHub Gist below to find the code snippet. Due to a limitation with LinkedIn, it does not accept some code in the code snippet and breaks the Article feature :-/

What is some sample output?

Deployments:
-----------
NAME                           PDB                            STATUS    
Deployment/awesome-app         never-lose-a-pod               Risky     
Deployment/magic-app                                          Missing   

Statefulsets:
-------------
NAME                           PDB                            STATUS        

What does it need?

  • kubectl
  • jq


If you want this command tailored for your environment and ready to copy & paste, this command has been added to the open source library of commands available through RunWhen Local. Check it out here: https://docs.runwhen.com/public/runwhen-local/getting-started/running-locally


Find an example of the command here: https://runwhen-local.sandbox.runwhen.com/online-boutique/online-boutique-Namespace-Health/#check-missing-or-risky-poddisruptionbudget-policies


Have an ugly command to share? Collaborate with us on GitHub with issues or discussions


This is part of a series.?Check out?this article?to see additional ugly commands posted in the series.

要查看或添加评论,请登录

Shea Stewart的更多文章

  • Check for Available Helm Chart Updates

    Check for Available Helm Chart Updates

    Managing #helm Chart versions can be a bit of an interesting process..

    2 条评论
  • Reflections on 10 Days of Sharing Ugly Commands

    Reflections on 10 Days of Sharing Ugly Commands

    As someone who spends a lot of time with #kubernetes technology and users, I recently embarked on a 10-day journey to…

  • Ugly Command Party - Day 10

    Ugly Command Party - Day 10

    On the 10th of the ugly command party, the command I'll share is: Ugly Command Name: Find Ingress Owner and Service…

  • Ugly Command Party - Day 8

    Ugly Command Party - Day 8

    On the 8th of the ugly command party, the command I'll share is: Ugly Command Name: List ImagePullBackOff Events and…

  • Ugly Command Party - Day 7

    Ugly Command Party - Day 7

    On the 7th of the ugly command party, the command I'll share is: Ugly Command Name: Test Service Account Access to…

  • Ugly Command Party - Day 6

    Ugly Command Party - Day 6

    Ugly Command Name: Check for RWO Persistent Volume Node Attachment Issues What does it do? Searches through a namespace…

  • Ugly Command Party Day 5

    Ugly Command Party Day 5

    On the 5th of the ugly command party, the command I'll share is: Ugly Command Name: List Images and Tags for Every…

  • Ugly Command Party - Day 4

    Ugly Command Party - Day 4

    On the 4th of the ugly command party, the command I'll share is: Ugly Command Name: Fetch Ingress Object Health in…

  • Ugly Command Party - Day 3

    Ugly Command Party - Day 3

    On the 3rd of the ugly command party, the command I'll share is: Ugly Command Name: Find Failed Certificate Requests…

  • Ugly Command Party - Day 2

    Ugly Command Party - Day 2

    On the second day of the ugly command party, the command I'll share is: Ugly Command Name: Troubleshoot Unready…

社区洞察

其他会员也浏览了