Skip to content

kubenow/KubeNow

Repository files navigation

architecture

Build Status Documentation Status Slackin button Patreon donate button

KubeNow is a cloud agnostic platform for microservices, based on Docker and Kubernetes. Other than lighting-fast Kubernetes operations, KubeNow helps you in lifting your final application configuring DNS records and distributed storage. Once you have defined your application as a Helm package, lifting it is as simple as:

kn init <aws|gce|openstack|azure> my-awesome-deployemt
cd my-awesome-deployemt
kn apply
kn helm install my-app-package

Table of Contents

Architecture

Deploying a KubeNow cluster you will get:

  • A Kubernetes cluster up and running in ~10 minutes (provisioned with kubeadm)
  • Flannel networking
  • Traefik HTTP reverse proxy and load balancer
  • Cloudflare dynamic DNS configuration
  • GlusterFS distributed file system

architecture

In a KubeNow cluster there are 3 instance types:

  • Master: it runs the Kubernetes master, and it optionally acts as an ingress controller proxying from the Internet to the application services through its public IP.
  • Service: it runs a Kubernetes node and it hosts application services.
  • Edge: it is a specialized service node with a public IP associated, it acts as an ingress controller proxying from the Internet to the application services. It can run application services as well. Edge nodes are optional.
  • Storage: it is a specialized service node that runs only a GlusterFS server. One or more glusternodes can be used to provide distributed storage for the application services. Glusternodes are optional.

Cloudflare can be optionally used to setup DNS records and SSL/TSL (HTTPS) encryption.

Manifesto

  • We want fast deployments: each instance provision itself independently and immutable images are used
  • We use existing provisioning tools: Terraform, Packer, Ansible and kubeadm
  • We avoid resources that are available only for a specific cloud provider
  • We provision IaaS, PaaS and SaaS: lifting a distributed application should be possible with a few commands

Getting started

Want to try KubeNow? The documentation is available at http://kubenow.readthedocs.io.

Donate

You can support KubeNow throug Patreon, more information available at https://patreon.com/kubenow.

Roadmap

Core

  • Kubernetes
  • High Availability
  • Scaling
  • Autoscaling
  • Dashboard

Cloud Providers

  • OpenStack
  • Google Cloud Platform
  • Amazon Web Services
  • Microsoft Azure
  • Local
  • Bare Metal

Load balancer

  • Traefik

Networking

  • Flannel

Big Data Frameworks

  • Spark

Storage

  • GlusterFS

SSL/TSL (HTTPS)

  • Cloudflare
  • Let's Encrypt