Welcome to the WordPress on Kubernetes zero-to-hero tutorial. With this set of easy-to-follow lessons you will learn everything you need to know to deploy and manage WordPress applications in a Kubernetes cluster. From the very basics of creating your first Kubernetes cluster, to the very advanced topics, such as auto-scaling, application performance testing, logging and monitoring at scale.
This is not your typical “paste this YAML and you’re done” kind of tutorial. Here we’ll look at all the details, and make sure you understand every single line in those manifests. We’ll start off with very simple single-pod configurations, and gradually move our way up to complex multi-pod architectures which allow for scaling, high availability and failover.
The goal of this series is not to get you a WordPress site running in Kubernetes as quickly as possible. On the contrary, we’re going to take it slow, learning plenty about Kubernetes, scaling databases and WordPress applications along the way. As a result, you will be armed with the knowledge to make your own decisions about how you ultimately run your WordPress application in Kubernetes, balancing performance, scalability and complexity.
Everything here is kept up to date. The lessons currently target WordPress 7.1 on PHP 8.5, Kubernetes 1.37 and MariaDB 11.8 LTS, and we revisit the material whenever those move on, so the commands and manifests you copy should work as written.
Learn by Doing
Most of the material in this guide is based on doing things, not just reading. It’s best to follow along, create your own Kubernetes cluster and mess around with it, break it, fix it, then break it again. If you’re stuck at any point, the Kubernetes Slack community is a great place to get help.
Most lessons will include code samples and configuration manifests. Some may be partial for better readability, but all code samples and configurations are available and up-to-date in our GitHub repository.
Ready to get started? Head over to the next lesson to dive right in!