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? :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.


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-Saltstacksystemd 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
  • Simplekubesystemd OS – Cloud Agnostique
  • Supergiant – CoreOS – Cloud Agnostique
  • Terraform – CoreOS – AWS
  • Typhoon – Container Linux – Cloud Agnostique

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

Cloud Providers

Logging

Monitoring

Security

Authentication

Networking

CI/CD

Deep Learning

Certifications

Devops Tools

Others

Managed Kubernetes

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

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

### Python

Projects

Kubernetes-related projects that you might find helpful

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

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

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

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.
  • MLT – Machine Learning Container Templates: easy to use container and kubernetes object templates.
  • 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.

Plugins

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

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.

Leave a Reply

Your email address will not be published. Required fields are marked *

Top