Skip to content

mavrick202/awesome-kubernetes

Repository files navigation

Awesome-Kubernetes

Awesome Build Status Build Status License Docker Build Status Slack Widget Documentation Status

A curated list for awesome kubernetes sources inspired by @sindresorhus' awesome

final-k8s

"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? 🚢

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.


Menu


Starting Point

A place that marks the beginning of a journey

Installers

  • Bootkube - CoreOS - Cloud Agnostique
  • Breeze - CentOS - Cloud Agnostique
  • Conjure-up - Ubuntu - Cloud Agnostique
  • 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)
  • Juju - Ubuntu - Cloud Agnostique
  • k3s - Lightweight Kubernetes. Easy to install, half the memory, all in a binary less than 40mb
  • kind - A tool for running local Kubernetes clusters using Docker container “nodes”
  • Kops - OS Agnostique - AWS
  • Kube-ansible - OS Agnostique - Cloud Agnostique
  • Kube-aws - CoreOS - AWS
  • Kube-deploy
  • Kubeadm - OS Agnostique - Cloud Agnostique
  • KubeNow - Ubuntu - Cloud Agnostique
  • Kubernetes-Saltstack - systemd OS - Cloud Agnostique
  • Kubespray - OS Agnostique - Cloud Agnostique
  • Kubicorn - OS Agnostique - Cloud Agnostique
  • Kublr - OS Agnostique - On-Prem - Cloud Agnostique
  • Linode - CoreOS - Linode
  • matchbox - CoreOS - Network boot and provision Container Linux clusters (e.g. etcd3, Kubernetes, more).
  • MetalK8s - CentOS - On-Prem - Cloud Agnostique - Apache-2.0
  • MicroK8s - A single package of k8s that installs on 42 flavours of Linux
  • Minikube - Run Kubernetes locally
  • RKE - OS Agnostique - Cloud Agnostique
  • sealos - Simple kubernetes HA installer
  • Simplekube - systemd OS - Cloud Agnostique
  • Supergiant - CoreOS - Cloud Agnostique
  • Terraform - CoreOS - AWS
  • Typhoon - Container Linux - Cloud Agnostique
  • 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

Useful Articles

A piece of writing included with others in a newspaper, magazine, or other publication

Managed Kubernetes

  • 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.
  • goPaddle
  • Knative - Platform to build, deploy, and manage modern serverless workloads
  • Okteto - Develop directly in any Kubernetes cluster. No commit, build or push required.
  • Mantl
  • Spring Cloud integration
  • VAMP
  • Tilt

Kubernetes Platform as a Service providers

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

Case Studies

Study of Various different case studies

Persistent Volume Providers

List of some Persistent Volume Providers for Kubernetes.Check out Persistent Volume Providers for more info

Container Storage Interface Plugins

List of some Container Storage Interface plugins for Kubernetes. Check out Kubernetes-CSI for more info

Developer Libraries/ Scripts

List of some libraries & scripts for executions and good referrals

Projects

Kubernetes-related projects that you might find helpful

Related Software

Projects built to make life with Kubernetes even better, more powerful, more scalable

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
  • 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
  • Instana
  • kail - Kubernetes Log Viewer. Streams logs from all containers of all matching pods.
  • Kubebox - Terminal console for Kubernetes
  • Kubedash - Deprecated repository is archived and read-only
  • Kubernetes Operational View - read-only system dashboard for multiple K8s clusters
  • Kubespy - Tools for observing Kubernetes resources in real time, powered by Pulumi.
  • Kubetail
  • Kubewatch
  • 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
  • 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
  • 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.

Continuous Delivery

Build-test-deploy automated workflow software designed to make production environments more stable and life better for engineers

Serverless Implementations

Operators

Custom Schedulers

Container Support

A list of linux containers supported by kubernetes.

Database

Networking

Service mesh

RPC

Secret generation and management

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
  • Polaris - An open source dashboard for Kubernetes best practices

Desktop applications

Mobile applications

API/CLI adaptors

  • 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
  • StackStorm
  • stern - Multi pod and container log tailing
  • Vikube - Kubernetes operations from Vim, in Vim
  • K9s - Kubernetes CLI To Manage Your Clusters In Style!

Application deployment orchestration

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
  • thesus - A command-line utility and importable package for comparing sets of Kubernetes objects
  • 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.

Security

Load balancing

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

YAML/JSON Config

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.

Policy Management

  • Kyverno - Kubernetes Native Policy Management

Plugins

Debug

Raspberry Pi

Some of the awesome findings and experiments on using Kubernetes with Raspberry Pi.

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

Certifications

A list of some credible certifications to certify yourself as Kubernetes expert

Slide Presentations

A slide is a single page of a presentation created with software such as PowerPoint or OpenOffice Impress.

Videos

A recording of moving visual images made digitally or on videotape.

Main Account

Other Useful Videos

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.

Amazing People

Meetup Groups

An awesome way to connect with kubernauts around the globe

Connecting with Kubernetes

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

Creative Commons License
awesome-kubernetes by Ramit Surana is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.