Stack is a collection of Kubernetes operators that are used to manage and operate WordPress on top of Kubernetes. Those operators are cloud agnostic, meaning that Stack can run on any Kubernetes cluster.
All the components of Stack can be viewed in the picture below:
It has a control plane made up of:
- WordPress Operator - manages WordPress related operations. From installation and autoscaling, to cronjobs, backups, and upgrades.
- MySQL Operator - takes care of all the database operations, from scaling and failovers to backups. Depending on your use-case, you can have one cluster per site or one cluster for multiple sites.
- Let’s Encrypt Cert Manager - takes care of automatically generating TLS certifications and accommodate their renewal
- NGINX Operator - manages all the NGINX instances that are user-facing
Going further, the data plane represents the actual pods running and its underlying storage. We recommend starting with presslabs/stack-wordpress , but we’ll get further into the Runtime a little bit later, since it’s tight with deployment.
A system like Stack, with a lot of moving pieces, needs a monitoring system. We chose Prometheus for metrics storage (managed by the Prometheus operator) and Grafana for visualizations and alerting.