Awesome-Kubernetes
A curated list for awesome kubernetes sources inspired by @sindresorhus' awesome
"Talent wins games, but teamwork and intelligence wins championships."
-- Michael Jordan
Without the help from these amazing contributors, building this awesome-repo would never has been possible. Thank You very much guys !!
Thanks to Gitbook.This awesome list can now be downloaded and read in the form of a book. Check it out --> https://www.gitbook.com/book/ramitsurana/awesome-kubernetes/ .Keep Learning Keep Sharing !!
If you see a package or project here that is no longer maintained or is not a good fit, please submit a pull request to improve this file. Thank you!
What is Kubernetes? :ship:
Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. It groups containers that make up an application into logical units for easy management and discovery.
Source: What is Kubernetes
History
Kubernetes is known to be a descendant of Google's system BORG
The first unified container-management system developed at Google was the system we internally call Borg. It was built to manage both long-running services and batch jobs, which had previously been handled by two separate systems: Babysitter and the Global Work Queue. The latter’s architecture strongly influenced Borg, but was focused on batch jobs; both predated Linux control groups.
Source: Kubernetes Past
Date of Birth
Kubernetes celebrates its birthday every year on 21st July. Kubernetes 1.0 was released on July 21 2015, after being first announced to the public at Dockercon in June 2014.
Roadmap
The awesome-kubernetes will now soon be available in the form of different releases and package bundles, It means that you can download the awesome kubernetes release up to a certain period of time, The release for awesome kubernetes 2015 bundle is released. Checkout the releases column for more info.
Featured On
- https://cloud.google.com/community/
- https://www.freecodecamp.org/news/a-friendly-introduction-to-kubernetes-670c50ce4542/
Menu
- Awesome-Kubernetes
- Menu
- Starting Point
- Installers
- Main Resources
- Release Notes
- Useful Articles
- Managed Kubernetes
- Interactive Learning Environments
- MOOC Courses / Tutorials
- Case Studies
- Persistent Volume Providers
- Container Storage Interface Plugins
- Cluster API Providers
- Developer Libraries/ Scripts
- Projects
- Related Software
- Package Managers
- Monitoring Services
- Testing
- Continuous Delivery
- Serverless Implementations
- Operators
- Custom Schedulers
- Container Support
- Database
- Networking
- Service mesh
- RPC
- Secret generation and management
- Web applications
- Desktop applications
- Mobile applications
- API/CLI adaptors
- Application deployment orchestration
- Configuration
- Security
- Load balancing
- Big Data
- Machine Learning
- Service Discovery
- Operating System
- YAML/JSON Config
- Static Analysis
- Tuning
- Backup and Disaster Recovery
- Policy Management
- Plugins
- Debug
- Benchmark Tools
- Raspberry Pi
- Books
- Certifications
- Slide Presentations
- Videos
- Interesting Twitter Accounts
- Amazing People
- Meetup Groups
- Connecting with Kubernetes
- Conferences
- Contributing
- License
Starting Point
A place that marks the beginning of a journey
- Kubernetes Community Overview and Contributions Guide by Ihor Dvoretskyi
- Are you Ready to Manage your Infrastructure like Google?
- Google is years ahead when it comes to the cloud, but it's happy the world is catching up
- An Intro to Google’s Kubernetes and How to Use It by Laura Frank
- Kubernetes: The Future of Cloud Hosting by Meteorhacks
- Kubernetes by Google by Gaston Pantana
- Key Concepts by Arun Gupta
- Application Containers: Kubernetes and Docker from Scratch by Keith Tenzer
- Learn the Kubernetes Key Concepts in 10 Minutes by Omer Dawelbeit
- Top Reasons Businesses Should Move to Kubernetes Now by Mike Johnston
- The Children's Illustrated Guide to Kubernetes by Deis
- The ‘kubectl run’ command by Michael Hausenblas
- Docker Kubernetes Lab Handbook by Peng Xiao
- Curated Resources for Kubernetes
- Kubernetes Comic by Google Cloud Platform
- Kubernetes 101: Pods, Nodes, Containers, and Clusters by Dan Sanche
- An Introduction to Kubernetes by Justin Ellingwood
- Kubernetes and everything else - Introduction to Kubernetes and it's context by Rinor Maloku
- Installation on Centos 7
- Setting Up a Kubernetes Cluster on Ubuntu 18.04
- Cloud Native Landscape
Installers
- Bootkube - CoreOS - Cloud Agnostic
- Breeze - CentOS - Cloud Agnostic
- Conjure-up - Ubuntu - Cloud Agnostic
- Docker for MAC - Run Kubernetes and Docker locally on your MAC (Edge Channel)
- Docker for Windows - Run Kubernetes and Docker locally on your Windows PC (Edge Channel)
- eksctl - The official CLI for Amazon EKS
- Juju - Ubuntu - Cloud Agnostic
- KubeSphere - Install Kubernetes and KubeSphere in multiple instances in an easy way, including full-stack cloud-native softwares, e.g. istio, ES, Prometheus, Fluent Bit, SonarQube, Jenkins.
- k3s - Lightweight Kubernetes. Easy to install, half the memory, all in a binary less than 40mb
- k3d - A tool for running k3s clusters in container nodes
- kind - A tool for running local Kubernetes clusters using Docker container “nodes”
- Kops - OS Agnostic - AWS
- Kube-ansible - OS Agnostic - Cloud Agnostic
- Kube-aws - CoreOS - AWS
- Kube-deploy
- Kubeadm - OS Agnostic - Cloud Agnostic
- KubeNow - Ubuntu - Cloud Agnostic
- Kubernetes-Saltstack -
systemd
OS - Cloud Agnostic - Kubespray - OS Agnostic - Cloud Agnostic
- Kubicorn - OS Agnostic - Cloud Agnostic
- Kublr - OS Agnostic - On-Prem - Cloud Agnostic
- Linode - CoreOS - Linode
- matchbox - CoreOS - Network boot and provision Container Linux clusters (e.g. etcd3, Kubernetes, more).
- MetalK8s - CentOS - On-Prem - Cloud Agnostic - Apache-2.0
- MicroK8s - A single package of k8s that installs on 42 flavours of Linux
- Minikube - Run Kubernetes locally
- RKE - OS Agnostic - Cloud Agnostic
- sealos - Simple kubernetes HA installer
- Simplekube -
systemd
OS - Cloud Agnostic - Supergiant - CoreOS - Cloud Agnostic
- Terraform - CoreOS - AWS
- Typhoon - Container Linux - Cloud Agnostic
- aks-engine - AKS Engine is the easiest way to provision a self-managed Kubernetes cluster on Azure.
Main Resources
Official resources from the Kubernetes team
Release Notes
Official release notes from the Kubernetes team on Stable Kubernetes Releases
- Kubernetes-1.18
- Kubernetes-1.17
- Kubernetes-1.16
- Kubernetes-1.15
- Kubernetes-1.14
- Kubernetes-1.13
- Kubernetes-1.12
- Kubernetes-1.11
- Kubernetes-1.10
- Kubernetes-1.9
- Kubernetes-1.8
- Kubernetes-1.7
- Kubernetes-1.6
- Kubernetes-1.5
- Kubernetes-1.4
- Kubernetes-1.3
- Kubernetes-1.2
Useful Articles
A piece of writing included with others in a newspaper, magazine, or other publication
Cloud Providers
- Kubernetes on AWS by CoreOS
- AWS Advent 2014 - CoreOS and Kubernetes on AWS by Tim Dsyinger
- Kubernetes and AWS VPC Peering by Ben Straub
- Testing Kubernetes on AWS by Alan Will
- Kubernetes: First steps on Amazon AWS by Remco
- Manage Kubernetes Clusters on AWS Using Kops
- Production grade Kubernetes on AWS: Primer (Part 1) by Guy Maliar
- Production grade Kubernetes on AWS: 4 tools that made our lives easier (Part 2) by Guy Maliar
- Production grade Kubernetes on AWS: 3 tips for networking, ingress and microservices (Part 3) by Guy Maliar
- Production grade Kubernetes on AWS: 3 lessons learned scaling a cluster (Part 4) by Guy Maliar
- Continuous Deployment with Google Container Engine and Kubernetes
- Creating a Kubernetes Cluster on DigitalOcean with Python and Fabric
- Deploy a Kubernetes development cluster with Juju! by Matt Bruzek
- Containers at Scale with Kubernetes on OpenStack by Keith Tenzer
Logging
- Logging in Kubernetes with Fluentd and Elasticsearch by Jon Langemak
- Logging - Kafka topic by namespace by Michael Ward
Monitoring
- Kubernetes Monitoring Guide by JM Saponaro
- Installing cAdvisor and Heapster on bare metal Kubernetes by Jon Langemak
- How to Monitor Kubernetes: A 4-Part Series
- Kubernetes Web UIs in 2019
Security
- Kubernetes Security Guide - RBAC, TLS, Security policy, Network policy, etc.
- Handling Sensitive Data In A Docker Application with Kubernetes Secrets by John Kariuki
- How to Create and Use Kubernetes Secrets by Mohamed Ez Ez
- Kubernetes Security Best Practices
- Running Vault and Consul on Kubernetes by Michael Herman
Authentication
- Kubernetes Authentication plugins and kubeconfig by Jon Langemak
- Kubernetes Authentication - OpenID Connect by Michael Ward
- Kubernetes authentication via GitHub OAuth and Dex by Amet Umerov
Networking
- Enable IPv6 on Kubernetes with Project Calico by Valentin Ouvrard
- Kubernetes in IPV6-only by Valentin Ouvrard
- Kubernetes 101 – Networking by Jon Langemak
- Kubernetes with OpenStack Cloud Provider: Current state and upcoming changes (part 1 of 2)
- Comparison of Networking Solutions for Kubernetes
- IPVS-Based In-Cluster Load Balancing Deep Dive
CI/CD
- GitOps: High-Velocity CI/CD for Kubernetes
- Achieving CI/CD with Kubernetes by Ramit Surana
- Jenkins declarative pipelines with Kubernetes
- Adding CI/CD to your Spring Boot app with Jenkins X and Kubernetes by Matt Raible using Jenkins X
- DOCKER & KUBERNETES : JENKINS-X ON EKS
- Continuous Integration and Delivery to AWS Kubernetes using Semaphore
- CI/CD for Microservices on DigitalOcean Kubernetes using Semaphore
- How to Release Faster with Continuous Delivery for Google Kubernetes using Semaphore
- Build, Test & Deploy to Kubernetes by Buddy
- CircleCI
- Kubernetes Deployments: The Ultimate Guide by Jérôme Petazzoni
Deep Learning
Certifications
Devops Tools
- Kubernetes with SaltStack revisited by Jon Langemak
- Try Kubernetes with Vagrant by Christoph Hartmann
- Cluster Consul using Kubernetes API
- Dynamic Kubernetes installation/configuration with SaltStack by Jon Langemak
- Deploying Kubernetes with SaltStack by Jon Langemak
Others
- Packaging Multiple Resources together by Arun Gupta
- Scaling Docker with Kubernetes by Carlos Sanchez
- Creating a Kubernetes Cluster to Run Docker Formatted Container Images by Chris Negus
- Containerizing Docker on Kubernetes !! by Ramit Surana
- Quay: Introducing an Application Registry for Kubernetes by Antoine Legrand
- Play With Kubernetes Quickly Using Docker
- 1 command to Kubernetes with Docker compose by Sebastien Goasguen
- What even is a kubelet? by Kamal Marhubi
- Kubernetes from the ground up: the API server by Kamal Marhubi
- CoreOS + Kubernetes Step By Step by Coreos
- Deploying to Kubernetes with Panamax by Brian DeHamer
- Deploy Kubernetes with a Single Command Using Atomicapp by Jason Brooks
- Deploying a Bare Metal Kubernetes Cluster by James Kyle
- Kubernetes clusters with Oh-My-Vagrant by James
- Fleet Unit Files for Kubernetes on CoreOS by Michael Hamrah
- Kubernetes Container Orchestration through Java APIs by Keith Tenzer
- Docker Clustering Tools Compared: Kubernetes vs Docker Swarm
- Kubernetes Production Patterns (and Anti-Patterns)
- Introducing Kubic Project
- Three post learn k8s
- Kubernetes tips & tricks
- Running Flask on Kubernetes
- Deploying Node Apps the "Right" Way by Dan Pastusek
- Simplify your research experiments with Kubernetes by Parmentier Laurent
- Self-registering compact k3OS clusters to Rancher Server via cloud-init by James D. Bohrman
- Benchmarking 5 Popular Load Balancers: Nginx, HAProxy, Envoy, Traefik, and ALB
- Magento on Kubernetes
- Wordpress in Docker with Kubernetes
Managed Kubernetes
- Platform9
- OpenShift Online
- Eldarion Cloud
- NetApp Kubernetes Service (formerly StackPoint Cloud)
- Hasura
- ELASTX
-
Cluster Managers
- Gardener - Alibaba, AWS, Azure, GCP, and OpenStack cluster manager
- Gravity - Formerly Telekube
- Kqueen
- Kubermatic
- KubeSphere - Full-stack and easy-to-use container platform, with awesome user experience and wizard UI, supports installing on Linux and Kubernetes.
- Kublr - AWS, Azure, GCP, vSphere, vCloud Director, and On-Prem cluster manager
- PKS - Cluster manager by Pivotal, VMWare and Google
-
Developer Platform
DevSpace - Build, test and run code directly inside any Kubernetes cluster
- Draft - A tool for developers to create cloud native applications with Kubernetes
- Eclipse Che - Cloud development workspaces with SSH and multi-user support
- Garden - Orchestrates your development workflows to make developing microservices faster and easier
- Knative - Platform to build, deploy, and manage modern serverless workloads
- Okteto - Develop directly in any Kubernetes cluster. No commit, build or push required
- Mantl - A modern platform for rapidly deploying globally distributed services
- Spring Cloud Kubernetes - Spring Cloud integration with Kubernetes
- VAMP - Cloud-Native Release Management & Orchestration
Tilt - Manages local development instances for teams that deploy to Kubernetes
Enterprise Kubernetes Products
- Docker EE - Docker Enterprise Edition 2.0
- IBM Cloud Private
- Kublr - Kubernetes for the Enterprise - multi-cloud and on-prem Kubernetes operations center
- NetApp Kubernetes Service
- OpenShift - Container Platform
- SUSE Container as a Service
WorldSibu-Forma - Multi-cloud Remote Blockchain Infrastructure Orchestrator with Kubernetes
Public/Private Cloud
- Alibaba Cloud - Alibaba Cloud Container Service for Kubernetes
- AWS EKS - Amazon Elastic Container Service
- Azure AKS - Azure Kubernetes Service
- DigitalOcean - DigitalOcean Kubernetes
- GKE - Google Kubernetes Engine
- IKS - IBM Cloud Kubernetes Service
- OKE - Oracle Kubernetes Engine
- OVH Managed Kubernetes - OVH Managed Kubernetes
- Rackspace - Rackspace
- VMware Cloud PKS
PaaS
Kubernetes Platform as a Service providers
- Eldarion Cloud
- Hasura
- Kel
- KubeSail - An easy, free way to try Kubernetes
- KubeSphere - Full-stack and easy-to-use container platform, with awesome user experience and wizard UI.
- Kyma - A platform for extending apps with serverless functions. It provides a selection of cloud-native projects glued together to simplify the creation and management of services.
- OpenShift Online/Dedicated/Container Platform
- OpenShift Origin (OKD)
- Rancher
- RIO - Kubernetes based MicroPaaS
- teresa - Simple PAAS that runs on top of Kubernetes.
- Z.A.R.V.I.S. - Deploy Github projects to managed Kubernetes for free
Interactive Learning Environments
Learn Kubernetes using an interactive environment without requiring downloads or configuration
MOOC Courses / Tutorials
List of available free online courses(MOOC) and tutorials
Courses
- Scalable Microservices with Kubernetes at Udacity
- Introduction to Kubernetes at edX
Just Enough Kubernetes to be Dangerous
Tutorials
- Kubernetes By Example by OpenShift Team
- Kubernetes Tutorial by Tutorialspoint
- Imperative vs. Declarative — a Kubernetes Tutorial by Adrien Trouillaud
- Learning Kubernetes, The Chinese Taoist Way
Case Studies
Study of Various different case studies
- Building a Bank with Kubernetes
- Bringing Pokemon Go to Google Cloud
- Monitoring Kubernetes at Wayblazer
- Major League Soccer Monolith to Kubernetes Transition
- Using Kubernetes on AWS
- Kubernetes at Github
- Kubernetes the hard way (installation from scratch)
- Kubernetes Failure Stories
Persistent Volume Providers
List of some Persistent Volume Providers for Kubernetes.Check out Persistent Volume Providers for more info
- AWS
- CephRBD
- GCE
- Glusterfs
- Hitachi
- HPE
- Kube-Aliyun
- Linode
- Microsoft
- NetApp Trident
- OpenEBS
- OpenStack Cinder
- Portworx
- Pure Storage
- QuoByte
- Rancher Longhorn
- Rook
- StorageOS
- Stork
Container Storage Interface Plugins
List of some Container Storage Interface plugins for Kubernetes. Check out Kubernetes-CSI Drivers for a complete list
- Alibaba Cloud
- AWS EBS
- AWS EFS
- AWS FSx for Lustre
- Ceph
- Cinder
- Cloudscale
- DigitalOcean
- Ember
- Google Compute Engine Persistent Disk
- Intel PMEM-CSI
- KaDalu - Gluster
- Linode Block Storage
- Longhorn
- NetApp Trident
- Nexenta
- OpenSDS
- OpenStack Cinder
- Portworx
- Quobyte
- S3
- Vault
- VMware vSphere
Cluster API Providers
List of some Cluster API providers for Kubernetes. Check out Kubernetes-CAPI Providers for more info
Bootstrap
-
Infrastructure
- Azure
- Metal3-io
- DigitalOcean
- GCP
- IBM Cloud
- OpenStack
- VMware vSphere
Developer Libraries/ Scripts
List of some libraries & scripts for executions and good referrals
Python
Projects
Kubernetes-related projects that you might find helpful
Related Software
Projects built to make life with Kubernetes even better, more powerful, more scalable
- Ambassador - API Gateway built on the Envoy Proxy
- Argo - The Workflow Engine for Kubernetes
- Bitnami Kubernetes Production Runtime
- Client Libraries
- Escalator - A batch or job optimized horizontal autoscaler for Kubernetes
- Fission Workflows - Workflow-based serverless function composition
- Forecastle - A dashboard which dynamically discovers and provides a launchpad to access applications deployed on Kubernetes
- Git Webhook Proxy - A proxy to let webhooks reach running services behind a firewall
- Hypernetes
- Ingress Monitor Controller - Watches ingress endpoints and automatically registers liveness alerts on the configured uptime checker
- k8s-label-rules-webhook - An admission webhook to enforce standards for labels of resources being created in your k8s cluster
- kmachine
- KEDA - Kubernetes-based Event Driven Autoscaling
- kube-fledged - A K8S add-on for creating and managing a cache of container images directly on cluster worker nodes
- kube-openvpn
- Kubeform
- Kubefuse
- Kubefwd - Bulk port forwarding Kubernetes services for local development.
- Kubernetes Cluster Federation (previously Ubernetes)
- Kubernetes Ec2 Autoscaler
- Kubic-Project
- Reloader - Auto-load updates of ConfigMaps and Secrets into pods for Deployments, StatefulSets and DaemonSets
- Telepresence - Locally develop/debug services against a remote Kubernetes cluster
- krane - A command-line tool that helps you ship changes to a Kubernetes namespace and understand the result
- ktunnel - A command-line tool that establishes a reverse tunnel between Kubernetes and your cluster, use it to locally develop/debug services or integrate with local resources.
- k8s-platform-lcm - A faster and easier way to manage the lifecycle of applications and tools, running and living around your Kubernetes platform
- Pixie - Live-debug multi-cluster K8s environments without changing code and moving data off-cluster.
Package Managers
- CNAB - CNABs facilitate the bundling, installing and managing of container-native apps - and their coupled services.
- Helm - For further information, please check out - Awesome Helm.
- Cloudsmith - A fully managed package management SaaS, with first-class support for public and private Kubernetes registries (Docker + Helm Charts, plus many others).
Monitoring Services
To maintain regular surveillance over kubernetes
- Console
- BotKube - App that helps you monitor your Kubernetes cluster, debug critical deployments & gives recommendations for the standard practices
- Datadog
- Dynatrace - Kubernetes cluster and workload monitoring
- eventrouter - simple introspective kubernetes service that forwards events to a specified sink.
- Goldpinger display, monitor and alert on inter-cluster connectivity
- Grafana Kubernetes App
- Heapster
- kail - Kubernetes Log Viewer. Streams logs from all containers of all matching pods.
- Kubebox - Terminal console for Kubernetes
- Kubecost - monitor resources following their financial cost
- Kubedash - Deprecated repository is archived and read-only
- Kubernetes Operational View - read-only system dashboard for multiple K8s clusters
- K8Dash - Realtime K8S alternative dashboard
- Kubernetes Web View - list and view all Kubernetes resources (incl. CRDs) with permalink-friendly URLs in a plain-HTML frontend
- Kubespy - Tools for observing Kubernetes resources in real time, powered by Pulumi.
- Kubetail
- Kubewatch
- Netdata - Open-source Kubernetes monitoring. Deploy via a Netdata Helm chart.
- Netsil
- New Relic - Kubernetes monitoring and visualization service.
- NexClipper - An open source software for monitoring Kubernetes and containers.
- Outcold Solutions - monitoring Kubernetes, OpenShift and Docker in Splunk Enterprise and Splunk Cloud (metrics and log forwarding)
- Prometheus
- Searchlight
- StatusBay - Kubernetes deployment visibility (inc. Slack notifications, metrics and checks enrichment, resources consolidation, etc)
- Sysdig Monitoring
- Sysdig Open Source
- The Elastic Stack - An open-source solution for monitoring and visualising K8s metrics, logs, application traces and more.
- Weave Scope
- kube-state-metrics - Simple service that listens to the Kubernetes API server and generates metrics about the state of the objects.
- loki - Loki is a horizontally-scalable, highly-available, multi-tenant log aggregation system inspired by Prometheus.
- Loghouse - Efficiently store big amounts of your logs (in ClickHouse database), process them using a simple query language and monitor them online through web UI.
Testing
Test your applications running on Kubernetes
- chaoskube - periodically kills random pods in your Kubernetes cluster
- k8s-testsuite - Helm chart for network and loadtesting of a Kubernetes cluster
- kboom - The Kubernetes scale & soak load tester
- kind - A single node cluster to run your CI tests against thats ready in 30 seconds
- k3d - Quickly create single- or multi-node k3s clusters in containerized nodes
- kube-monkey - Chaos Monkey for Kubernetes clusters
- Kubeadm-dind-cluster - multi-node test cluster based on kubeadm
- Litmus - Chaos engineering for stateful workloads on Kubernetes
- PowerfulSeal - kills targeted pods and machines to test your software reliability
- Sonobuoy - Diagnostic tool that runs Kubernetes conformance tests
- Test-Infra
- KubeInvaders - Gamified Chaos engineering tool for Kubernetes Clusters. It is like Space Invaders but alien ships are pods.
- predator - Distributed performance testing platform for Kubernetes
- Octopus - Octopus is a testing framework that allows you to run integration tests defined as Docker images on a Kubernetes cluster.
- chaos-mesh - A Chaos Engineering Platform for Kubernetes
Continuous Delivery
Build-test-deploy automated workflow software designed to make production environments more stable and life better for engineers
- Jenkins
- Jenkins-Kubernetes Plugin by Carlos Sanchez
- Automated Image Builds with Jenkins, Packer, and Kubernetes
- On-demand Jenkins slaves with Kubernetes and the Google Container Engine
- Jenkins setups for Kubernetes and Docker Workflow
- Lab: Build a Continuous Deployment Pipeline with Jenkins and Kubernetes
- Jenkins Operator - Kubernetes native Jenkins operator
- Jenkins X - automated CI/CD for Kubernetes with GitOps Promotion and Preview Environments on Pull Requests using best of breed OSS tools like: Jenkins, Helm, Skaffold, Kaniko, Knative Build, Knative Pipeline and Prow
- Apollo - Open Source application providing teams with self service UI for creating and deploying their services to Kubernetes.
- Argo CD - Declarative continuous deployment for Kubernetes.
- autoapply - Automatically apply changes from a Git repository to a Kubernetes cluster
- Buildkite - Lean CI/CD cloud hosted control plane with agents on your infrastructure.
- Codefresh - Kubernetes CI/CD platform (with private Docker and Helm Chart repositories)
- GitLab
- k8s-deploy-helper - Framework to easily deploy Kubernetes applications via GitLab.
- kb8or
- Keel
- Kit
- Kontinuous
- KubeCI
- Razee
- Shippable
- Shipper - Kubernetes native multi-cluster canary or blue-green rollouts using Helm.
- Spinnaker
- Vili
- Weave Flux – GitOps reconcoliation operator
- Wercker
- Werf - GitOps tool with advanced features to build images and deploy them to Kubernetes. Integrates with any existing CI system.
- Buddy
Serverless Implementations
- FaaS-netes
- Fission
- Funktion
- Iron.io
- Kubeless
- Nuclio
- OpenFaaS
- OpenWhisk
- Virtual Kubelet - Allows nodes to be backed by other services and providers.
Operators
- Cert manager
- Cert Operator
- cert-manager
- Container Linux Update Operator
- Couchbase
- DB Operator
- Elasticsearch
- etcd
- Istio
- K8s Operator Workshop
- Kafka
- Kong API
- kooper - Simple Go library to create Kubernetes operators and controllers
- Kubernetes Operators
- KubeVirt
- Kured - Kured (Kubernetes Reboot Daemon) is a Kubernetes daemonset that performs safe automatic node reboots
- Memcached
- MongoDB
- MySQL
- Operator Kit
- Operator SDK
- OperatorHub.io - A new home for the Kubernetes community to share Operators
- PostgreSQL
- PostgreSQL - manage PostgreSQL clusters using StatefulSets and Patroni.
- Prometheus
- Addon-operator - adds hooks and values to helm charts in order to enhance the capabilities of helm and transform charts into smart modules that configure themselves and respond to changes in the cluster.
- Shell-operator - a tool for running event-driven scripts in a Kubernetes cluster.
Custom Schedulers
- bashScheduler - Written in bash
- escheduler - Written in elixir
- firmament
- ksched - Experimental flow based scheduler
- Scheduler - Cost based scheduler
- Sticky Node Scheduler
Container Support
A list of linux containers supported by kubernetes.
- Docker
- Rkt
- containerd
- cri-containerd - Containerd-based implementation of Kubernetes Container Runtime Interface
- CRI-O
- Hyper.sh/frakti - Hypervisor-based container runtime
- virtlet - Kubernetes CRI implementation for running VM workloads
- infranetes
- Kata Containers
Database
- Apache Ignite - Memory-centric distributed database, caching, processing platform
- Cassandra / DataStax
- CockroachDB
- CrateDB
- Hazelcast
- Minio
- MongoDB
- RDS - Provision RDS databases via CRD from Kubernetes
- Vitess - Horizontal scaling of MySql by Youtube
- YugabyteDB - Horizontally scalable, Postgres-compatible SQL database.
Networking
- AWS VPC CNI - Networking plugin using Elastic Network Interfaces
- Calico
- Canal by Tigera
- Cilium
- Cisco ACI - CNI plugin from Cisco support ACI fabrics
- CNI-Genie
- cni-ipvlan-vpc-k8s
- Contiv
- External DNS - To control DNS records dynamically via Kube resources
- Goldpinger display, monitor and alert on inter-cluster connectivity
- illuminatio is a tool for automatically testing kubernetes network policies
- Infoblox
- Kube-router
- KubeIP Set static ip for nodes on GKE (useful for whitelisting ips)
- kubernetes-network-policy-recipes
- Kuryr
- Linen
- Multus-cni - Multi-homed pod cni
- Network-Controller - Open vSwitch, Multiple network interfaces that associate with Kubernetes pods
- NSX-T - CNI plugin supporting load balancing and distributed firewalls.
- Nuage
- OpenContrail
- OpenVSwitch
- Romana
- Weave Net
- Submariner: Cross-Cluster Network Connectivity for Kubernetes - Submariner enables direct networking between pods in different Kubernetes clusters on prem or in the cloud.
Service mesh
- Consul
- Envoy
- Istio
- Linkerd
- Weave Mesh
- Maesh: Simpler Service Mesh - Maesh is a straight-forward, easy to configure, and non-invasive service mesh that allows visibility and management of the traffic flows inside any Kubernetes cluster.
- Kuma: The Universal Service Mesh - Build, Secure and Observe your modern Service Mesh.
RPC
Secret generation and management
- CyberArk Conjur Kubernetes Authenticator - Secure your Kubernetes-deployed applications with CyberArk Conjur
- k8sec
- Kamus - A GitOps, zero-trust solution for secrets encryption/decryption solution.
- kube-lego
- kubernetes-vault
- kubesec - Secure Secret management
- Sealed Secrets
- Secure GitOps Using Weave Cloud Deploy And Bitnami's Sealed Secrets
- Vault auth plugin backend: Kubernetes
- Vault controller
Web applications
- Kubernator
- Kubernetes Resource Report - report Kubernetes cluster and pod resource requests vs usage and generate static HTML
- Kubeapps - A web-based UI for deploying and managing applications in Kubernetes clusters
- Kubevious - An open source UI to make Kubernetes configuration and state obvious and safe.
- Polaris - An open source dashboard for Kubernetes best practices
- Octant - A web-based, highly extensible platform for developers to better understand the complexity of Kubernetes clusters.
Desktop applications
- Kubernetic
- Kube Forwarder – An open source Kubernetes port forwarding manager
- Kontena Lens - The Ultimate Dashboard For Kubernetes.
Mobile applications
API/CLI adaptors
- awesome-kubectl-plugins - Curated list of kubectl plugins.
- click - A CLI focused REPL for quickly interacting with Kubernetes objects.
- Ksql
- kube-prompt - Interactive kubernetes client built using go-prompt.
- kube-ps1 - Kubernetes prompt helper for bash and zsh.
- Kube-shell - Integrated shell for working with the Kubernetes CLI
- kube-tmux - Kubernetes tmux plugin to display the current context and namespace
- Kubectl Aliases - Aliases for Kubectl
- kubectl-plugins - A collection of kubectl plugins handling everything from easy context switches to connecting to a container as any user (root included) via exec. Slightly tailored towards GKE users.
- kubectl-trace - Schedule bpftrace programs on your kubernetes cluster using this kubectl plugin
- kubectld
- kubectx - switch between clusters on kubectl
- Kubefuse
- kubens - switch between namespaces on kubectl
- kubensx - Simpler Cluster/User/Namespace switching for Kubernetes (featuring interactive mode and wildcard/fuzzy matching).
- kubeplay
- Kubesh - Work around kubectl
- Kui - Hybrid CLI/GUI alternative to kubectl
- StackStorm
- stern - Multi pod and container log tailing
- Vikube - Kubernetes operations from Vim, in Vim
- K9s - Kubernetes CLI To Manage Your Clusters In Style!
- tubectl - Kubernetes CLI on steroids with pattern matching
- webkubectl - A web based tool helps you to manage kubernetes credentials and run kubectl command in web browser.
Application deployment orchestration
- AppController
- Brigade - Event Based Scripting using JavaScript
- Deployment manager
- ElasticKube
- Gitkube - Build and deploy docker images on Kubernetes using
git push
. - IBM UrbanCode
- Kb8or
- Nulecule
- Psykube
- Skaffold - Command line tool that facilitates continuous development for Kubernetes applications.
- kubedog - Kubedog is a library and cli utility that allows watching and following kubernetes resources in CI/CD deploy pipelines.
- kapp - simple deployment tool focused on the concept of "Kubernetes application" — a set of resources with the same label
Configuration
- Ansible
- Chef
- Habitat
- Jsonnet
- K8comp
- kapitan - Manage complex deployments using jsonnet and jinja2
- kenv
- Kompose
- Konfd
- Ktmpl
- kubecfg - Combines jsonnet and kubectl to let you declare systems in an easy to override way
- kubediff
- kubegen
- kustomize - Customization using partial specs
- Pulumi - Provides a SDK for k8s deployments targeting on-premises clusters and major cloud vendors' managed services.
- Puppet
- Saltstack
- Cue - A data constraint language which aims to simplify tasks involving defining and using data. Cue is a superset of JSON
- ytt - YAML templating tool that works on YAML structure allowing you to focus on your data instead of how to properly escape it.
- kosko - Write Kubernetes manifests in JavaScript and validate against Kubernetes OpenAPI definitions.
Security
- Aquasec
- Authenticator - A tool for using AWS IAM credentials to authenticate to a Kubernetes cluster
- Calico Network Policy (from Tigera) - Widely adopted open source implementation unifying Kubernetes Network Policy and Istio Application Policy.
- Deepfence Enterprise - Full life cycle Cloud Native Workload Protection platform for kubernetes, virtual machines and serverless.
- Deepfence Threat Mapper - Powerful runtime vulnerability scanner for kubernetes, virtual machines and serverless.
- Dex - OpenID and OAuth for Kubernetes
- Guard - Authenticaton webhook server with support for Github, Gitlab, Google, Azure and LDAP (AD) as identity providers.
- kiam - Allows cluster users to associate AWS IAM roles to Pods.
- kube-bench - The Kubernetes Bench for Security is a Go application that checks whether Kubernetes is deployed according to security best practices.
- kube-hunter - Hunt for security weaknesses in Kubernetes clusters.
- kube-psp-advisor - Help building an adaptive and fine-grained pod security policy.
- kube2iam - Provides different AWS IAM roles for pods running on Kubernetes
- kubeaudit - Helps you audit your Kubernetes clusters against common security controls
- Kubesec.io
- Pomerium - a zero-trust identity-aware access proxy inspired by BeyondCorp.
- Rakkess - Kubectl plugin to show an access matrix for all available resources.
- Sysdig Falco
- Sysdig Secure
- Tigera Secure Cloud Edition
- Tigera Secure Enterprise Edition
- Trireme
- Twistlock
Load balancing
- Avi Networks - Software Load Balancer | Intelligent WAF | Elastic Service Mesh
- AWS ALB Ingress Controller
- Cloudflare Warp Ingress
- Contour - Kubernetes ingress controller for Lyft's Envoy proxy
- F5 Big IP Controller
- Gimbal - Platform capable of routing traffic to multiple Kubernetes and OpenStack clusters
- Gloo - Envoy-based API gateway and ingress controller
- HAProxy Ingress
- Linode NodeBalancer Ingress
- MetalLB - load-balancer implementation for bare metal Kubernetes clusters, using standard routing protocols.
- Porter - a load balancer which is designed for a bare metal Kubernetes cluster. It's implemented by physical switch, and uses BGP and ECMP to achieve optimal performance and HA.
- NGINX Ingress Controller
- Nginx Plus
- Skipper - HTTP router and reverse proxy for service composition, including use cases like Kubernetes Ingress
- Traefik
- Voyager - Secure HAProxy based Ingress Controller
- Yggdrasil - Envoy Control Plane for Kubernetes Multi-cluster Ingress
Big Data
Machine Learning
- FfDL - Deep Learning Platform offering TensorFlow, Caffe, PyTorch etc. as a Service on Kubernetes
- kubeflow - Machine Learning Toolkit for Kubernetes.
- mxnet-operator - Tools for ML/MXNet on Kubernetes.
- Polyaxon - An open source platform for reproducible machine learning and deep learning on kubernetes
- seldon-core - Open source framework for deploying machine learning models on Kubernetes
- TensorFlow k8s
Service Discovery
Operating System
- CoreOS
- GCI
- k3OS
- LinuxKit
- Talos
- RancherOS - A lightweight, secure Linux distribution, built from containers to run containers well.
YAML/JSON Config
- kompose
- ksonnet-lib
- kube-libsonnet - Generic library of Kubernetes objects for Jsonnet/Kubecfg with object to array mapping for painless overrides.
- kubegen
- kubeval
Static Analysis
- kube-score - Kubernetes object analysis with recommendations for improved reliability and security
- popeye - Kubernetes cluster resource sanitzer
Tuning
Backup and Disaster Recovery
- Velero - Utility for managing backup and restore of Kubernetes clusters. Formerly Heptio Ark.
- K8up - Kubernetes and OpenShift Backup Operator based on restic
- burry.sh - Cloud Native backup and recovery for etcd, zookeeper and consul
- kube-backup - Sync kubernetes state to git.
- Stash - Stash is a Kubernetes operator that uses restic or Kubernetes CSI Driver VolumeSnapshotter to backup your volumes and kubernetes state.
Policy Management
- Kyverno - Kubernetes Native Policy Management
Plugins
Debug
Benchmark Tools
Raspberry Pi
Some of the awesome findings and experiments on using Kubernetes with Raspberry Pi.
- Check out Kubecloud
- Setting up a Kubernetes on ARM cluster
- Setup Kubernetes on a Raspberry Pi Cluster easily the official way! by Mathias Renner and Lucas Käldström
- How to Build a Kubernetes Cluster with ARM Raspberry Pi then run .NET Core on OpenFaas by Scott Hanselman
- Building a microcloud with a few Raspberry Pis and Kubernetes by Preetam D'Souza
Books
A written or printed work consisting of pages glued or sewn together along one side and bound in covers that provide us with information
- Cloud Native DevOps with Kubernetes by John Arundel, Justin Domingus (blog)
- DevOps with Kubernetes by Hideto Saito, Hui-Chuan Chloe Lee, Cheng-Yang Wu
- Docker and Kubernetes Under the Hood (Chinese) by Harry Zhang, Jianbo Sun and ZJU SEL lab
- Docker in Action, Second Edition by Jeff Nickoloff and Stephen Kuenzli
- Docker in Practice, Second Edition by Ian Miell & Aidan Hobson Sayers
- Getting Started with Kubernetes by Jonathan Baier
- Golden Guide to Kubernetes Application Development by Matthew Palmer
- Kubernetes Book (OpenSource Book) by Leverege Developers
- Kubernetes Cookbook - Second Edition by Hideto Saito, Hui-Chuan Chloe Lee, Ke-Jou Carol Hsu
- Kubernetes Design Patterns and Extensions by Onur Yilmaz
- Kubernetes Handbook (OpenSource Book in Chinese) by Pengfei Ni
- Kubernetes Handbook (OpenSource Book in Chinese) by Jimmy Song
- Kubernetes in Action by Marko Lukša
- Kubernetes: Scheduling the Future at Cloud Scale by Dave K. Rensin
- Kubernetes: Up and Running by Kelsey Hightower
- Mastering Kubernetes by Gigi Sayfan
- OpenShift in Action by Jamie Duncan & John Osborne
- Playing with Java Microservices on Kubernetes and OpenShift by Nebrass Lamouchi
- The DevOps 2.3 Toolkit: Kubernetes by Viktor Farcic
- Learn Azure in a Month of Lunches, Second Edition by Iain Foulds
- Learn Docker in a Month of Lunches by Elton Stoneman
Certifications
A list of some credible certifications to certify yourself as Kubernetes expert
- Certified Kubernetes Administrator (CKA)
- Certified Kubernetes Application Developer (CKAD)
- Practice Mock Tests
Slide Presentations
A slide is a single page of a presentation created with software such as PowerPoint or OpenOffice Impress.
- A brief study on Kubernetes and its components by Ramit Surana
- Achieving CI/CD with Kubernetes by Ramit Surana
- An Introduction to Kubernetes by Imesh Gunaratne
- Architecture Overview by enakai00
- Cluster management with Kubernetes by Satnam Singh
- Kubernetes and CoreOS @ Athens Docker meetup by Mist.io
- Kubernetes Scaling SIG (K8Scale) by Bob Wise
- Moving to Kubernetes - Tales from SoundCloud by Tobias Schmidt
- Musings on Mesos: Docker, Kubernetes, and Beyond. by Timothy St. Clair
- Package your Java EE Application using Docker and Kubernetes by Arun Gupta
- Scaling Jenkins with Docker and Kubernetes by Carlos Sanchez
- The Top 5 Metrics to Monitor in Kubernetes
- Zero downtime-java-deployments-with-docker-and-kubernetes by Arjan Schaaf
Videos
A recording of moving visual images made digitally or on videotape.
Main Account
Other Useful Videos
- A Technical Overview of Kubernetes by Bredan Burns
- Alpaca Kubernetes on AWS by Adrien Lemaire
- Arun Gupta: Package your Java applications using Docker and Kubernetes by Arun Gupta
- Container Orchestration using CoreOS and Kubernetes by Kelsey Hightower
- DevNation 2015 - Paul Bakker - Kubernetes: Beyond the basics by Paul Bakker
- Docker Containers and Kubernetes with Brian Dorsey by Brian Dorsey
- Google I/O 2014 - Containerizing the Cloud with Docker on Google Cloud Platform by Google Developers
- Kubernetes-Defined Monitoring
- Kubernetes: The Journey So Far - Greg DeMichillie by Greg DeMichillie
- Managing Containers at Scale with CoreOS and Kubernetes by Kelsey Hightower
- Shanghai '18: KubeCon + CloudNativeCon
- Testing Distributed Software on Kubernetes with PowerfulSeal at Kubecon 2017 Austin by Mikolaj Pawlikowski
CI/CD Videos
Interesting Twitter Accounts
Twitter is quick, it’s easy to communicate on, and is a very valuable social channel for a brand or business if you use it to its full potential, By following these news aggregators, rolling news channels, and companies, you can get the inside scoop of a story long before it hits the mainstream news outlets.
- CoreOS
- DevOps Summit
- Engine Yard
- Google Cloud Platform
- Kismatic
- Kube Con
- KubeFacts
- Kubernetes
- KubeWeekly
- Learnk8s
- Skippbox - Acquired by Bitnami
- Sysdig
Amazing People
- Ahmet Alp Balkan, Software Engineer at Google & Google Kubernetes Engine
- Aparna Sinha, Group Product Manager - Kubernetes at Google
- Arun Gupta, Principal Open Source Technologist at Amazon Web Services
- Brandon Philips, CTO at CoreOS
- Brendan Burns, Partner Architect at Microsoft
- Brian Grant, Principal Engineer at Google, Lead Architect of Kubernetes
- Carlos Sanchez, Senior Software Engineer, CloudBees
- Chris Aniszczyk, Chief Operating Officer at Cloud Native Computing Foundation
- Eric Tune, Senior Staff Engineer at Google
- Ihor Dvoretskyi, Developer Advocate at Cloud Native Computing Foundation
- Jessie Frazzelle, Cloud Developer Advocate at Microsoft
- Joe Beda, Principal Engineer at VMware. Former Founder and CTO at Heptio
- Joseph Jacks, Entrepreneur In Residence at Quantum Corporation
- Kelsey Hightower, Staff Developer Advocate at Google
- Kris Nova, Creator of Kubicorn
- Michelle Noorali, Software Engineer at Microsoft
- Paris Pittman, Developer Relations Manager - Kubernetes at Google
- Patrick Reilly, Office of the CTO at Cisco, Cisco board of member for CNCF
- Tim Hockin, Senior Staff SW Engineer / Engineering Manager at Google
Meetup Groups
An awesome way to connect with kubernauts around the globe
- Amsterdam
- Amsterdam #2
- Atlanta
- Bangalore
- Berlin
- Boston
- Hamburg
- Hong Kong
- London
- Munich
- New York
- Nuremberg
- Paris
- Pittsburgh
- Pune
- San Diego
- San Francisco
- Seattle
- Tunisia
- Worldwide
Connecting with Kubernetes
- Blog
- Community Q&A – The Office Hours
- Community
- Freenode
- Mailing List (developer/contributor discussion)
- Mailing List (user discussion and Q&A)
- Slack
- Stackoverflow
Conferences
Some must to go and attend conferences on kubernetes
Contributing
Contributions are most welcome!
This list is just getting started, please contribute to make it super awesome.
Check out the Contributing Guidelines.
License
awesome-kubernetes by Ramit Surana is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.