diff --git a/plugins/README.md b/plugins/README.md index c489b31c..fd3ad893 100644 --- a/plugins/README.md +++ b/plugins/README.md @@ -4,27 +4,28 @@ 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. -| 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) | -| 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)
([nicolaka/netshoot](2)) | containers | Shift-d | | -| dive.yaml | Dive image layers | containers | d | [Dive](https://github.com/wagoodman/dive) | -| external-secrets.yaml | Refresh external/push-secrets | externalsecrets/pushsecrets | Shift-R | | -| get-all.yaml | get all resources in a namespace | all | g | [Krew](https://krew.sigs.k8s.io/), [ketall](https://github.com/corneliusweig/ketall/) | -| helm-diff.yaml | Diff with previous revision / current revision | helm/history | Shift-D/Q | [helm-diff](https://github.com/databus23/helm-diff) | -| job-suspend.yaml | Suspends a running cronjob | cronjobs | Ctrl-s | | -| k3d-root-shell.yaml | Root shell to k3d container | containers | Shift-s | [jq](https://stedolan.github.io/jq/) | -| keda-toggle.yaml | Enable/disable [keda](3) ScaledObject autoscaler | scaledobjects | Ctrl-N | | -| 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-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 | | -| 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 | | -| 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/) | -| start-alpine.yaml | Starts a deployment for the `alpine:latest` docker image in the current namespace/context | deployments/pods | Ctrl-T | | +| 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) | +| 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)
([nicolaka/netshoot](2)) | containers | Shift-d | | +| dive.yaml | Dive image layers | containers | d | [Dive](https://github.com/wagoodman/dive) | +| external-secrets.yaml | Refresh external/push-secrets | externalsecrets/pushsecrets | Shift-R | | +| get-all.yaml | get all resources in a namespace | all | g | [Krew](https://krew.sigs.k8s.io/), [ketall](https://github.com/corneliusweig/ketall/) | +| helm-diff.yaml | Diff with previous revision / current revision | helm/history | Shift-D/Q | [helm-diff](https://github.com/databus23/helm-diff) | +| job-suspend.yaml | Suspends a running cronjob | cronjobs | Ctrl-s | | +| k3d-root-shell.yaml | Root shell to k3d container | containers | Shift-s | [jq](https://stedolan.github.io/jq/) | +| keda-toggle.yaml | Enable/disable [keda](3) ScaledObject autoscaler | scaledobjects | Ctrl-N | | +| kube-metrics.yaml | Visualize live pod/node metric graphs (Memory/CPU) | pods/nodes | m | [kube-metics](https://github.com/bakito/kube-metrics) | +| 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-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 | | +| 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 | | +| 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/) | +| start-alpine.yaml | Starts a deployment for the `alpine:latest` docker image in the current namespace/context | deployments/pods | Ctrl-T | | [1]: https://kubernetes.io/docs/tasks/debug/debug-application/debug-running-pod/#ephemeral-container [2]: https://github.com/nicolaka/netshoot diff --git a/plugins/kube-metrics.yaml b/plugins/kube-metrics.yaml new file mode 100644 index 00000000..a1056beb --- /dev/null +++ b/plugins/kube-metrics.yaml @@ -0,0 +1,20 @@ +# requires 'kube-metrics' cli binary installed to be installed (https://github.com/bakito/kube-metrics) +plugins: + # allows visualizing pod and node metrics + kube-metrics-pod: + shortCut: m + confirm: false + description: "Metrics" + scopes: + - pods + - nodes + command: sh + background: false + args: + - -c + - | + if [ -n "$NAMESPACE" ]; then + kube-metrics pod --namespace=$NAMESPACE $NAME + else + kube-metrics node $NAME + fi