Deploy WordPress with MySQL on Arm-based instances using Amazon EKS

Who is this for?

This is an introductory topic for software developers new to Kubernetes on AWS who want to gain experience with cloud applications.

What will you learn?

Upon completion of this Learning Path, you will be able to:

  • Provision an Amazon Elastic Kubernetes Service (EKS) cluster on Arm-based instances
  • Deploy Wordpress with MySQL on EKS

Prerequisites

Before starting, you will need the following:

Summary

AI-assisted

This summary was drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.

Close
?
You’ll provision an Amazon EKS cluster on AWS Graviton instances and deploy WordPress with MySQL. You’ll validate access to the AWS CLI, eksctl, and kubectl, configure AWS credentials, and create Kubernetes manifests for the database and application. You’ll apply the manifests with kubectl, confirm that the workloads run, and finish with a basic, auditable WordPress deployment on EKS.

Frequently asked questions

AI-assisted

These FAQs were drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.

Close
?
Can I use any machine to complete the steps?
Yes. You can use any desktop, laptop, or virtual machine that has the AWS CLI, eksctl, and kubectl installed and working.
How do I confirm the CLIs and my AWS credentials are ready?
Make sure you can run the aws, eksctl, and kubectl commands. Configure your AWS access key ID and secret access key so programmatic requests succeed.
Which YAML files do I need to deploy WordPress and what do they do?
Create kustomization.yaml, mysql-deployment.yaml, and wordpress-deployment.yaml. The kustomization.yaml sets the MySQL password and selects the two deployment files as resources.
How do I set the MySQL database password for the deployment?
Edit kustomization.yaml and set the secretGenerator literal password to your chosen value (password=YourPassword). This creates a Kubernetes Secret named mysql-pass.
What should I look for after applying the manifests?
Expect Kubernetes to create a Secret for the MySQL password and start the WordPress and MySQL workloads. Use kubectl to check that the WordPress and MySQL workloads appear and transition to a running state.
Next