Files
docker-images/apps/mariadb/mariadb-deployment.yaml

82 lines
1.8 KiB
YAML

apiVersion: v1
kind: Service
metadata:
name: mariadb
spec:
ports:
- name: mysql
port: 3306
- name: metrics
port: 9104
selector:
app: mariadb
type: LoadBalancer
loadBalancerIP: 172.23.255.4
---
apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2
kind: Deployment
metadata:
name: mariadb
spec:
selector:
matchLabels:
app: mariadb
strategy:
type: Recreate
template:
metadata:
labels:
app: mariadb
spec:
containers:
- image: docker-registry.lan/mariadb:arm64
name: mariadb
imagePullPolicy: Always
env:
# Use secret in real usage
- name: MYSQL_ROOT_PASSWORD
value: 54MzzfHHTA9qJX64Pvdn
ports:
- containerPort: 3306
name: mariadb
volumeMounts:
- name: mariadb-persistent-storage
mountPath: /var/lib/mysql
resources:
requests:
memory: "256Mi"
cpu: "250m"
limits:
memory: "1500Mi"
cpu: "2000m"
- image: docker-registry.lan/mariadb-prometheus-exporter:arm64
name: mariadb-prometheus-exporter
imagePullPolicy: Always
ports:
- containerPort: 9104
name: metrics
resources:
requests:
memory: "24Mi"
cpu: "50m"
limits:
memory: "128Mi"
cpu: "100m"
volumes:
- name: mariadb-persistent-storage
persistentVolumeClaim:
claimName: mariadb-pv-claim
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mariadb-pv-claim
annotations:
volume.beta.kubernetes.io/storage-class: nfs-ssd
spec:
storageClassName: nfs-ssd
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi