A curated list of awesome Kubernetes tools and resources.
Inspired by awesome list and donnemartin/awesome-aws.
- Repo with 0050+ Stars: ๐ฅ
- Repo with 0200+ Stars: ๐ฅ๐ฅ
- Repo with 0500+ Stars: ๐ฅ๐ฅ๐ฅ
- Repo with 1000+ Stars: ๐ฅ๐ฅ๐ฅ๐ฅ
- Repo with 2000+ Stars: ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ
Idea taken from donnemartin/awesome-aws.
- Tools and Libraries
- Command Line Tools
- Cluster Provisioning
- Automation and CI/CD
- Cluster Resources Management
- Secrets Management
- Networking
- Storage
- Testing and Troubleshooting
- Monitoring, Alerts, and Visualization
- Backup and Diaster Recovery
- Security and Compliance
- Service Mesh
- Development Tools
- Data Processing and Machine Learning
- Miscellaneous
- Guides, Documentations, Blogs, and Learnings
- Contribute
- License
Items with ๐ indicate open source projects.
- ๐Kubebox ๐ฅ๐ฅ๐ฅ๐ฅ - Terminal and Web console for Kubernetes
- ๐K9s ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ - K9s provides a terminal UI to interact with your Kubernetes clusters.
- ๐kubediff ๐ฅ๐ฅ๐ฅ - Kubediff is a tool for Kubernetes to show you the differences between your running configuration and your version controlled configuration.
- ๐Helm ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ - Helm is a tool for managing Charts. Charts are packages of pre-configured Kubernetes resources.
- ๐kubeprompt - Isolates KUBECONFIG in each shell and shows the current Kubernetes context/namespace in your prompt
- ๐kubectx + kubens ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ -
kubectx
helps you switch between clusters back and forth, andkubens
helps you switch between Kubernetes namespaces smoothly. - ๐kube-shell ๐ฅ๐ฅ๐ฅ๐ฅ - Kube-shell: An integrated shell for working with the Kubernetes CLI.
- ๐Ktunnel ๐ฅ - Ktunnel is a CLI tool that establishes a reverse tunnel between a kubernetes cluster and your local machine.
- ๐kubectl-aliases ๐ฅ๐ฅ๐ฅ๐ฅ - This repository contains a script to generate hundreds of convenient shell aliases for kubectl.
- ๐Kubetail ๐ฅ๐ฅ๐ฅ๐ฅ - Bash script that enables you to aggregate (tail/follow) logs from multiple pods into one stream.
- ๐stern ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ - Stern allows you to tail multiple pods on Kubernetes and multiple containers within the pod.
- ๐kubectl tree ๐ฅ๐ฅ๐ฅ๐ฅ - A kubectl plugin to explore ownership relationships between Kubernetes objects through owners.
- ๐kind ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ - kind is a tool for running local Kubernetes clusters using Docker container "nodes".
- ๐k3s ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ - Lightweight Kubernetes. Easy to install, half the memory, all in a binary less than 100 MB.
- ๐eksctl ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ -
eksctl
is a simple CLI tool for creating clusters on EKS - Amazon's new managed Kubernetes service for EC2. - ๐kubespray ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ - Deploy a production ready Kubernetes cluster
- ๐kops ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ -
kops
helps you create, destroy, upgrade and maintain production-grade, highly available, Kubernetes clusters from the command line. - ๐Bootkube ๐ฅ๐ฅ๐ฅ๐ฅ - Bootkube is a tool for launching self-hosted Kubernetes clusters.
- ๐kube-aws ๐ฅ๐ฅ๐ฅ๐ฅ -
kube-aws
is a command-line tool to create/update/destroy Kubernetes clusters on AWS. - ๐Minikube ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ - minikube implements a local Kubernetes cluster on macOS, Linux, and Windows.
- Kubeadm - kubeadm performs the actions necessary to get a minimum viable cluster up and running.
- ๐Flux ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ - Flux is a tool that automatically ensures that the state of a cluster matches the config in git.
- ๐Helm Operator ๐ฅ๐ฅ - The Helm Operator is a Kubernetes operator, allowing one to declaratively manage Helm chart releases.
- ๐Flagger ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ - Flagger is a progressive delivery tool that automates the release process for applications running on Kubernetes.
- ๐Argo Workflows ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ - Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes.
- ๐KEDA ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ - KEDA allows for fine grained autoscaling (including to/from zero) for event driven Kubernetes workloads.
- ๐KubeSphere ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ - KubeSphere is a distributed operating system providing cloud native stack with Kubernetes as its kernel, and aims to be plug-and-play architecture for third-party applications seamless integration to boost its ecosystem.
- ๐Skaffold ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ - Skaffold is a command line tool that facilitates continuous development for Kubernetes applications.
- ๐Apollo ๐ฅ๐ฅ - Apollo is a simple, lightweight, Continuous Deployment (CD) solution on top of Kubernetes.
- ๐Spinnaker ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ - Spinnaker is an open-source continuous delivery platform for releasing software changes with high velocity and confidence.
- ๐Kruise ๐ฅ๐ฅ๐ฅ๐ฅ - Kruise consists of several controllers which extend and complement the Kubernetes core controllers for workload management.
- ๐Grafana Tanka ๐ฅ๐ฅ๐ฅ - The clean, concise and super flexible alternative to YAML for your Kubernetes cluster.
- ๐KubeDirector ๐ฅ๐ฅ - KubeDirector uses standard Kubernetes (K8s) facilities of custom resources and API extensions to implement stateful scaleout application clusters.
- ๐Kubernetes External Secrets ๐ฅ๐ฅ๐ฅ - Kubernetes External Secrets allows you to use external secret management systems, like AWS Secrets Manager or HashiCorp Vault, to securely add secrets in Kubernetes.
- ๐Sealed Secrets ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ - Encrypt your Secret into a SealedSecret, which is safe to store - even to a public repository.
- ๐ingress-nginx ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ -
ingress-nginx
is an Ingress controller for Kubernetes using NGINX as a reverse proxy and load balancer. - ๐kubernetes-ingress ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ - An implementation of an Ingress controller for NGINX and NGINX Plus (commercial).
- ๐Calico Networking ๐ฅ๐ฅ๐ฅ๐ฅ - Calico is an open source networking and network security solution for containers, virtual machines, and bare-metal workloads
- ๐CoreDNS ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ - CoreDNS is a fast and flexible DNS server that works on Kubernetes.
- ๐Kong for Kubernetes ๐ฅ๐ฅ๐ฅ๐ฅ - Configure plugins, health checking, load balancing and more in Kong for Kubernetes Services.
- ๐cert-manager ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ - cert-manager is a Kubernetes add-on to automate the management and issuance of TLS certificates from various issuing sources.
- ๐ksniff ๐ฅ๐ฅ๐ฅ - A kubectl plugin that utilize tcpdump and Wireshark to start a remote capture on any pod in your Kubernetes cluster.
- ๐kubectl trace ๐ฅ๐ฅ๐ฅ -
kubectl trace
is a kubectl plugin that allows you to schedule the execution of bpftrace programs in your Kubernetes cluster.
- ๐Rook ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ - Rook is an open source cloud-native storage orchestrator for Kubernetes.
- ๐OpenEBS ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ - OpenEBS is the most widely deployed and easy to use open-source storage solution for Kubernetes.
- ๐Longhorn ๐ฅ๐ฅ๐ฅ๐ฅ - Longhorn is a distributed block storage system for Kubernetes.
- Amazon EBS CSI Driver - The Amazon Elastic Block Store Container Storage Interface (CSI) Driver provides a CSI interface used by Container Orchestrators to manage the lifecycle of Amazon EBS volumes.
- Amazon EFS CSI Driver - The Amazon Elastic File System Container Storage Interface (CSI) Driver implements the CSI specification for container orchestrators to manage the lifecycle of Amazon EFS filesystems.
- Amazon FSx for Lustre CSI Driver - The Amazon FSx for Lustre Container Storage Interface (CSI) Driver implements CSI specification for container orchestrators (CO) to manage lifecycle of Amazon FSx for Lustre filesystems.
- ๐kube-monkey ๐ฅ๐ฅ๐ฅ๐ฅ - It randomly deletes Kubernetes (k8s) pods in the cluster encouraging and validating the development of failure-resilient services.
- ๐Kubetest ๐ฅ - Kubetest is a pytest plugin that makes it easier to manage a Kubernetes cluster within your integration tests.
- ๐Litmus ๐ฅ๐ฅ๐ฅ - Litmus provides tools to orchestrate chaos on Kubernetes to help SREs find weaknesses in their deployments.
- ๐PowerfulSeal ๐ฅ๐ฅ๐ฅ๐ฅ - PowerfulSeal injects failure into your Kubernetes clusters, so that you can detect problems as early as possible.
- ๐Kubectl-debug ๐ฅ๐ฅ๐ฅ๐ฅ -
kubectl-debug
is an out-of-tree solution for troubleshooting running pods, which allows you to run a new container in running pods for debugging purpose. - ๐ksniff ๐ฅ๐ฅ๐ฅ - A kubectl plugin that utilize tcpdump and Wireshark to start a remote capture on any pod in your Kubernetes cluster.
- ๐k6 ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ - k6 is a modern load testing tool, building on Load Impact's years of experience in the load and performance testing industry.
- ๐Conftest ๐ฅ๐ฅ๐ฅ๐ฅ - Conftest helps you write tests against structured configuration data.
- ๐chaoskube ๐ฅ๐ฅ๐ฅ๐ฅ -
chaoskube
periodically kills random pods in your Kubernetes cluster. - ๐Chaos Mesh ๐ฅ๐ฅ๐ฅ๐ฅ - Chaos Meshยฎ is a cloud-native Chaos Engineering platform that orchestrates chaos on Kubernetes environments.
-
- ๐popeye ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ - Popeye is a utility that scans live Kubernetes cluster and reports potential issues with deployed resources and configurations.
- ๐kube-score ๐ฅ๐ฅ๐ฅ -
kube-score
is a tool that performs static code analysis of your Kubernetes object definitions.
- ๐Prometheus ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ - Prometheus, a Cloud Native Computing Foundation project, is a systems and service monitoring system.
- ๐Grafana ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ - Grafana allows you to query, visualize, alert on and understand your metrics no matter where they are stored.
- ๐kube-state-metrics ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ - kube-state-metrics is a simple service that listens to the Kubernetes API server and generates metrics about the state of the objects.
- ๐Kubernetes Metrics Server ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ - Metrics Server is a scalable, efficient source of container resource metrics for Kubernetes built-in autoscaling pipelines.
- ๐Kubernetes Operational View ๐ฅ๐ฅ๐ฅ๐ฅ - A tool that aims to provide a common operational picture for multiple Kubernetes clusters.
- ๐Kubernetes Dashboard ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ - Kubernetes Dashboard is a general purpose, web-based UI for Kubernetes clusters.
- ๐Thanos ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ - Thanos is a set of components that can be composed into a highly available metric system with unlimited storage capacity.
- ๐Cortex ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ - Cortex provides horizontally scalable, highly available, multi-tenant, long term storage for Prometheus.
- ๐Goldilocks ๐ฅ๐ฅ - This tool creates a vertical pod autoscaler for each deployment in a namespace and then queries them for information.
- ๐Kiali ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ - Kiali works with Istio to visualise the service mesh topology.
- ๐Searchlight ๐ฅ๐ฅ - Searchlight/Icinga periodically runs various checks on a Kubernetes cluster and sends notifications if detects an issue.
- ๐Popeye ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ - Popeye is a utility that scans live Kubernetes cluster and reports potential issues with deployed resources and configurations.
- ๐kubewatch ๐ฅ๐ฅ๐ฅ๐ฅ -
kubewatch
is a Kubernetes watcher that currently publishes notification to available collaboration hubs/notification channels. - ๐Sloop ๐ฅ๐ฅ๐ฅ - Sloop monitors Kubernetes, recording histories of events and resource state changes and providing visualizations to aid in debugging past events.
- ๐BotKube ๐ฅ๐ฅ๐ฅ - BotKube integration with Slack or Mattermost helps you monitor your Kubernetes cluster, debug critical deployments and gives recommendations for standard practices by running checks on the Kubernetes resources.
- ๐kube-capacity ๐ฅ๐ฅ๐ฅ - This is a simple CLI that provides an overview of the resource requests, limits, and utilization in a Kubernetes cluster.
- ๐katafygio ๐ฅ - katafygio discovers Kubernetes objects (deployments, services, ...), and continuously save them as yaml files in a git repository.
- ๐kube-bench ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ - kube-bench is a Go application that checks whether Kubernetes is deployed securely by running the checks documented in the CIS Kubernetes Benchmark.
- ๐Gatekeeper ๐ฅ๐ฅ๐ฅ๐ฅ - Policy controller for Kubernetes
- ๐Konstraint - Konstraint is a CLI tool to assist with the creation and management of constraints when using Gatekeeper.
- ๐kube-hunter ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ - kube-hunter hunts for security weaknesses in Kubernetes clusters.
- Kube-Scan ๐ฅ๐ฅ - Kube-Scan gives a risk score, from 0 (no risk) to 10 (high risk) for each workload.
- ๐Permission manager ๐ฅ๐ฅ๐ฅ - Permission Manager is an application developed by SIGHUP that enables a super-easy and user-friendly RBAC management for Kubernetes.
- ๐rakkess ๐ฅ๐ฅ๐ฅ - kubectl plugin to show an access matrix for server resources
- ๐Istio ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ - An open platform to connect, manage, and secure microservices.
- ๐Linkerd ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ - Linkerd is a transparent service mesh, designed to make modern applications safe and sane.
- Consul - HashiCorp's service mesh service that is infrastructure agnostic.
- AWS App Mesh - A service mesh service offered by AWS that works on AWS infrastructure services such as EKS and Fargate.
- ๐Telepresence ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ - Telepresence provides fast, realistic local development for Kubernetes microservices.
- ๐Okteto ๐ฅ๐ฅ๐ฅ๐ฅ -
okteto
accelerates the development workflow of Kubernetes applications. - ๐Tilt ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ - Tilt powers multi-service development and makes sure they behave.
- ๐garden ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ - Garden provides production-like Kubernetes testing environments for integration tests, QA, and development.
- ๐kubernix ๐ฅ๐ฅ - This project aims to provide single dependency Kubernetes clusters for local testing, experimenting and development purposes.
- ๐ko ๐ฅ๐ฅ๐ฅ๐ฅ -
ko
is a tool for building and deploying Golang applications to Kubernetes. - ๐Makisu ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ - Makisu is a fast and flexible Docker image build tool designed for unprivileged containerized environments such as Mesos or Kubernetes.
- ๐Tye ๐ฅ๐ฅ๐ฅ๐ฅ - Tye is a developer tool that makes developing, testing, and deploying microservices and distributed applications easier.
- ๐Volcano ๐ฅ๐ฅ๐ฅ - Volcano is a batch system built on Kubernetes.
- ๐Kubeflow ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ - Kubeflow is a Cloud Native platform for machine learning based on Googleโs internal machine learning pipelines.
- ๐Strimzi ๐ฅ๐ฅ๐ฅ๐ฅ - Strimzi provides a way to run an Apache Kafka cluster on Kubernetes or OpenShift in various deployment configurations.
- ๐Crossplane ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ - Crossplane is an open source Kubernetes add-on that extends any cluster with the ability to provision and manage cloud infrastructure, services, and applications.
- ๐Brigade ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ - Brigade is the tool for creating pipelines for Kubernetes.
- ๐KubeEdge ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ - KubeEdge is built upon Kubernetes and extends native containerized application orchestration and device management to hosts at the Edge.
- ๐AWS Node Termination Handler ๐ฅ๐ฅ - A Kubernetes Daemonset to gracefully handle EC2 instance shutdown
- ๐Descheduler for Kubernetes ๐ฅ๐ฅ๐ฅ๐ฅ - Descheduling pods from nodes based on policies
- ๐Kubeless ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ -
kubeless
is a Kubernetes-native serverless framework that lets you deploy small bits of code without having to worry about the underlying infrastructure plumbing. - ๐Agones ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ - Agones is a library for hosting, running and scaling dedicated game servers on Kubernetes.
- ๐Shell-operator ๐ฅ๐ฅ๐ฅ - Shell-operator is a tool for running event-driven scripts in a Kubernetes cluster.
- A Beginnerโs Guide to Kubernetes - A comprehensive introduction to Kubernetes architecture
- The Illustrated Childrenโs Guide to Kubernetes - Graphical explanations of Kubernetes
- ๐Kubernetes The Hard Way ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ - Kubernetes The Hard Way guides you through bootstrapping a highly available Kubernetes cluster with end-to-end encryption between components and RBAC authentication.
- Troubleshooting Kubernetes deployments - A flow chart to troubleshoot a kubernetes deployment in case of issues
- A Guide to the Kubernetes Networking Model - A in-depth run-through of Kubernetes networking
- How to deploy a production-grade Kubernetes cluster on AWS - This guide will walk you through the process of configuring a production-grade Kubernetes cluster on AWS.
- Amazon EKS Best Practices Guide for Security - This guide provides advice about protecting information, systems, and assets that are reliant on EKS while delivering business value through risk assessments and mitigation strategies.
- Amazon EKS Node Drainer - A guide and an example to cordon and evict all evictable pods from an EC2 node being terminated.
- Amazon EKS Workshop - A comprehensive guide and list of tutorials to work with Amazon EKS.
- Moduler and Scalable Amazon EKS Architecture - A deployment guide that provides step-by-step instructions for deploying Amazon EKS clusters.
- 10 most common mistakes using kubernetes
- Scaling Kubernetes to 2,500 Nodes
- Kubernetes at Reddit: Tales from Production
- Life of a Packet
- How the Department of Defense Moved to Kubernetes and Istio
- Katacoda - This is a Kubernetes playground, a safe place designed for experimenting, exploring and learning Kubernetes.
- Play with Kubernetes - Play with Kubernetes is a playground which allows users to run K8s clusters in a matter of seconds.
- Learn Kubernetes Basics - This tutorial provides a walkthrough of the basics of the Kubernetes cluster orchestration system.
- A Beginnerโs Guide to Kubernetes - A comprehensive introduction to Kubernetes architecture
- Configuring Redis using a ConfigMap - A walkthrough that provides a real world example of how to configure Redis using a ConfigMap
- Exposing an External IP Address to Access an Application in a Cluster - This guide shows how to create a Kubernetes Service object that exposes an external IP address.
- Example: Deploying PHP Guestbook application with Redis - This tutorial shows you how to build and deploy a simple, multi-tier web application using Kubernetes and Docker.
- StatefulSet Basics - This tutorial provides an introduction to managing applications with StatefulSets.
- Example: Deploying WordPress and MySQL with Persistent Volumes - This tutorial shows you how to deploy a WordPress site and a MySQL database using Minikube.
- Example: Deploying Cassandra with a StatefulSet - This tutorial shows you how to run Apache Cassandra on Kubernetes. Cassandra, a database, needs persistent storage to provide data durability.
- Running ZooKeeper, A Distributed System Coordinator - This tutorial demonstrates running Apache Zookeeper on Kubernetes using StatefulSets, PodDisruptionBudgets, and PodAntiAffinity.
- Set Up a CI/CD Pipeline with Kubernetes - A end-to-end guide to set up a CI/CD Pipeline with Kuebernetes
Contributions welcome! Read the contribution guidelines first.
To the extent possible under law, Tom Huang has waived all copyright and related or neighboring rights to this work.