Skip to content

apurvadave/awesome-kubernetes

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Awesome-Kubernetes

Awesome Build Status License

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

k8

"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!

If you are interested in becoming a maintainer for the awesome kubernetes list.Please drop me a mail at ramitsurana@gmail.com with your name and github id.Thanks

What is Kubernetes? 🚢

Kubernetes is an open source orchestration system for Docker containers. It handles scheduling onto nodes in a compute cluster and actively manages workloads to ensure that their state matches the users declared intentions. Using the concepts of "labels" and "pods", it groups the containers which 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.The project was born in the year 2015.

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.Stay tuned for more updates.


Menu


Starting Point

A place that marks the beginning of a journey

Main Resources

Official resources from the Kubernetes team

Useful Articles

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

Cloud Providers

  • GCE - Google Compute Engine [default]
  • [GKE] - Google Container Engine
  • AWS - Amazon EC2
  • Azure - Microsoft Azure
  • Vsphere - VMWare VSphere
  • Rackspace - Rackspace

Case Studies

Study of Various different case studies

Persistent Volume Providers

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

  • GCE
  • AWS
  • [vSphere]
  • [Glusterfs]
  • [OpenStack Cinder]
  • [CephRBD]
  • [QuoByte]

More Stuff Coming Soon

Related Projects

Kubernetes-related projects that you might find helpful

Related Software

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

Hypernetes is a secure, multi-tenant Kubernetes distro. Simply put,

Hypernetes = Bare-metal + Hyper + Kubernetes + KeyStone + Cinder + Neutron.

It envisions a future of "Container-as-a-Service without IaaS". The idea is to combine the orchestration power in Kubernetes and the runtime isolation in Hyper to build the truly secure multi-tenant CaaS platform.

Built by Deis and Inspired by Homebrew, apt, and NPM. Helm is a tool for working with Kubernetes-powered applications. Helm makes it easy run apps and services inside Kubernetes.

A central design concept in Kubernetes to cluster Kubernetes across several regions.

Minikube is a tool that makes it easy to run Kubernetes locally. Minikube runs a single-node Kubernetes cluster inside a VM on your laptop for users looking to try out Kubernetes or develop with it day-to-day.

kmachine lets you create Docker hosts on your computer, on cloud providers, and inside your own data center. It creates servers, installs Docker on them, then configures the Docker client to talk to them just like docker-machine

spread is a command line tool that builds and deploys a Docker project to a Kubernetes cluster in one command. The project's goals are to:

  • Enable rapid iteration with Kubernetes
  • Be the fastest, simplest way to deploy Docker to production
  • Work well for a single developer or an entire team (no more broken bash scripts!)

Supergiant is open-source and built on Kubernetes. It provisions "cost-based" server resources, load balancers, and block-level storage automatically to support stateful apps at scale with less hardware expense. The goals of the project are to make launching, managing, and scaling Kubernetes as easy as possible.

Kubernetes as a Filesystem.Its written in Python, because Python is still cool and has a solid FUSE library available for it. The fusepy library has some simple examples showing how to implement loopback and memory file systems.

KubeSpray is a tool to deploy a kubernetes cluster with Ansible.

Bootkube is a helper tool for launching self-hosted Kubernetes clusters.When launched, bootkube will act as a temporary Kubernetes control-plane (api-server, scheduler, controller-manager), which operates long enough to bootstrap a replacement self-hosted control-plane.Additionally, bootkube can be used to generate all of the necessary assets for use in bootstrapping a new cluster. These assets can then be modified to support any additional configuration options.

It provides a Kubernetes cluster configured to run locally and optimized for rapid development.It is a single executable container process built for usage with spread.

CLI tool to manage Kubernetes Secrets easily

Node-level autoscaler for Kubernetes on AWS EC2 that is designed for batch jobs.

Commercial Platform for Kubernetes.Check out Stackpoint blog

Deploying a high-availability Kubernetes cluster, in minutes. Built on Terraform, CoreOS and Ansible.Recipes for bootstrapping HA Kubernetes clusters on any cloud or on-premise.Checkout https://github.com/Capgemini/kubeform

Script to help with the management of the deployment files. The script will just query hiera for the variables detected, replace them and create a new deployment output. The files can be in any of the kubernetes supported formats (json, yaml, yml).

Connect to kubernetes services running in your cluster directly through a VPN. Also allows you to easily route kubernetes services back to applications running on a VPN client.

kube-lego automatically requests certificates for Kubernetes Ingress resources from Let's Encrypt.

Monitoring Services

To maintain regular surveillance over kubernetes

  • Console: It is a general purpose, web-based UI for Kubernetes clusters. It allows to manage applications running in the cluster, troubleshoot them, as well as, manage the cluster itself.
  • Datadog: Datadog is a hosted monitoring and metrics platform, with built in support for Kubernetes and Docker. Their Kubernetes integration pulls in Docker and Kubernetes events, converts labels and pod names into tags, as well as pulls metrics from Docker and CAdvisor. This allows you to build application dashboards and alerts that display data across pods, Nodes, and services.
  • Heapster: Heapster enables Container Cluster Monitoring and Performance Analysis. Heapster currently supports Kubernetes and CoreOS natively. It can be extended to support other cluster management solutions easily. Heapster collects and interprets various signals like compute resource usage, lifecycle events, etc, and exports cluster metrics via REST endpoints.
  • Kubedash: Performance analytics UI for Kubernetes Clusters. The goal of Kubedash is to allow the user or an administrator of a Kubernetes cluster to easily verify and understand the performance of a cluster and jobs running within it through intuitive visualizations of aggregated metrics, derived stats and event patterns. It is not intended to be a general-purpose Kubernetes UI. Instead, kubedash uses multiple sources of information to summarize and provide high-level analytic information to users and to the cluster administrator.
  • Kube-ui: Container Cluster Manager from Google Web UI
  • Prometheus: Prometheus is an open-source systems monitoring and alerting toolkit originally built at SoundCloud. Since its inception in 2012, many companies and organizations have adopted Prometheus, and the project has a very active developer and user community. It is now a standalone open source project and maintained independently of any company.
  • Sysdig: Sysdig is open source, system-level exploration: capture system state and activity from a running Linux instance, then save, filter and analyze. Sysdig is scriptable in Lua and includes a command line interface and a powerful interactive UI, csysdig, that runs in your terminal.
  • Weave Scope: Weave Scope is a visualization, and monitoring tool for Docker and Kubernetes. It provides a top down view into your app as well as your entire infrastructure, and allows you to diagnose any problems with your distributed containerized app, in real time, as it being deployed to a cloud provider.

PaaS Providers

Kubernetes Platform as a Service providers

OpenShift is Red Hat's Platform-as-a-Service (PaaS) that allows developers to quickly develop, host, and scale applications in a cloud environment. With OpenShift you have a choice of offerings, including online, on premise, and open source project options.

Deis Workflow is an open source PaaS that makes it easy to deploy and manage applications on your own servers. Workflow builds upon Kubernetes and Docker to provide a lightweight PaaS with a Heroku-inspired workflow.

Continuous Delivery

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

Fabric8 DevOps provides a completely integrated open source DevOps platform which works out of the box on any Kubernetes or OpenShift environment, The entire platform is modular and based on microservices so you can use as much or as little of Fabric8 DevOps as you wish!

Jenkins is an automation engine with an unparalleled plugin ecosystem to support all of your favorite tools in your delivery pipelines, whether your goal is continuous integration, automated testing, or continuous delivery.

CI Tool for deploying with kubernetes.

Container Support

A list of linux containers supported by kubernetes.

Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications. Consisting of Docker Engine, a portable, lightweight runtime and packaging tool, and Docker Hub, a cloud service for sharing applications and automating workflows, Docker enables apps to be quickly assembled from components and eliminates the friction between development, QA, and production environments. As a result, IT can ship faster and run the same app, unchanged, on laptops, data center VMs, and any cloud.Check out awesome-docker for more info.

rkt is the next-generation container manager for Linux clusters. Designed for security, simplicity, and composability within modern cluster architectures, rkt discovers, verifies, fetches, and executes application containers with pluggable isolation. rkt can run the same container with varying degrees of protection, from lightweight, OS-level namespace and capabilities isolation to heavier, VM-level hardware virtualization.

Raspberry Pi

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

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

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

Interactive Learning Environments

Learn Kubernetes using an interactive environment without requiring downloads or configuration

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

Companies

A list of companies supporting 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.

About

A curated list for awesome kubernetes sources 🚢🎉

Resources

License

Stars

Watchers

Forks

Packages

No packages published