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!
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.
- Writing Kubectl Plugins for Everyone
- Podcast - kubectl Plugins and krew, with Ahmet Alp Balkan and Luk Burchard
- 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
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. 🚀
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.
- 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.
- 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
No. | Plugin | Description | Category | Github Stars |
---|---|---|---|---|
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-neat | Clean up Kuberntes yaml and json output to make it readable | Linting | |
4 | ksort | Sort manifest files in a proper order by Kind | Linting | |
5 | kubectl-debug | Debug your pod by a new container with every troubleshooting tools pre-installed | Debugging | |
6 | kube-profefe | continuous profiling made easy in Kubernetes with profefe | Debugging | |
7 | ksniff | Kubectl plugin to ease sniffing on kubernetes pods using tcpdump and wireshark | Networking | |
8 | kubectl-swiftnp | A kubectl plugin for rendering details of Network Policies. | Networking | |
9 | kubectl-trace | Schedule bpftrace programs on your kubernetes cluster using the kubectl | Networking | |
10 | kubectl-capture | A kubectl plugin which triggers a Sysdig capture https://sysdig.com/opensource/inspect/ | Networking | |
11 | kubectl-plugin-pvc | A simple kubectl binary plugin for PVC operations | Storage | |
12 | kubectl-dfi | List and show disk resources of images on Kubernetes nodes. | Storage | |
13 | kubectl-unbound-pvc | List and show disk resources of images on Kubernetes nodes. | Storage | |
14 | kubectl-df-pv | giving admins df (disk free) like utility for persistent volumes | Storage | |
15 | outdated | Find and report outdated images running in a Kubernetes cluster | Security | |
16 | kubectl-kubesec | Security risk analysis for Kubernetes resources https://kubesec.io | Security | |
17 | duplik8s | Duplicate Pods with overriden commands and configurations. | Exec | |
18 | kubectl-enter | Exec into node via kubectl | Exec | |
19 | kubectl-iexec | Kubectl plugin to interactively exec into a pod | Exec | |
20 | kubectl-ssh | A kubectl plugin to ssh into a pod's node | Exec | |
21 | kubectl-kcn | A script and kubectl plugin which makes it easier to ssh into nodes within your cluster. | Exec | |
22 | duyguserbest kubectl-iexec | A script and kubectl plugin which makes it easier to ssh into nodes within your cluster. | Exec | |
23 | kubectl-exec-all | kubectl plugin to execute a command in all running pods of a resource. | Exec | |
24 | kubectl-nsenter | Simple kubectl plugin to take pod name, SSH onto node and spawn an nsenter shell | Exec | |
25 | kvaps kubectl-ssh | Tiny plugin for connecting to node in the cluster over SSH | Exec | |
26 | kubectl-warp | Kubernetes CLI plugin for syncing and executing local files in Pod on Kubernetes | Exec | |
27 | kubectl-plugin-ssh-jump | A kubectl plugin to SSH into Kubernetes nodes using a SSH jump host Pod | Exec | |
28 | kubectl-texec | Attach to the pod matching the label with Tmux | Exec | |
29 | kubectl-dig | Deep kubernetes visibility from the kubectl | Visibility | |
30 | kubectl-utility | Utility tool for observing k8s resources. | Visibility | |
31 | kubectl-graph | A kubectl plugin to visualize Kubernetes resources and relationships. | Visibility | |
32 | kubectl-tree | A kubectl plugin to browse Kubernetes object hierarchies as a tree | Visibility | |
33 | kubectl-topology | A kubectl plugin that provides insight into the topology of a Kubernetes cluster. | Visibility | |
34 | Pod-Dive | A kubectl plugin to dive into your Kubernetes nodes pods, and inspect them. | Visibility | |
35 | kubectl-dashboard | Instantly get a Kubernetes dashboard | Visibility | |
36 | kubelogin | kubectl plugin for Kubernetes OpenID Connect authentication (kubectl oidc-login) | Authn/Authz | |
37 | k8s-pixy-auth | k8s plugin to authenticate against an OIDC compatible issuer using PKCE (pixy) flow | Authn/Authz | |
38 | kubectl-login | Kubectl plugin for re-authenticate into OpenID Connect Provider via CLI | Authn/Authz | |
39 | zjj2wry kubectl-login | The kubectl plugin is used to login to the kubernetes cluster by oidc authentication. | Authn/Authz | |
40 | kubectl-pass | kubectl plugin for integration with pass (the standard unix password manager) | Authn/Authz | |
41 | kubectl-ssm-secret | A kubectl plugin to allow import/export of kubernetes secrets to/from AWS SSM Parameter Store path. | Secrets | |
42 | kubectl-decode-secret | A kubectl plugin to decode Kubernetes secrets | Secrets | |
43 | kubectl-gopass | Plugin for kubectl to support reading and writing secrets directly from/to gopass | Secrets | |
44 | kubectl-modify-secret | kubectl-modify-secrets allows user to directly modify the secret without worrying about base64 encoding/decoding | Secrets | |
45 | weibeld kubectl-ctx | A kubectl plugin for interactively changing the kubeconfig context | Context/Namespace Switching | |
46 | weibeld kubectl-ns | A kubectl plugin for interactively switching between namespaces in your cluster | Context/Namespace Switching | |
47 | kubectl-select-context | light kubectl plugin that prompts user to select config context | Context/Namespace Switching | |
48 | kubectl-use | Plugin for simple switch kubernetes contexts and namespaces | Context/Namespace Switching | |
49 | kubectx | Switch faster between clusters and namespaces in kubectl https://kubectx.dev | Context/Namespace Switching | |
50 | kubectl-ns | Simple kubectl plugin to display/switch namespaces | Context/Namespace Switching | |
51 | kubectl-use | Plugin for simple switch kubernetes contexts and namespaces | Context/Namespace Switching | |
52 | kubectl-switch | Kubernetes multi-cluster command-line management tool | Context/Namespace Switching | |
53 | caas-one kubectl-switch | Kubernetes multi-cluster command-line management tool | Context/Namespace Switching | |
54 | juanvallejo kubectl-ns | Quickly view or change the current namespace via kubectl | Context/Namespace Switching | |
55 | km | EKS MFA kubeconfig management tool. Thin wrapper for kubectl. | Context/Namespace Switching | |
56 | ketall | Like kubectl get all , but get really all resources |
Resource CRUDs | |
57 | kubectl-grep | Filter Kubernetes resources by matching their names | Resource CRUDs | |
58 | kubectl-all | kubectl plugin to list all resources in given namespace | Resource CRUDs | |
59 | kubectl-watch | Watches Kubernetes resources | Resource CRUDs | |
60 | kubectl-custom-cols | a kubectl plugin that help you customize output columns like a boss ! | Resource CRUDs | |
61 | kubepod | Search pods faster in kubectl | Resource CRUDs | |
62 | kubectl-resources | Plugin to access Kubernetes resource requests, limits, and usage. | Resource CRUDs | |
63 | kubectl-free | Show various requested resources on Kubernetes nodes | Resource CRUDs | |
64 | kubectl-match-name | regex matching for resource names | Resource CRUDs | |
65 | kubectl-eksporter | A simple Ruby-script to export k8s resources | Resource CRUDs | |
66 | kube-capacity | A simple CLI that provides an overview of the resource requests, limits, and utilization in a Kubernetes cluster | Resource CRUDs | |
67 | kubectl-rotate-pods | kubectl plugin to easily restart all pods of a deployment | Resource CRUDs | |
68 | kubectl-terminate | kubectl-terminate, a kubectl plugin to remove finalizers and finally delete k8s resources | Resource CRUDs | |
69 | kubectl-extension-versions | Filter Kubernetes resources by matching their names | Controller/Operator | |
70 | kudo | A kubectl plugin to use kudo via kubectl CLI | Controller/Operator | |
71 | ipick | A kubectl wrapper for interactive resource selection | Controller/Operator | |
72 | kubectl-tmux-logs | A kubectl plugin to display container logs within separate tmux panes | Logging | |
73 | kubectl-clogs | kubectl plugin to follow logs of multiple running pods | Logging | |
74 | kubectl-mtail | Kubectl helper to get logs from multiple pods | Logging | // Gitlab repository |
75 | kubectl-open-svc-plugin | kubectl open-svc plugin makes services accessible via their ClusterIP from outside your cluster | Uncategorized | |
76 | kubectl-doctor | k8s cluster triage plugin - scan your cluster for anomalies (brew doctor equivalent) | Uncategorized | |
77 | kubectl-view-serviceaccount-kubeconfig-plugin | A kubectl plugin that show a kubeconfig to access the apiserver with a specified serviceaccount. | Uncategorized | |
78 | unfork | Kubectl plugin to find forked Helm Charts and other K8s resources and unfork them https://www.unfork.io | Uncategorized | |
79 | kubectl-config-merge | A kubectl plugin for merging multiple kubeconfig files. A cli-runtime example. | Uncategorized | |
80 | konfig | konfig helps to merge, split or import kubeconfig files | Uncategorized | |
81 | kubectlsafe | Safe operations in kubectl with plugin kubectlsafe | Uncategorized | |
82 | kubectl-rainbow | Simple binary to colorize output. | Uncategorized | |
83 | kubectl-ansible | An ansible dynamic inventory plugin for kubernetes cluster nodes | Uncategorized | |
84 | kubectl-server-version | A kubectl plugin for rendering the Kubernetes server version. | Uncategorized | |
85 | kubectl-config-cleanup | A kubectl plugin for automatically cleaning up your kubeconfig | Uncategorized | |
86 | kubectl-gitlab-bootstrap | Quickly add a Kubernetes cluster to a GitLab project | Uncategorized | |
87 | kubectl-captain | kubectl plugin for captain | Uncategorized | |
88 | kubectl preflight | Preflight Checks and Support Bundles Framework for Kubernetes Applications https://troubleshoot.sh | Uncategorized | |
89 | kubectl support-bundle | Preflight Checks and Support Bundles Framework for Kubernetes Applications https://troubleshoot.sh | Uncategorized | |
90 | 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 | |
91 | kcf | A CLI tool providing you with status & configuration of a Kubernetes cluster fleet | Uncategorized | |
92 | kubepug | Kubernetes PreUpGrade (Checker) | Uncategorized | |
93 | kubectl view-secret | Decode Kubernetes secrets | Secrets | |
94 | kubectl-cilium | A kubectl plugin for interacting with Cilium. | Networking | |
95 | kubectl-carbonetes-scan | Integrates container analysis directly into your cluster. | Container Security | |
96 | kubectl-cyclonus | Analyze, explain, and probe network policies. | Networking | |
97 | kubectl-view-webhook | Visualize your webhook configurations | Visibility | |
98 | kubectl-translate | Helps migrate your app to run on Kubernetes. Generates K8s yamls, Helm chart, Operator, CI/CD pipeline, Kustomize overlays, etc. | Migration | |
99 | kubectl-datree | Scan resources within your cluster for misconfigurations | Misconfiguration Detection | |
100 | kubectl-irsa | Check the IAM capabilities of the serviceaccounts via AWS PolicySimulator | Security | |
101 | kubectl-dumpy | Performs tcpdump captures on resources | Networking |
-
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