Deploy Wordpress with Kustomize
Learn how to deploy WordPress with MySQL using Kustomize and Liquid templates, creating a multi-component application with dynamic configuration
Overview
In this guide, you'll learn how to deploy WordPress with MySQL on your Kubernetes cluster using Plural with Kustomize and Liquid templates. This approach demonstrates how to create a multi-component application stack with Kustomize, using Liquid templates for dynamic configuration. You'll see how to connect WordPress to MySQL and apply patches to customize your deployment.
Prerequisites
Before you begin, make sure to cover prerequisites and setup.
Step-by-Step Guide: Deploying WordPress with MySQL using Kustomize and Liquid
Let's walk through deploying WordPress with MySQL using Kustomize and Liquid templates. Feel free to adjust provided file examples according to your needs and commit them to your configured Git repository.
Step 1: Set up Kustomize with WordPress and MySQL
First, let's set up Kustomize to deploy WordPress and MySQL. We'll create a directory structure with the following files:
services/examples/kustomize-stack-with-liquid/kustomization.yaml
resources:
- wordpress
- mysql
patches:
- path: patch.yaml
replacements:
- source:
kind: Service
name: wordpress
fieldPath: metadata.name
targets:
- select:
kind: Deployment
name: wordpress
fieldPaths:
- spec.template.spec.initContainers.[name=init-command].env.[name=WORDPRESS_SERVICE].value
- source:
kind: Service
name: mysql
fieldPath: metadata.name
targets:
- select:
kind: Deployment
name: wordpress
fieldPaths:
- spec.template.spec.initContainers.[name=init-command].env.[name=MYSQL_SERVICE].value
- spec.template.spec.containers.[name=wordpress].env.[name=WORDPRESS_DB_HOST].value