mysql_cluster: Begin add but not finished

This commit is contained in:
Florian RICHER 2025-03-27 15:28:14 +01:00
parent 13c2319fb3
commit 12cae34ca8
11 changed files with 309 additions and 0 deletions

View file

@ -0,0 +1,7 @@
# Check https://github.com/kubernetes-sigs/kustomize/tree/master/examples/wordpress
resources:
- mysql_cluster.yaml
- mysql_service.yaml
- phpmyadmin_deployment.yaml
- phpmyadmin_service.yaml

View file

@ -0,0 +1,27 @@
apiVersion: mysql.oracle.com/v2
kind: InnoDBCluster
metadata:
name: db-cluster
spec:
secretName: secret
mysql:
image: mysql:9
resources:
requests:
memory: "512Mi"
cpu: "1000m"
limits:
memory: "2048Mi"
cpu: "2000m"
tlsUseSelfSigned: true
instances: 3
router:
instances: 1
datadirVolumeClaimTemplate:
- metadata:
name: mysql-data
spec:
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
storage: 10Gi

View file

@ -0,0 +1,12 @@
apiVersion: v1
kind: Service
metadata:
name: db-service
spec:
type: ClusterIP
selector:
service: db
ports:
- protocol: TCP
port: 3306
targetPort: 3306

View file

@ -0,0 +1,38 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: phpmyadmin-deployment
labels:
service: phpmyadmin
spec:
replicas: 1
selector:
matchLabels:
service: phpmyadmin
template:
metadata:
labels:
service: phpmyadmin
spec:
containers:
- name: phpmyadmin
image: phpmyadmin
resources:
limits:
memory: "256Mi"
cpu: "1000m"
ports:
- containerPort: 80
env:
- name: PMA_HOST
valueFrom:
configMapKeyRef:
name: mysql-configmap
key: mysql-server
- name: PMA_USER
value: root
- name: PMA_PASSWORD
valueFrom:
secretKeyRef:
name: mysql-secret
key: mysql-root-password

View file

@ -0,0 +1,12 @@
apiVersion: v1
kind: Service
metadata:
name: phpmyadmin-service
spec:
type: ClusterIP
selector:
service: phpmyadmin
ports:
- protocol: TCP
port: 80
targetPort: 80

View file

@ -0,0 +1,32 @@
resources:
- ../../base
- phpmyadmin_ingress.yaml
namespace: default
labels:
- includeSelectors: true
pairs:
app: mysql-cluster
commonAnnotations:
owner: florian
namePrefix: mysql-cluster-
images:
- name: phpmyadmin
newName: phpmyadmin
newTag: "5.2"
patches:
- path: replica.yaml
configMapGenerator:
- name: configmap
env: mysql-configmap.properties
secretGenerator:
- name: secret
literals:
- mysql-root-password=root

View file

@ -0,0 +1 @@
mysql-server=mysql-replicated-db-service

View file

@ -0,0 +1,16 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: phpmyadmin-ingress
spec:
ingressClassName: nginx
rules:
- http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: phpmyadmin-service
port:
number: 80

View file

@ -0,0 +1,6 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: phpmyadmin-deployment
spec:
replicas: 2