mstrYoda / awesome-k8s-resources

A curated list of awesome Kubernetes tools and resources.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Awesome Kubernetes Resources Awesome

A curated list of awesome Kubernetes tools and resources.

Inspired by awesome list and donnemartin/awesome-aws.

The Fiery Meter of Awesomeness

  • 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.

Contents

Tools and Libraries

Items with ๐Ÿ’š indicate open source projects.

Command Line Tools

  • ๐Ÿ’šHelm ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Helm is a tool for managing Charts. Charts are packages of pre-configured Kubernetes resources.
  • ๐Ÿ’šInfra ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Infra enables you to discover and access infrastructure (e.g. Kubernetes, databases). We help you connect an identity provider such as Okta or Azure active directory, and map users/groups with the permissions you set to your infrastructure.
  • ๐Ÿ’šK9s ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - K9s provides a terminal UI to interact with your Kubernetes clusters.
  • ๐Ÿ’škapp ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - kapp is a simple deployment tool focused on the concept of "Kubernetes application" โ€” a set of resources with the same label
  • ๐Ÿ’škconnect ๐Ÿ”ฅ๐Ÿ”ฅ - kconnect is a CLI utility that can be used to discover and securely access Kubernetes clusters across multiple operating environments.
  • ๐Ÿ’šKtunnel ๐Ÿ”ฅ๐Ÿ”ฅ - Ktunnel is a CLI tool that establishes a reverse tunnel between a kubernetes cluster and your local machine.
  • ๐Ÿ’šKubebox ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Terminal and Web console for Kubernetes
  • ๐Ÿ’šKubetail ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Bash script that enables you to aggregate (tail/follow) logs from multiple pods into one stream.
  • ๐Ÿ’škube-shell ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Kube-shell: An integrated shell for working with the Kubernetes CLI.
  • ๐Ÿ’škubecolor ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - colorizes kubectl output
  • ๐Ÿ’škubectl tree ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - A kubectl plugin to explore ownership relationships between Kubernetes objects through owners.
  • ๐Ÿ’škubectl-aliases ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - This repository contains a script to generate hundreds of convenient shell aliases for kubectl.
  • ๐Ÿ’škubectx + kubens ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - kubectx helps you switch between clusters back and forth, and kubens helps you switch between Kubernetes namespaces smoothly.
  • ๐Ÿ’škubediff ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Kubediff is a tool for Kubernetes to show you the differences between your running configuration and your version controlled configuration.
  • ๐Ÿ’škubeprompt ๐Ÿ”ฅ - Isolates KUBECONFIG in each shell and shows the current Kubernetes context/namespace in your prompt
  • ๐Ÿ’šKubevela ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - KubeVela is an easy-to-use yet extensible platform that enables them to design and ship applications with minimal effort.
  • ๐Ÿ’šnova ๐Ÿ”ฅ๐Ÿ”ฅ - Nova scans your cluster for installed Helm charts, then cross-checks them against all known Helm repositories.
  • ๐Ÿ’šPlural ๐Ÿ”ฅ๐Ÿ”ฅ - Plural is a CLI tool and holistic DevOps management platform for rapidly deploying, managing, and monitoring open-source applications on Kubernetes.
  • ๐Ÿ’šstern ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Stern allows you to tail multiple pods on Kubernetes and multiple containers within the pod.

Cluster Provisioning

  • ๐Ÿ’šBootkube ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Bootkube is a tool for launching self-hosted Kubernetes clusters.
  • ๐Ÿ’šCluster API ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Cluster API is a Kubernetes sub-project focused on providing declarative APIs and tooling to simplify provisioning, upgrading, and operating multiple Kubernetes clusters.
  • ๐Ÿ’šeksctl ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - eksctl is a simple CLI tool for creating clusters on EKS - Amazon's new managed Kubernetes service for EC2.
  • ๐Ÿ’šk0s ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - k0s - Zero Friction Kubernetes (The Simple, Solid & Certified Kubernetes Distribution)
  • ๐Ÿ’šk3d ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - k3d,and Windows.,destroy,half the memory,highly available,is a tool for running local k3s clusters in docker. It's a single binary about 20 MB. You need to have docker installed.
  • ๐Ÿ’šk3s ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Lightweight Kubernetes. Easy to install,Kubernetes clusters from the command line.
  • ๐Ÿ’škind ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - kind is a tool for running local Kubernetes clusters using Docker container "nodes".
  • ๐Ÿ’škops ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - kops helps you create,like kind,upgrade and maintain production-grade
  • ๐Ÿ’škube-aws ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - kube-aws is a command-line tool to create/update/destroy Kubernetes clusters on AWS.
  • ๐Ÿ’škubespray ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Deploy a production ready Kubernetes cluster
  • ๐Ÿ’šmicroK8s ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - The smallest, fastest Kubernetes
  • ๐Ÿ’šMinikube ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - minikube implements a local Kubernetes cluster on macOS,Linux,all in a binary less than 100 MB.
  • Kubeadm - kubeadm performs the actions necessary to get a minimum viable cluster up and running.

Automation and CI/CD

  • ๐Ÿ’šArgo CD ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes.
  • ๐Ÿ’šArgo Events ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Argo Events is an event-driven workflow automation framework for Kubernetes which helps you trigger K8s objects, Argo Workflows, Serverless workloads, etc.
  • ๐Ÿ’šArgo Rollouts ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Argo Rollouts controller, uses the Rollout custom resource to provide additional deployment strategies such as Blue Green and Canary to Kubernetes.
  • ๐Ÿ’šArgo Workflows - Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes.
  • Codefresh - Codefresh is a Docker-native CI/CD platform. Instantly build, test and deploy Docker images to Kubernetes.
  • ๐Ÿ’šFlagger ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Flagger is a progressive delivery tool that automates the release process for applications running on Kubernetes.
  • ๐Ÿ’šFlux2 ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Flux version 2 is built from the ground up to use Kubernetes' API extension system, and to integrate with Prometheus and other core components of the Kubernetes ecosystem.
  • ๐Ÿ’šk8s-image-swapper ๐Ÿ”ฅ๐Ÿ”ฅ - k8s-image-swapper is a mutating webhook for Kubernetes, downloading images into your own registry and pointing the images to that new location.
  • ๐Ÿ’š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.
  • ๐Ÿ’šReloader ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Reloader can watch changes in ConfigMap and Secret and do rolling upgrades on Pods with their associated DeploymentConfigs, Deployments, Daemonsets and Statefulsets.
  • ๐Ÿ’šSkaffold ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Skaffold is a command line tool that facilitates continuous development for Kubernetes applications.
  • ๐Ÿ’šSpinnaker ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Spinnaker is an open-source continuous delivery platform for releasing software changes with high velocity and confidence.
  • ๐Ÿ’šTF-controller ๐Ÿ”ฅ - TF-controller is an experimental controller for Flux to reconcile Terraform resources in the GitOps way.
  • ๐Ÿ’šwerf ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - werf is a CLI tool glueing Git, Docker, Helm & Kubernetes with any CI system to implement CI/CD and GitOps.
  • ๐Ÿ’šWeave GitOps ๐Ÿ”ฅ๐Ÿ”ฅ - Weave GitOps is a simple open source developer platform for people who want cloud native applications, without needing Kubernetes expertise.

Cluster Resources Management

  • ๐Ÿ’šClusterpedia ๐Ÿ”ฅ - Clusterpedia is used for complex resource searches across multiple clusters, support simultaneous search of a single kind of resource or multiple kinds of resources existing in multiple clusters.
  • ๐Ÿ’šGrafana Tanka ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - The clean, concise and super flexible alternative to YAML for your Kubernetes cluster.
  • ๐Ÿ’šKeda ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Event-driven Autoscaling in Kubernetes
  • ๐Ÿ’šKruise ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Kruise consists of several controllers which extend and complement the Kubernetes core controllers for workload management.
  • ๐Ÿ’šKubeDirector ๐Ÿ”ฅ๐Ÿ”ฅ - KubeDirector uses standard Kubernetes (K8s) facilities of custom resources and API extensions to implement stateful scaleout application clusters.
  • ๐Ÿ’šKubenav ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - kubenav is the navigator for your Kubernetes clusters right in your pocket.
  • ๐Ÿ’šLiqo ๐Ÿ”ฅ๐Ÿ”ฅ - Liqo implements Dynamic resource sharing across different Kubernetes clusters (e.g.; offloading pods and services), supporting decentralized governance.
  • ๐Ÿ’šThe Hierarchical Namespace Controller ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Hierarchical namespaces make it easier to share your cluster by making namespaces more powerful.

Secrets Management

  • ๐Ÿ’š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.
  • ๐Ÿ’šakv2k8s ๐Ÿ”ฅ๐Ÿ”ฅ - Azure Key Vault to Kubernetes (akv2k8s) will make Azure Key Vault objects available to Kubernetes in two ways: as native Kubernetes Secrets; as environment variables directly injected into your Container application

Networking

  • ๐Ÿ’šCalico Networking ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Calico is an open source networking and network security solution for containers, virtual machines, and bare-metal workloads
  • ๐Ÿ’šcert-manager ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - cert-manager is a Kubernetes add-on to automate the management and issuance of TLS certificates from various issuing sources.
  • ๐Ÿ’šCoreDNS ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - CoreDNS is a fast and flexible DNS server that works on Kubernetes.
  • ๐Ÿ’šingress-nginx ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - ingress-nginx is an Ingress controller for Kubernetes using NGINX as a reverse proxy and load balancer.
  • ๐Ÿ’šKong for Kubernetes ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Configure plugins, health checking, load balancing and more in Kong for Kubernetes Services.
  • ๐Ÿ’š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.
  • ๐Ÿ’šKube Karp ๐Ÿ”ฅ - Add a floating virtual IP to Kubernetes cluster nodes for load balancing easily based on the CARP protocol
  • ๐Ÿ’škubernetes-ingress ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - An implementation of an Ingress controller for NGINX and NGINX Plus (commercial).
  • ๐Ÿ’škube-ovn ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - A Kubernetes Network Fabric for Enterprises that is Rich in Functions and Easy in Operations.

Storage

  • ๐Ÿ’šLonghorn ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Longhorn is a distributed block storage system for Kubernetes.
  • ๐Ÿ’šOpenEBS ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - OpenEBS is the most widely deployed and easy to use open-source storage solution for Kubernetes.
  • ๐Ÿ’šRook ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Rook is an open source cloud-native storage orchestrator 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.

Testing and Troubleshooting

  • ๐Ÿ’šChaos Mesh ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Chaos Meshยฎ is a cloud-native Chaos Engineering platform that orchestrates chaos on Kubernetes environments.
  • ๐Ÿ’šchaoskube ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - chaoskube periodically kills random pods in your Kubernetes cluster.
  • ๐Ÿ’šConftest ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Conftest helps you write tests against structured configuration data.
  • ๐Ÿ’šCopper ๐Ÿ”ฅ๐Ÿ”ฅ - A configuration file validator for Kubernetes. This is specifically useful with Kubernetes configuration files to enforce best practices, apply policies and compliance requirements.
  • ๐Ÿ’šDETIK ๐Ÿ”ฅ - A library that simplifies end-to-end testing of K8s applications by using BATS assertions and natural language queries.
  • ๐Ÿ’šk6 ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - k6 is a modern load testing tool, building on Load Impact's years of experience in the load and performance testing industry.
  • ๐Ÿ’šksniff ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - A kubectl plugin that utilize tcpdump and Wireshark to start a remote capture on any pod in your Kubernetes cluster.
  • ๐Ÿ’šKube DOOM ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - The next level of chaos engineering is here! Kill pods inside your Kubernetes cluster by shooting them in Doom!
  • ๐Ÿ’škube-monkey ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - It randomly deletes Kubernetes (k8s) pods in the cluster encouraging and validating the development of failure-resilient services.
  • ๐Ÿ’škube-score ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - kube-score is a tool that performs static code analysis of your Kubernetes object definitions.
  • ๐Ÿ’š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.
  • ๐Ÿ’šKubeInvaders ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Through KubeInvaders you can stress Kubernetes cluster in a fun way and check how it is resilient.
  • ๐Ÿ’š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.
  • ๐Ÿ’špopeye ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Popeye is a utility that scans live Kubernetes cluster and reports potential issues with deployed resources and configurations.
  • ๐Ÿ’šPowerfulSeal ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - PowerfulSeal injects failure into your Kubernetes clusters, so that you can detect problems as early as possible.

Monitoring, Alerts, and Visualization

  • ๐Ÿ’š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.
  • ๐Ÿ’š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.
  • ๐Ÿ’šGrafana ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Grafana allows you to query, visualize, alert on and understand your metrics no matter where they are stored.
  • ๐Ÿ’šk8s-image-availability-exporter ๐Ÿ”ฅ - Prometheus exporter that warns you proactively about images that are defined in Kubernetes objects but are not available in the container registry.
  • ๐Ÿ’šKiali ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Kiali works with Istio to visualise the service mesh topology.
  • ๐Ÿ’škube-capacity ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - This is a simple CLI that provides an overview of the resource requests, limits, and utilization in a Kubernetes cluster.
  • ๐Ÿ’š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 Dashboard ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Kubernetes Dashboard is a general purpose, web-based UI for Kubernetes clusters.
  • ๐Ÿ’š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.
  • ๐Ÿ’škubewatch ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - kubewatch is a Kubernetes watcher that currently publishes notification to available collaboration hubs/notification channels.
  • ๐Ÿ’šLens ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Lens it's an useful, attractive, open source user interface (UI) for working with Kubernetes clusters.
  • ๐Ÿ’šMizu ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - API traffic viewer for Kubernetes enabling you to view all API communication between microservices. Think TCPDump and Wireshark re-invented for Kubernetes
  • ๐Ÿ’šOctant ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Octant is a highly extensible platform for developers to better understand the complexity of Kubernetes clusters.
  • ๐Ÿ’šPopeye ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Popeye is a utility that scans live Kubernetes cluster and reports potential issues with deployed resources and configurations.
  • ๐Ÿ’šPrometheus ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Prometheus, a Cloud Native Computing Foundation project, is a systems and service monitoring system.
  • ๐Ÿ’šSearchlight ๐Ÿ”ฅ๐Ÿ”ฅ - Searchlight/Icinga periodically runs various checks on a Kubernetes cluster and sends notifications if detects an issue.
  • ๐Ÿ’šSloop ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Sloop monitors Kubernetes, recording histories of events and resource state changes and providing visualizations to aid in debugging past events.
  • ๐Ÿ’šThanos ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Thanos is a set of components that can be composed into a highly available metric system with unlimited storage capacity.
  • ๐Ÿ’šKubedev ๐Ÿ”ฅ - Kubedev is a powerful and beautiful user interface for managing Kubernetes clusters.
  • ๐Ÿ’šKubeHelper ๐Ÿ”ฅ - KubeHelper - simplifies many daily Kubernetes cluster tasks through a web interface.

Backup and Restore

  • ๐Ÿ’škatafygio ๐Ÿ”ฅ - katafygio discovers Kubernetes objects (deployments, services, ...), and continuously save them as yaml files in a git repository.
  • ๐Ÿ’šVelero ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Velero (formerly Heptio Ark) gives you tools to back up and restore your Kubernetes cluster resources and persistent volumes.

Security and Compliance

  • ๐Ÿ’šDatree ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Datree is a CLI tool that supports Kubernetes admins in their roles by preventing developers from making errors in Kubernetes configurations that can cause clusters to fail in production.
  • ๐Ÿ’šDeepfence ThreatMapper ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Apache v2, powerful runtime vulnerability scanner for kubernetes, virtual machines and serverless.
  • ๐Ÿ’šFalco ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Falco is a behavioral activity monitor designed to detect anomalous activity in your applications. You can use Falco to monitor run-time security of your Kubernetes applications and internal components.
  • ๐Ÿ’šGatekeeper ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Policy controller for Kubernetes
  • ๐Ÿ’šk-rail ๐Ÿ”ฅ๐Ÿ”ฅ - k-rail is a workload policy enforcement tool for Kubernetes. It can help you secure a multi tenant cluster with minimal disruption and maximum velocity.
  • ๐Ÿ’šKonstraint ๐Ÿ”ฅ๐Ÿ”ฅ - Konstraint is a CLI tool to assist with the creation and management of constraints when using Gatekeeper.
  • ๐Ÿ’š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.
  • ๐Ÿ’škube-hunter ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - kube-hunter hunts for security weaknesses in Kubernetes clusters.
  • ๐Ÿ’šKubeLinter ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - KubeLinter is a static analysis tool that checks Kubernetes YAML files and Helm charts to ensure the applications represented in them adhere to best practices.
  • ๐Ÿ’šKubesploit ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Kubesploit is a cross-platform post-exploitation HTTP/2 Command & Control server and agent dedicated for containerized environments written in Golang and built on top of Merlin project by Russel Van Tuyl (@Ne0nd0g).
  • ๐Ÿ’šKubiScan ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - A tool for scanning Kubernetes cluster for risky permissions in Kubernetes's Role-based access control (RBAC) authorization model.
  • ๐Ÿ’šKyverno ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Kyverno is a policy engine designed for Kubernetes. It can validate, mutate, and generate configurations using admission controls and background scans.
  • ๐Ÿ’š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
  • Deepfence ThreatStryker - Full life cycle Cloud Native Security Observability Platform for kubernetes, virtual machines and serverless.
  • Kube-Scan ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Kube-Scan gives a risk score, from 0 (no risk) to 10 (high risk) for each workload.
  • Teleport ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Teleport Unified Access Plane enables engineers to quickly access any computing resource anywhere.

Service Mesh

  • ๐Ÿ’š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.
  • ๐Ÿ’šOpen Service Mesh ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Open Service Mesh (OSM) is a lightweight, extensible, Cloud Native service mesh that allows users to uniformly manage, secure, and get out-of-the-box observability features for highly dynamic microservice environments.
  • AWS App Mesh - A service mesh service offered by AWS that works on AWS infrastructure services such as EKS and Fargate.
  • Consul - HashiCorp's service mesh service that is infrastructure agnostic.
  • NGINX Service Mesh - NGINX Service Mesh (NSM) provides a turnkey, secure, service-to-service solution for container traffic management, with a unified data plane for ingress and egress management in a single configuration.

Development Tools

  • ๐Ÿ’šgarden ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Garden provides production-like Kubernetes testing environments for integration tests, QA, and development.
  • ๐Ÿ’ško ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - ko is a tool for building and deploying Golang applications to Kubernetes.
  • ๐Ÿ’šKonfig ๐Ÿ”ฅ - Konfig is a Kubernetes friendly Rails gem. It can load configuration and secrets from both YAML or folders with individual files and present them to your application the same way.
  • ๐Ÿ’škubevious ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Kubevious renders all configurations relevant to the application in one place. That saves a lot of time from operators, eliminating the need for looking up settings and digging within selectors and labels.
  • ๐Ÿ’škubectl-warp ๐Ÿ”ฅ๐Ÿ”ฅ - Kubernetes CLI plugin for syncing and executing local files in Pod on Kubernetes
  • ๐Ÿ’škubernix ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - This project aims to provide single dependency Kubernetes clusters for local testing, experimenting and development purposes.
  • ๐Ÿ’šMakisu ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Makisu is a fast and flexible Docker image build tool designed for unprivileged containerized environments such as Mesos or Kubernetes.
  • ๐Ÿ’šMonokle ๐Ÿ”ฅ - Monokle helps you create, edit and validate yaml manifests, visualize and validate resource links and dependencies, connect and compare resources to your clusters, debug the output of kustomize or helm, and more!
  • ๐Ÿ’šOkteto ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - okteto accelerates the development workflow of Kubernetes applications.
  • ๐Ÿ’šTelepresence ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Telepresence provides fast, realistic local development for Kubernetes microservices.
  • ๐Ÿ’šTilt ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Tilt powers multi-service development and makes sure they behave.
  • ๐Ÿ’šTye ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Tye is a developer tool that makes developing, testing, and deploying microservices and distributed applications easier.

Data Processing and Machine Learning

  • ๐Ÿ’š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.
  • ๐Ÿ’šVolcano ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Volcano is a batch system built on Kubernetes.
  • ๐Ÿ’šyunikorn ๐Ÿ”ฅ๐Ÿ”ฅ - a light-weight, universal resource scheduler for container orchestrator systems.

Data Management

  • ๐Ÿ’šKubegres ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Kubegres is a Kubernetes operator allowing to deploy one or many clusters of PostgreSql pods with data replication and failover enabled out-of-the box.
  • ๐Ÿ’šPostgres Operator ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - PGO, the Postgres Operator from Crunchy Data, gives you a declarative Postgres solution that automatically manages your PostgreSQL clusters.
  • ๐Ÿ’šMongoDB Community Kubernetes Operator ๐Ÿ”ฅ๐Ÿ”ฅ - This is a Kubernetes Operator which deploys MongoDB Community into Kubernetes clusters.
  • ๐Ÿ’šMySQL Operator for Kubernetes ๐Ÿ”ฅ - The MYSQL Operator for Kubernetes is an Operator for Kubernetes managing MySQL InnoDB Cluster setups inside a Kubernetes Cluster.
  • ๐Ÿ’šRedis Operator ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Redis Operator creates/configures/manages redis-failovers atop Kubernetes.

Miscellaneous

  • ๐Ÿ’šAgones ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Agones is a library for hosting, running and scaling dedicated game servers on Kubernetes.
  • ๐Ÿ’šAWS Controllers for Kubernetes ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - AWS Controllers for Kubernetes (ACK) lets you define and use AWS service resources directly from Kubernetes.
  • ๐Ÿ’šAWS Node Termination Handler ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - A Kubernetes Daemonset to gracefully handle EC2 instance shutdown
  • ๐Ÿ’šBrigade ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Brigade is the tool for creating pipelines for Kubernetes.
  • ๐Ÿ’š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.
  • ๐Ÿ’šDescheduler for Kubernetes ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Descheduling pods from nodes based on policies
  • ๐Ÿ’šDevtron ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - It is designed as a self-serve platform for operationalizing and maintaining applications (AppOps) on kubernetes in a developer friendly way.
  • ๐Ÿ’šOpenCost ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - OpenCost models give teams visibility into current and historical Kubernetes spend and resource allocation.
  • ๐Ÿ’šK8sPurger ๐Ÿ”ฅ - K8sPurger Hunt Unused Resources In Kubernetes.
  • ๐Ÿ’šKubeEdge ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - KubeEdge is built upon Kubernetes and extends native containerized application orchestration and device management to hosts at the Edge.
  • ๐Ÿ’š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.
  • ๐Ÿ’šKubePug ๐Ÿ”ฅ๐Ÿ”ฅ - A tool to check deprecations before upgrading Kubernetes version
  • ๐Ÿ’šShell-operator ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ - Shell-operator is a tool for running event-driven scripts in a Kubernetes cluster.

Guides, Documentations, Blogs, and Learnings

Guides

Blogs and Videos

Learnings and Documentations

Certification Guides

Contribute

Contributions welcome! Read the contribution guidelines first.

License

CC0

To the extent possible under law, Tom Huang has waived all copyright and related or neighboring rights to this work.

About

A curated list of awesome Kubernetes tools and resources.

License:Creative Commons Zero v1.0 Universal