May 17, 2020

6337 words 30 mins read

ramitsurana/awesome-kubernetes

ramitsurana/awesome-kubernetes

A curated list for awesome kubernetes sources :ship::tada:

repo name ramitsurana/awesome-kubernetes
repo link https://github.com/ramitsurana/awesome-kubernetes
homepage https://ramitsurana.github.io/awesome-kubernetes
language Makefile
size (curr.) 1268 kB
stars (curr.) 9878
created 2015-10-15
license Other

Awesome-Kubernetes

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

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 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
  • Konvoy - Easily deploy production-ready Kubernetes clusters, with all associated operational services
  • 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
  • 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

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

Cluster Managers

  • Cisco Container Platform
  • Gardener - Alibaba, AWS, Azure, GCP, and OpenStack cluster manager
  • Gravity - Formerly Telekube
  • Kommander - Federated management and governance for on-prem or cloud Kubernetes clusters
  • 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
  • Rancher

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
  • Humanitec - The continuous delivery API
  • 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

Public/Private Cloud

PaaS

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

Courses

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 Drivers for a complete list

Cluster API Providers

List of some Cluster API providers for Kubernetes. Check out Kubernetes-CAPI Providers for more info

Bootstrap

Infrastructure

Developer Libraries/ Scripts

List of some libraries & scripts for executions and good referrals

Python

Jenkins

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

  • 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
  • Instana - Automatic Kubernetes Application Performance Monitoring
  • 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
  • Replex.io - Kubernetes Governance & Cost Control.
  • Searchlight
  • Sematext
  • 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
  • KUTTL - KUTTL (Kubernetes Test Tool) is a toolkit for testing Kubernetes Operators
  • PowerfulSeal - kills targeted pods and machines to test your software reliability
  • Sonobuoy - Diagnostic tool that runs Kubernetes conformance tests
  • Test-Infra
  • 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.

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

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.
  • kubectl-neat - Clean up Kuberntes yaml and json output

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
  • cdk8s - Define Kubernetes apps and reusable components using familiar programming languages
  • 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.
  • MicroConfig - Awesome tool for microservice configuration management. Works with app configs, helm values, kubernetes resources and more.

Security

  • kubiscan - A tool to scan Kubernetes cluster for risky pods and RBAC permissions
  • kubeletctl - A client for kubelet with advanced capabilities like scanning for pods vulnerable for RCE
  • 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

Big Data

Machine Learning

  • FfDL - Deep Learning Platform offering TensorFlow, Caffe, PyTorch etc. as a Service on Kubernetes
  • Fiber - Distributed computing library for AI 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

  • cdk8s - Define Kubernetes apps and reusable components using familiar programming languages
  • 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

Chaos Engineering

  • Chaosblade: An easy to use and powerful chaos engineering experiment toolkit.
  • Chaos Mesh: A cloud-native Chaos Engineering platform that orchestrates chaos on Kubernetes environments.
  • chaoskube: chaoskube periodically kills random pods in your Kubernetes cluster.
  • Chaos Toolkit: An Open API for Chaos Engineering.
  • KubeInvaders - Gamified Chaos engineering tool for Kubernetes Clusters. It is like Space Invaders but alien ships are pods.
  • Litmus: A toolset to do chaos engineering in a kubernetes native way.

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.

Podcasts

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

  • 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, Founder of KubeCon, Kismatic (first enterprise Kubernetes company), currently founder of OSS Capital, Open Core Summit, COSS Media, COSS Accelerator
  • 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

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

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

comments powered by Disqus