Get startedSign in

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
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