diff --git a/exemples/practica-final/install.yaml b/exemples/practica-final/install.yaml new file mode 100644 index 0000000..467e00c --- /dev/null +++ b/exemples/practica-final/install.yaml @@ -0,0 +1,144 @@ +apiVersion: v1 +kind: Secret +metadata: + name: credencials-bd +type: Opaque +data: + password: c3VwZXJzZWNyZXQ= # "supersecret" en base64 +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: mariadb-pvc +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 2Gi +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: wordpress-pvc +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 2Gi +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: mariadb-deployment +spec: + replicas: 1 + selector: + matchLabels: + app: mariadb + template: + metadata: + labels: + app: mariadb + spec: + containers: + - name: mariadb + image: mariadb:lts-ubi + env: + - name: MARIADB_ROOT_PASSWORD + valueFrom: + secretKeyRef: + name: credencials-bd + key: password + - name: MARIADB_DATABASE + value: "wordpress" + ports: + - containerPort: 3306 + volumeMounts: + - name: dades-bd + mountPath: /var/lib/mysql + volumes: + - name: dades-bd + persistentVolumeClaim: + claimName: mariadb-pvc +--- +apiVersion: v1 +kind: Service +metadata: + name: servei-mariadb +spec: + selector: + app: mariadb + ports: + - protocol: TCP + port: 3306 + targetPort: 3306 +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: wordpress-deployment +spec: + replicas: 1 + selector: + matchLabels: + app: wordpress + template: + metadata: + labels: + app: wordpress + spec: + containers: + - name: wordpress + image: wordpress:latest + env: + - name: WORDPRESS_DB_HOST + value: "servei-mariadb" # Apunta al nom del Service de MariaDB + - name: WORDPRESS_DB_PASSWORD + valueFrom: + secretKeyRef: + name: credencials-bd + key: password + - name: WORDPRESS_DB_USER + value: "root" + - name: WORDPRESS_DB_NAME + value: "wordpress" + ports: + - containerPort: 80 + volumeMounts: + - name: dades-web + mountPath: /var/www/html + volumes: + - name: dades-web + persistentVolumeClaim: + claimName: wordpress-pvc +--- +apiVersion: v1 +kind: Service +metadata: + name: servei-wordpress +spec: + selector: + app: wordpress + ports: + - protocol: TCP + port: 80 + targetPort: 80 +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: wordpress-ingress +spec: + rules: + - host: elmeublog.local + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: servei-wordpress + port: + number: 80 \ No newline at end of file