Skip to content

Instantly share code, notes, and snippets.

@pepf
Created May 17, 2023 09:57
Show Gist options
  • Save pepf/e9f0e56d900445e4ee8faf4123cc02e0 to your computer and use it in GitHub Desktop.
Save pepf/e9f0e56d900445e4ee8faf4123cc02e0 to your computer and use it in GitHub Desktop.
k8s deployment with wordpress setup + persist db
apiVersion: v1
kind: Service
metadata:
name: wordpress-mysql
spec:
selector:
app: wordpress-mysql
type: LoadBalancer
ports:
- name: postgres
protocol: TCP
port: 3306
targetPort: 3306
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: wordpress-mysql
spec:
replicas: 1
selector:
matchLabels:
app: wordpress-mysql
template:
metadata:
labels:
app: wordpress-mysql
spec:
containers:
- name: mysql
image: mysql:latest
env:
- name: MYSQL_ROOT_PASSWORD
value: examplepassword
- name: MYSQL_USER
value: wordpress
- name: MYSQL_PASSWORD
value: examplepassword
- name: MYSQL_DATABASE
value: wordpress
ports:
- containerPort: 3306
volumeMounts:
- name: mysql-persistent-storage
mountPath: /var/lib/mysql
volumes:
- name: mysql-persistent-storage
persistentVolumeClaim:
claimName: mysql-pvc
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: wordpress
labels:
app: wordpress
spec:
replicas: 1
selector:
matchLabels:
app: wordpress
template:
metadata:
labels:
app: wordpress
spec:
containers:
- name: wordpress
image: wordpress:latest
ports:
- containerPort: 80
env:
- name: WORDPRESS_DB_HOST
value: wordpress-mysql
- name: WORDPRESS_DB_USER
value: wordpress
- name: WORDPRESS_DB_PASSWORD
value: examplepassword
- name: WORDPRESS_DB_NAME
value: wordpress
---
apiVersion: v1
kind: Service
metadata:
name: wordpress
spec:
selector:
app: wordpress
type: LoadBalancer
ports:
- name: http
protocol: TCP
port: 8082
targetPort: 80
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mysql-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment