Add plugin to temporarily scale down/up all deployments, statefulsets, and daemonsets in a namespace using szero (#3259)

* Add plugin to temporarily scale down/up all deployments, statefulsets, and daemonsets in a namespace using szero

* Add szero to documentation readme

---------

Co-authored-by: Fernand Galiana <fernand.galiana@gmail.com>
mine
Jorge Alberto Díaz Orozco (Akiel) 2025-04-16 16:19:24 +02:00 committed by GitHub
parent 9f37a641ea
commit 8807dc0ef8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 31 additions and 2 deletions

View File

@ -5,7 +5,7 @@ K9s plugins extend the tool to provide additional functionality via actions to f
Following is an example of some plugin files in this directory. Other files are not listed in this table. Following is an example of some plugin files in this directory. Other files are not listed in this table.
| Plugin-Name | Description | Available on Views | Shortcut | Kubectl plugin, external dependencies | | Plugin-Name | Description | Available on Views | Shortcut | Kubectl plugin, external dependencies |
| ------------------------------ | ---------------------------------------------------------------------------- | ----------------------------------- |-----------| ------------------------------------------------------------------------------------- | |--------------------------------| ---------------------------------------------------------------------------- |-------------------------------------|-----------|---------------------------------------------------------------------------------------|
| ai-incident-investigation.yaml | Run AI investigation on application issues to find the root cause in seconds | all | Shift-h/o | [HolmesGPT](https://github.com/robusta-dev/holmesgpt) | | ai-incident-investigation.yaml | Run AI investigation on application issues to find the root cause in seconds | all | Shift-h/o | [HolmesGPT](https://github.com/robusta-dev/holmesgpt) |
| argocd.yaml | Perform argocd operation quickly | applications | Shift-r | [ArgoCD](https://argo-cd.readthedocs.io/en/stable/getting_started/) | | argocd.yaml | Perform argocd operation quickly | applications | Shift-r | [ArgoCD](https://argo-cd.readthedocs.io/en/stable/getting_started/) |
| debug-container.yaml | Add [ephemeral debug container](1)<br>([nicolaka/netshoot](2)) | containers | Shift-d | | | debug-container.yaml | Add [ephemeral debug container](1)<br>([nicolaka/netshoot](2)) | containers | Shift-d | |
@ -18,9 +18,10 @@ Following is an example of some plugin files in this directory. Other files are
| keda-toggle.yaml | Enable/disable [keda](3) ScaledObject autoscaler | scaledobjects | Ctrl-N | | | keda-toggle.yaml | Enable/disable [keda](3) ScaledObject autoscaler | scaledobjects | Ctrl-N | |
| log-stern.yaml | View resource logs using stern | pods | Ctrl-l | | | log-stern.yaml | View resource logs using stern | pods | Ctrl-l | |
| log-jq.yaml | View resource logs using jq | pods | Ctrl-j | kubectl-plugins/kubectl-jq | | log-jq.yaml | View resource logs using jq | pods | Ctrl-j | kubectl-plugins/kubectl-jq |
| log-bunyan.yaml | View pods, service, deployment logs using bunyan | pods, service, deployment | Ctrl-l | [Bunyan](https://www.npmjs.com/package/bunyan) | | log-bunyan.yaml | View pods, service, deployment logs using bunyan | pods, service, deployment | Ctrl-l | [Bunyan](https://www.npmjs.com/package/bunyan) |
| log-full.yaml | get full logs from pod/container | pods/containers | Ctrl-l | | | log-full.yaml | get full logs from pod/container | pods/containers | Ctrl-l | |
| resource-recommendations.yaml | View recommendations for CPU/Memory requests based on historical data | deployments/daemonsets/statefulsets | Shift-k | [Robusta KRR](https://github.com/robusta-dev/krr) | | resource-recommendations.yaml | View recommendations for CPU/Memory requests based on historical data | deployments/daemonsets/statefulsets | Shift-k | [Robusta KRR](https://github.com/robusta-dev/krr) |
| szero.yaml | Temporarily scale down/up all deployments, statefulsets, and daemonsets | namespaces | Shift-d/u | [szero](https://github.com/jadolg/szero) |
| trace-dns.yaml | Trace DNS resolution using Inspektor Gadget (4) | containers/pods/nodes | Shift-d | | | trace-dns.yaml | Trace DNS resolution using Inspektor Gadget (4) | containers/pods/nodes | Shift-d | |
| vector-dev-top.yaml | Run `vector top` in vector.dev container | pods/container | h | [vector top](https://vector.dev/highlights/2020-12-23-vector-top/) | | vector-dev-top.yaml | Run `vector top` in vector.dev container | pods/container | h | [vector top](https://vector.dev/highlights/2020-12-23-vector-top/) |

28
plugins/szero.yaml Normal file
View File

@ -0,0 +1,28 @@
# Temporarily scale down/up all deployments, statefulsets, and daemonsets in a namespace using szero
# Uses https://github.com/jadolg/szero
plugins:
szero-down:
shortCut: Shift-D
confirm: true
dangerous: true
description: Scale all down
scopes:
- namespace
command: sh
background: false
args:
- -c
- "szero down --context $CONTEXT --namespace $NAME"
szero-up:
shortCut: Shift-U
confirm: true
dangerous: true
description: Scale all up
scopes:
- namespace
command: sh
background: false
args:
- -c
- "szero up --context $CONTEXT --namespace $NAME"