Awesome
awesome-kubectl-plugins <img alt="PRs Welcome" src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg" />
A curated list of awesome kubectl
plugins inspired by the awesome list.
If you see a link that isn't a good fit, you can fix it by submitting a pull request to help improve the list. Likewise, if you'd like to add or fix something, click the README.md file to edit and submit a pull request. Thank you!
What are kubectl plugins?
Since version 1.12, kubectl includes a plugin mechanism that allows you to extend kubectl with custom commands. Extending
kubectl
with plugins greatly enhances the productivity while using the CLI.
Contents
Package Manager 📦
Resources
- Writing Kubectl Plugins for Everyone
- Podcast - kubectl Plugins and krew, with Ahmet Alp Balkan and Luk Burchard
Blog Posts
- How to write a kubectl plugin
- Extending kubectl with plugins
- Write your own kubectl subcommands
- Manage Kubernetes Plugins with Krew
- Boosting Your Kubectl Productivity
- Top 15 Kubectl plugins for security engineers
Use awesome-kubectl-plugins
as a Custom Index via Krew
A notable feature custom index
was added in krew's
v0.4.0 release. This means you can now use custom indexes of your own to install the plugins via krew
.
Was you plugin not accepted in default krew-index
due to some reasons? No issues, you can still use that plugin manifest in your custom index and install it via krew.
Now, awesome-kubectl-plugins
is not just a list of awesome kubectl plugins (without any centralised control), you can actually use this to add your own plugins like you did for krew-index
and install them locally. :rocket:
Note: This does not mean you can install plugins without a valid plugins.yaml
for your plugin. You still need to have a plugin manifest.
How to add your plugin to awesome-kubectl-plugins
- Add your plugin's name, description and category to the below kubectl Plugins list.
- Add
plugin-name.yaml
manifest to./plugins
directory. - And, you're done.
Installing plugins via awesome-kubectl-plugins
- Add the custom index to krew:
$ kubectl krew index add awesome-kubectl-plugins https://github.com/ishantanu/awesome-kubectl-plugins.git
- Install a plugin from the custom index by running:
kubectl krew install awesome-kubectl-plugins/access-matrix
kubectl Plugins
No. | Plugin | Description | Category |
---|---|---|---|
1 | rakkess | Review Access - kubectl plugin to show an access matrix for k8s server resources | RBAC |
2 | kubectl-who-can | Show who has RBAC permissions to perform actions on different resources in Kubernetes | RBAC |
3 | kubectl-lint | A kubectl plugin to perform linting | Linting |
4 | kubectl-neat | Clean up Kuberntes yaml and json output to make it readable | Linting |
5 | ksort | Sort manifest files in a proper order by Kind | Linting |
6 | kubectl-debug | Debug your pod by a new container with every troubleshooting tools pre-installed | Debugging |
7 | kube-profefe | continuous profiling made easy in Kubernetes with profefe | Debugging |
8 | ksniff | Kubectl plugin to ease sniffing on kubernetes pods using tcpdump and wireshark | Networking |
9 | kubectl-swiftnp | A kubectl plugin for rendering details of Network Policies. | Networking |
10 | kubectl-trace | Schedule bpftrace programs on your kubernetes cluster using the kubectl | Networking |
11 | kubectl-capture | A kubectl plugin which triggers a Sysdig capture https://sysdig.com/opensource/inspect/ | Networking |
12 | kubectl-plugin-pvc | A simple kubectl binary plugin for PVC operations | Storage |
13 | kubectl-dfi | List and show disk resources of images on Kubernetes nodes. | Storage |
14 | kubectl-unbound-pvc | List and show disk resources of images on Kubernetes nodes. | Storage |
15 | kubectl-df-pv | giving admins df (disk free) like utility for persistent volumes | Storage |
16 | outdated | Find and report outdated images running in a Kubernetes cluster | Security |
17 | kubectl-kubesec | Security risk analysis for Kubernetes resources https://kubesec.io | Security |
18 | duplik8s | Duplicate Pods with overriden commands and configurations. | Exec |
19 | kubectl-enter | Exec into node via kubectl | Exec |
20 | kubectl-iexec | Kubectl plugin to interactively exec into a pod | Exec |
21 | kubectl-ssh | A kubectl plugin to ssh into a pod's node | Exec |
22 | kubectl-kcn | A script and kubectl plugin which makes it easier to ssh into nodes within your cluster. | Exec |
23 | duyguserbest kubectl-iexec | A script and kubectl plugin which makes it easier to ssh into nodes within your cluster. | Exec |
24 | kubectl-exec-all | kubectl plugin to execute a command in all running pods of a resource. | Exec |
25 | kubectl-nsenter | Simple kubectl plugin to take pod name, SSH onto node and spawn an nsenter shell | Exec |
26 | kvaps kubectl-ssh | Tiny plugin for connecting to node in the cluster over SSH | Exec |
27 | kubectl-warp | Kubernetes CLI plugin for syncing and executing local files in Pod on Kubernetes | Exec |
28 | kubectl-plugin-ssh-jump | A kubectl plugin to SSH into Kubernetes nodes using a SSH jump host Pod | Exec |
29 | kubectl-texec | Attach to the pod matching the label with Tmux | Exec |
30 | kubectl-dig | Deep kubernetes visibility from the kubectl | Visibility |
31 | kubectl-utility | Utility tool for observing k8s resources. | Visibility |
32 | kubectl-graph | A kubectl plugin to visualize Kubernetes resources and relationships. | Visibility |
33 | kubectl-tree | A kubectl plugin to browse Kubernetes object hierarchies as a tree | Visibility |
34 | kubectl-topology | A kubectl plugin that provides insight into the topology of a Kubernetes cluster. | Visibility |
35 | Pod-Dive | A kubectl plugin to dive into your Kubernetes nodes pods, and inspect them. | Visibility |
36 | kubectl-dashboard | Instantly get a Kubernetes dashboard | Visibility |
37 | kubelogin | kubectl plugin for Kubernetes OpenID Connect authentication (kubectl oidc-login) | Authn/Authz |
38 | k8s-pixy-auth | k8s plugin to authenticate against an OIDC compatible issuer using PKCE (pixy) flow | Authn/Authz |
39 | kubectl-login | Kubectl plugin for re-authenticate into OpenID Connect Provider via CLI | Authn/Authz |
40 | zjj2wry kubectl-login | The kubectl plugin is used to login to the kubernetes cluster by oidc authentication. | Authn/Authz |
41 | kubectl-pass | kubectl plugin for integration with pass (the standard unix password manager) | Authn/Authz |
42 | kubectl-ssm-secret | A kubectl plugin to allow import/export of kubernetes secrets to/from AWS SSM Parameter Store path. | Secrets |
43 | kubectl-decode-secret | A kubectl plugin to decode Kubernetes secrets | Secrets |
44 | kubectl-gopass | Plugin for kubectl to support reading and writing secrets directly from/to gopass | Secrets |
45 | kubectl-modify-secret | kubectl-modify-secrets allows user to directly modify the secret without worrying about base64 encoding/decoding | Secrets |
46 | weibeld kubectl-ctx | A kubectl plugin for interactively changing the kubeconfig context | Context/Namespace Switching |
47 | weibeld kubectl-ns | A kubectl plugin for interactively switching between namespaces in your cluster | Context/Namespace Switching |
48 | kubectl-select-context | light kubectl plugin that prompts user to select config context | Context/Namespace Switching |
49 | kubectl-use | Plugin for simple switch kubernetes contexts and namespaces | Context/Namespace Switching |
50 | kubectx | Switch faster between clusters and namespaces in kubectl https://kubectx.dev | Context/Namespace Switching |
51 | kubectl-ns | Simple kubectl plugin to display/switch namespaces | Context/Namespace Switching |
52 | kubectl-use | Plugin for simple switch kubernetes contexts and namespaces | Context/Namespace Switching |
53 | kubectl-switch | Kubernetes multi-cluster command-line management tool | Context/Namespace Switching |
54 | caas-one kubectl-switch | Kubernetes multi-cluster command-line management tool | Context/Namespace Switching |
55 | juanvallejo kubectl-ns | Quickly view or change the current namespace via kubectl | Context/Namespace Switching |
56 | km | EKS MFA kubeconfig management tool. Thin wrapper for kubectl. | Context/Namespace Switching |
57 | ketall | Like kubectl get all , but get really all resources | Resource CRUDs |
58 | kubectl-grep | Filter Kubernetes resources by matching their names | Resource CRUDs |
59 | kubectl-all | kubectl plugin to list all resources in given namespace | Resource CRUDs |
60 | kubectl-watch | Watches Kubernetes resources | Resource CRUDs |
61 | kubectl-custom-cols | a kubectl plugin that help you customize output columns like a boss ! | Resource CRUDs |
62 | kubepod | Search pods faster in kubectl | Resource CRUDs |
63 | kubectl-resources | Plugin to access Kubernetes resource requests, limits, and usage. | Resource CRUDs |
64 | kubectl-free | Show various requested resources on Kubernetes nodes | Resource CRUDs |
65 | kubectl-match-name | regex matching for resource names | Resource CRUDs |
66 | kubectl-eksporter | A simple Ruby-script to export k8s resources | Resource CRUDs |
67 | kube-capacity | A simple CLI that provides an overview of the resource requests, limits, and utilization in a Kubernetes cluster | Resource CRUDs |
68 | kubectl-rotate-pods | kubectl plugin to easily restart all pods of a deployment | Resource CRUDs |
69 | kubectl-terminate | kubectl-terminate, a kubectl plugin to remove finalizers and finally delete k8s resources | Resource CRUDs |
70 | kubectl-extension-versions | Filter Kubernetes resources by matching their names | Controller/Operator |
71 | kudo | A kubectl plugin to use kudo via kubectl CLI | Controller/Operator |
72 | ipick | A kubectl wrapper for interactive resource selection | Controller/Operator |
73 | kubectl-tmux-logs | A kubectl plugin to display container logs within separate tmux panes | Logging |
74 | kubectl-clogs | kubectl plugin to follow logs of multiple running pods | Logging |
75 | kubectl-mtail | Kubectl helper to get logs from multiple pods | Logging |
76 | kubectl-open-svc-plugin | kubectl open-svc plugin makes services accessible via their ClusterIP from outside your cluster | Uncategorized |
77 | kubectl-doctor | k8s cluster triage plugin - scan your cluster for anomalies (brew doctor equivalent) | Uncategorized |
78 | kubectl-view-serviceaccount-kubeconfig-plugin | A kubectl plugin that show a kubeconfig to access the apiserver with a specified serviceaccount. | Uncategorized |
79 | unfork | Kubectl plugin to find forked Helm Charts and other K8s resources and unfork them https://www.unfork.io | Uncategorized |
80 | kubectl-config-merge | A kubectl plugin for merging multiple kubeconfig files. A cli-runtime example. | Uncategorized |
81 | konfig | konfig helps to merge, split or import kubeconfig files | Uncategorized |
82 | kubectlsafe | Safe operations in kubectl with plugin kubectlsafe | Uncategorized |
83 | kubectl-rainbow | Simple binary to colorize output. | Uncategorized |
84 | kubectl-ansible | An ansible dynamic inventory plugin for kubernetes cluster nodes | Uncategorized |
85 | kubectl-server-version | A kubectl plugin for rendering the Kubernetes server version. | Uncategorized |
86 | kubectl-config-cleanup | A kubectl plugin for automatically cleaning up your kubeconfig | Uncategorized |
87 | kubectl-gitlab-bootstrap | Quickly add a Kubernetes cluster to a GitLab project | Uncategorized |
88 | kubectl-captain | kubectl plugin for captain | Uncategorized |
89 | kubectl preflight | Preflight Checks and Support Bundles Framework for Kubernetes Applications https://troubleshoot.sh | Uncategorized |
90 | kubectl support-bundle | Preflight Checks and Support Bundles Framework for Kubernetes Applications https://troubleshoot.sh | Uncategorized |
91 | kubectl-virt-plugin | Holds all scripts to create packages and manifest file required for publishing the virtctl binary as a krew package for kubectl. | Uncategorized |
92 | kcf | A CLI tool providing you with status & configuration of a Kubernetes cluster fleet | Uncategorized |
93 | kubepug | Kubernetes PreUpGrade (Checker) | Uncategorized |
94 | kubectl view-secret | Decode Kubernetes secrets | Secrets |
95 | kubectl-cilium | A kubectl plugin for interacting with Cilium. | Networking |
96 | kubectl-carbonetes-scan | Integrates container analysis directly into your cluster. | Container Security |
97 | kubectl-cyclonus | Analyze, explain, and probe network policies. | Networking |
98 | kubectl-view-webhook | Visualize your webhook configurations | Visibility |
99 | kubectl-translate | Helps migrate your app to run on Kubernetes. Generates K8s yamls, Helm chart, Operator, CI/CD pipeline, Kustomize overlays, etc. | Migration |
100 | kubectl-datree | Scan resources within your cluster for misconfigurations | Misconfiguration Detection |
101 | kubectl-irsa | Check the IAM capabilities of the serviceaccounts via AWS PolicySimulator | Security |
102 | kubectl-dumpy | Performs tcpdump captures on resources | Networking |
Collection of kubectl plugins
-
collection of kubectl plugins - A Collection of Plugins for kubectl Integration (context switching, ssh / exec as any user, etc).
-
kubectl-extras mini plugins - A collection of mini plugins for kubectl.
-
collection - kubectl plugins - A list of plugins that enhance the kubectl CLI
-
collection - kubectl plugins - It is a set of kubectl plugins.
-
collection - kubectl plugins - These be collection of kubectl plugins!
-
kubectl-everything - Various kubectl plugins to make life easier