Skip to content

Instantly share code, notes, and snippets.

@semutmerah
Last active July 25, 2019 06:06
Show Gist options
  • Save semutmerah/b614a41b76b71af5fb8fd3ee6dddc4e1 to your computer and use it in GitHub Desktop.
Save semutmerah/b614a41b76b71af5fb8fd3ee6dddc4e1 to your computer and use it in GitHub Desktop.
Mysql Kubernetes Deployment
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: mysql{{SUFFIX}}
labels: &labels
project: mysql
service: mysql{{SUFFIX}}
spec:
serviceName: mysql
replicas: 1
selector:
matchLabels:
<<: *labels
template:
metadata:
labels:
<<: *labels
spec:
containers:
- name: mysql
image: mysql:5.6
env:
- name: MYSQL_ALLOW_EMPTY_PASSWORD
value: "true"
ports:
- containerPort: 3306
name: mysql
volumeMounts:
- mountPath: /var/lib/mysql
name: data
- name: mysql-initdb
mountPath: /docker-entrypoint-initdb.d
volumes:
- name: mysql-initdb
configMap:
name: mysql-initdb-config
volumeClaimTemplates:
- metadata:
name: data
spec:
accessModes:
- ReadWriteOnce
storageClassName: standard
resources:
requests:
storage: 5Gi
---
apiVersion: v1
kind: ConfigMap
metadata:
name: mysql-initdb-config
labels:
project: mysql
service: mysql{{SUFFIX}}
data:
initdb.sql: |
CREATE DATABASE IF NOT EXISTS staging_mysql;
CREATE DATABASE IF NOT EXISTS staging_second_mysql;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment