What is UnderStack?
UnderStack is a collection of open-source tools and technologies that provides
flexible, scalable, and cost-effective infrastructure management solution. The
focus is on deploying bare metal in data centers with functional DCIM and IPAM.
About the Guide
While the deployment of UnderStack leans heavily into GitOps, it is not meant to
be a definitive guide to GitOps. It is also not the only way GitOps can be used
with UnderStack but instead focuses on one example deployment installation.
It will make a few assumptions and some opinionated choices that may not align
with a production best practices installation. Improvements are always welcome.
System Division
A fully deployed UnderStack is divided into three distinct parts, or clusters,
that are referred to in the documentation as:
- Management
- Global
- Site(s)
A fully functioning system only needs one Management cluster, one Global
cluster and one or more Site cluster(s). In this configuration,
the Management cluster is responsible for utilizing our GitOps
tool, ArgoCD to deploy the expected state to all other clusters
and provide other observation and monitoring services like logging and alerting.
While the Global cluster is
responsible for hosting any services that are expected to exist only once
for a partition such as the DCIM/IPAM tool. While the Site
clusters will run the tools and services that need to live close to the
actual hardware.
In fact, one Management cluster can control multiple Global clusters
and their associated Site clusters. We call the grouping of the Global
cluster and it's associated Site clusters a partition. An example
would be a staging partition and a production partition.