Deploy Epiphany Cluster

From Gejoreuy
Revision as of 14:01, 20 February 2020 by Gejor (talk | contribs) (Created page with "== Overview == Epiphany at its core is a full automation of Kubernetes and Docker plus additional builtin services/components like: * Kafka or RabbitMQ for high speed messag...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Overview

Epiphany at its core is a full automation of Kubernetes and Docker plus additional builtin services/components like:

  • Kafka or RabbitMQ for high speed messaging/events
  • Prometheus and Alertmanager for monitoring with Graphana for visualization
  • Elasticsearch and Kibana for centralized logging
  • HAProxy for loadbalancing
  • Postgress for storage
  • KeyCloak for authentication


Epiphany can run on as few as one node (laptop, desktop, server) but the real value comes from running 3 or more nodes for scale and HA. Nodes can be added or removed at will depending on data in the manifest. Everything is data driven so simply changing the manifest data and running the automation will modify the environment.


We currently use Terraform and Ansible for our automation orchestration. All automation is idempotent so you can run it as many times as you wish and it will maintain the same state unless you change the data. If someone makes a "snow flake" change to the environment (you should never do this) then simply running the automation again will put the environment back to the desired state.