Guest User

Untitled

a guest
May 23rd, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.99 KB | None | 0 0
  1. #!/usr/bin/env bash
  2.  
  3. kubectl get pods --all-namespaces -o json | jq '[
  4. .items[] | (
  5. {
  6. namespace: .metadata.namespace,
  7. pod: .metadata.name,
  8. statuses: (
  9. [
  10. .status.containerStatuses[] | { name, ready, restartCount }
  11. ] | map( select( .restartCount > 0 ) )
  12. )
  13. }
  14. ) | select( .statuses | length > 0 )
  15. ] | . as $original | (
  16. {
  17. namespaces: (
  18. reduce $original[] as $item (
  19. {} ; (
  20. if ( . | has($item.namespace) ) then (
  21. .[$item.namespace] += ( reduce $item.statuses[].restartCount as $count ( 0; . + $count ) )
  22. ) else (
  23. .[$item.namespace] = ( reduce $item.statuses[].restartCount as $count ( 0; . + $count ) )
  24. ) end
  25. )
  26. )
  27. ),
  28. pods: (
  29. reduce $original[] as $item (
  30. {} ; (
  31. if ( . | has($item.pod) ) then (
  32. .[$item.pod] += ( reduce $item.statuses[].restartCount as $count ( 0; . + $count ) )
  33. ) else (
  34. .[$item.pod] = ( reduce $item.statuses[].restartCount as $count ( 0; . + $count ) )
  35. ) end
  36. )
  37. )
  38. ),
  39. containers: (
  40. reduce $original[] as $item (
  41. {} ; (
  42. reduce $item.statuses[] as $status (
  43. . ;
  44. if ( . | has($status.name) ) then (
  45. .[$status.name] += $status.restartCount
  46. ) else (
  47. .[$status.name] = $status.restartCount
  48. ) end
  49. )
  50. )
  51. )
  52. ),
  53. services: (
  54. reduce $original[] as $item (
  55. {} ; (
  56. reduce $item.statuses[] as $status (
  57. . ;
  58. if ( . | has("" + $status.name + "." + $item.namespace + ".svc.cluster.local") ) then (
  59. .["" + $status.name + "." + $item.namespace + ".svc.cluster.local"] += $status.restartCount
  60. ) else (
  61. .["" + $status.name + "." + $item.namespace + ".svc.cluster.local"] = $status.restartCount
  62. ) end
  63. )
  64. )
  65. )
  66. )
  67. }
  68. )'
Add Comment
Please, Sign In to add comment