Browse Source

Cambios en Firefly para ajustar el directorio de la base de datos.

Cambios en Firefly para crear un deployment de respaldo
Cambios en PGO para crear una instancia de postgres
Cambios en Mediawiki y otros
main
Celestino Rey 3 years ago
parent
commit
e9cde0aef2
53 changed files with 728 additions and 30 deletions
  1. +23
    -0
      Firefly/Respaldo/copyDBK8S
  2. +4
    -0
      Firefly/Respaldo/creaTodo.sh
  3. +1
    -0
      Firefly/Respaldo/entra.sh
  4. +2
    -0
      Firefly/Respaldo/exporta
  5. +4
    -0
      Firefly/Respaldo/ff-namespace.yaml
  6. +12
    -0
      Firefly/Respaldo/ff-secrets.yaml
  7. +1
    -0
      Firefly/Respaldo/ff3Logs.sh
  8. +110
    -0
      Firefly/Respaldo/firefly-deployment.yaml
  9. +7
    -0
      Firefly/Respaldo/kustomization.yaml
  10. +1
    -0
      Firefly/Respaldo/lanzaCron
  11. +72
    -0
      Firefly/Respaldo/mysql-deployment.yaml
  12. +3
    -0
      Firefly/Respaldo/paraTodo.sh
  13. +54
    -0
      Firefly/Respaldo/php-deployment.yaml
  14. +1
    -0
      Firefly/Respaldo/pruebaCron
  15. +11
    -0
      Firefly/Respaldo/pv-local-ff.yaml
  16. +11
    -0
      Firefly/Respaldo/pv-local-mysql.yaml
  17. +1
    -1
      Firefly/k8s-cluster/creaTodo.sh
  18. +1
    -0
      Firefly/k8s-cluster/entraMysql.sh
  19. +1
    -1
      Firefly/k8s-cluster/pv-local-mysql.yaml
  20. +8
    -0
      MDM/creaTodo.sh
  21. +1
    -0
      MDM/entra.sh
  22. +6
    -0
      MDM/paraTodo.sh
  23. +3
    -0
      MDM/pgadmin-configmap.yaml
  24. +52
    -0
      MDM/pgadmin-deployment.yaml
  25. +1
    -1
      MDM/pgadmin-secret.yaml
  26. +14
    -0
      MDM/pgadmin-service.yaml
  27. +0
    -0
      MDM/pgadmin-statefulset.yaml
  28. +11
    -0
      MDM/pv-local-pgadmin-config.yaml
  29. +0
    -0
      MDM/pv-local-pgadmin.yaml
  30. +14
    -0
      MDM/pvc-pgadmin-config.yaml
  31. +14
    -0
      MDM/pvc-pgadmin.yaml
  32. +1
    -1
      Mediawiki/creaTodo.sh
  33. +0
    -0
      Metallb/borraNginxIngress.sh
  34. +1
    -1
      NextCloud/creaTodo.sh
  35. +9
    -0
      PGO/creaTodo.sh
  36. +1
    -0
      PGO/entrapsql.sh
  37. +8
    -5
      PGO/paraTodo.sh
  38. +0
    -13
      PGO/pgadmin-service.yaml
  39. +23
    -0
      PGO/pgadmin/pgadmin-configmap.yaml
  40. +52
    -0
      PGO/pgadmin/pgadmin-deployment.yaml
  41. +48
    -0
      PGO/pgadmin/pgadmin-deployment.yaml.copia
  42. +8
    -0
      PGO/pgadmin/pgadmin-secret.yaml
  43. +14
    -0
      PGO/pgadmin/pgadmin-service.yaml
  44. +55
    -0
      PGO/pgadmin/pgadmin-statefulset.yaml
  45. +11
    -0
      PGO/pgadmin/pv-local-pgadmin-config.yaml
  46. +11
    -0
      PGO/pgadmin/pv-local-pgadmin.yaml
  47. +14
    -0
      PGO/pgadmin/pvc-pgadmin-config.yaml
  48. +14
    -0
      PGO/pgadmin/pvc-pgadmin.yaml
  49. +4
    -5
      PGO/postgres-configmap.yaml
  50. +1
    -1
      PGO/postgres-deployment.yaml
  51. +1
    -0
      PGO/termina.sh
  52. +1
    -1
      Wordpress/creaTodo.sh
  53. +7
    -0
      creaTodoTodo.sh

+ 23
- 0
Firefly/Respaldo/copyDBK8S View File

@ -0,0 +1,23 @@
# Backup date
today=$(date "+%Y_%m_%d-%H_%M_%S")
echo "Current date: $today"
# build up filename
# destination folder (change to your own needs)
BACKUP_FOLDER=/tmp
file_name=$BACKUP_FOLDER/bkup_fireflyiii
new_name=$file_name-$today.sql
echo "Backup file name: " "$new_name"
sudo kubectl --kubeconfig /home/creylopez/.kube/config exec `kubectl --kubeconfig /home/creylopez/.kube/config get pod -n firefly|grep iii-mysql|cut -f1 -d' '` -n firefly -- /usr/bin/mysqldump -u root --password=Rey-1176 fireflyiii > $new_name
message="Backup stored "$today
sudo -u creylopez cat $new_name | mail -s "FireflyIII backup finished" "creylopez@yahoo.es"
sudo rm $new_name

+ 4
- 0
Firefly/Respaldo/creaTodo.sh View File

@ -0,0 +1,4 @@
kubectl create -f pv-local-ff.yaml
kubectl create -f pv-local-mysql.yaml
kubectl create -k ./
#watch kubectl get all -n firefly-res

+ 1
- 0
Firefly/Respaldo/entra.sh View File

@ -0,0 +1 @@
kubectl exec -ti deployment.apps/firefly-iii -n firefly -- /bin/bash

+ 2
- 0
Firefly/Respaldo/exporta View File

@ -0,0 +1,2 @@
echo "Comando '$1'"
kubectl exec -ti `kubectl get pod -n firefly | grep -v mysql |grep -v phpmy |grep -v NAME|cut -c1-27` -n firefly -- runuser -u www-data "$1"

+ 4
- 0
Firefly/Respaldo/ff-namespace.yaml View File

@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: firefly-res

+ 12
- 0
Firefly/Respaldo/ff-secrets.yaml View File

@ -0,0 +1,12 @@
apiVersion: v1
kind: Secret
metadata:
name: firefly-iii-res-secrets
namespace: firefly-res
type: Opaque
stringData:
db_password: Rey-1176
app_key: 4VF2JAHT5PA9VCW7EUBUJCWAWV89G9PC
access_token: 4VF2JAHT5PA9VCW7EUBUJCWAWV89G9PC
mail_user: celestino_rey@ymail.com
mail_password: kbryvwxkockqckss

+ 1
- 0
Firefly/Respaldo/ff3Logs.sh View File

@ -0,0 +1 @@
kubectl logs deployment.apps/firefly-iii -n firefly

+ 110
- 0
Firefly/Respaldo/firefly-deployment.yaml View File

@ -0,0 +1,110 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: firefly-iii-res-upload-claim
namespace: firefly-res
labels:
app: firefly-iii-res
spec:
accessModes:
- ReadWriteOnce
storageClassName: ""
resources:
requests:
storage: 10Gi
---
apiVersion: v1
kind: Service
metadata:
name: firefly-iii-res
namespace: firefly-res
labels:
app: firefly-iii-res
spec:
type: NodePort
ports:
- name: firefly-res
port: 8080
nodePort: 30580
targetPort: firefly-iii-res
selector:
app: firefly-iii-res
tier: frontend
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: firefly-iii-res
namespace: firefly-res
labels:
app: firefly-iii-res
spec:
selector:
matchLabels:
app: firefly-iii-res
tier: frontend
strategy:
type: Recreate
template:
metadata:
labels:
app: firefly-iii-res
tier: frontend
spec:
containers:
- image: fireflyiii/core:latest
name: firefly-iii-res
env:
- name: APP_ENV
value: local
- name: APP_KEY
valueFrom:
secretKeyRef:
name: firefly-iii-res-secrets
key: app_key
- name: DB_HOST
value: firefly-iii-res-mysql
- name: DB_CONNECTION
value: mysql
- name: DB_DATABASE
value: "firefly-resiii"
- name: DB_USERNAME
value: "root"
- name: DB_PASSWORD
valueFrom:
secretKeyRef:
name: firefly-iii-res-secrets
key: db_password
- name: TRUSTED_PROXIES
value: "**"
- name: MAIL_MAILER
value: smtp
- name: MAIL_HOST
value: "smtp.mail.yahoo.com"
- name: MAIL_PORT
value: "465"
- name: MAIL_FROM
value: "celestino_rey@ymail.com"
- name: MAIL_USERNAME
valueFrom:
secretKeyRef:
name: firefly-iii-res-secrets
key: mail_user
- name: MAIL_PASSWORD
valueFrom:
secretKeyRef:
name: firefly-iii-res-secrets
key: mail_password
- name: MAIL_ENCRYPTION
value: "ssl"
ports:
- containerPort: 8080
name: firefly-iii-res
volumeMounts:
- mountPath: "/var/www/html/firefly-iii-res/storage/upload"
name: firefly-iii-res-upload
imagePullPolicy: Always
volumes:
- name: firefly-iii-res-upload
persistentVolumeClaim:
claimName: firefly-iii-res-upload-claim

+ 7
- 0
Firefly/Respaldo/kustomization.yaml View File

@ -0,0 +1,7 @@
resources:
- ff-namespace.yaml
- ff-secrets.yaml
- mysql-deployment.yaml
- firefly-deployment.yaml
- php-deployment.yaml

+ 1
- 0
Firefly/Respaldo/lanzaCron View File

@ -0,0 +1 @@
kubectl exec deployment.apps/firefly-iii -n firefly -- runuser -u www-data /usr/local/bin/php /var/www/html/artisan firefly-iii:cron

+ 72
- 0
Firefly/Respaldo/mysql-deployment.yaml View File

@ -0,0 +1,72 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: firefly-iii-res-data-pvc
namespace: firefly-res
labels:
app: firefly-iii-res
spec:
accessModes:
- ReadWriteOnce
storageClassName: ""
resources:
requests:
storage: 20Gi
---
apiVersion: v1
kind: Service
metadata:
name: firefly-iii-res-mysql
namespace: firefly-res
labels:
app: firefly-iii-res
spec:
type: NodePort
ports:
- name: mysql
port: 3306
nodePort: 30581
targetPort: mysql
selector:
app: firefly-iii-res
tier: mysql
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: firefly-iii-res-mysql
namespace: firefly-res
labels:
app: firefly-iii-res
spec:
selector:
matchLabels:
app: firefly-iii-res
tier: mysql
strategy:
type: Recreate
template:
metadata:
labels:
app: firefly-iii-res
tier: mysql
spec:
containers:
- image: mariadb:latest
name: mysql
env:
- name: MYSQL_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: firefly-iii-res-secrets
key: db_password
ports:
- containerPort: 3306
name: mysql
volumeMounts:
- name: mysql-persistent-storage
mountPath: /var/lib/mysql
volumes:
- name: mysql-persistent-storage
persistentVolumeClaim:
claimName: firefly-iii-res-data-pvc

+ 3
- 0
Firefly/Respaldo/paraTodo.sh View File

@ -0,0 +1,3 @@
kubectl delete -k ./
kubectl delete -f pv-local-ff.yaml
kubectl delete -f pv-local-mysql.yaml

+ 54
- 0
Firefly/Respaldo/php-deployment.yaml View File

@ -0,0 +1,54 @@
apiVersion: v1
kind: Service
metadata:
name: phpmyadmin-firefly-res
namespace: firefly-res
labels:
app: firefly-iii-res
spec:
selector:
app: firefly-iii-res
tier: phpmyadmin
type: NodePort
ports:
- name: phpadmin
port: 80
nodePort: 30588
targetPort: phpmyadm
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: phpmyadmin-firefly-res
namespace: firefly-res
labels:
app: firefly-iii-res
spec:
selector:
matchLabels:
app: firefly-iii-res
tier: phpmyadmin
strategy:
type: Recreate
template:
metadata:
labels:
app: firefly-iii-res
tier: phpmyadmin
spec:
containers:
- name: phpmyadmin
image: phpmyadmin
ports:
- containerPort: 80
name: phpmyadm
env:
- name: PMA_HOST
value: firefly-iii-res-mysql
- name: PMA_PORT
value: "3306"
- name: MYSQL_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: firefly-iii-res-secrets
key: db_password

+ 1
- 0
Firefly/Respaldo/pruebaCron View File

@ -0,0 +1 @@
kubectl exec -ti `kubectl get pod -n firefly | grep -v mysql |grep -v phpmy |grep -v NAME|cut -c1-27` -n firefly -- runuser -u www-data touch pepe

+ 11
- 0
Firefly/Respaldo/pv-local-ff.yaml View File

@ -0,0 +1,11 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: data-firefly-iii-res
spec:
capacity:
storage: 10Gi
accessModes:
- ReadWriteOnce
hostPath:
path: "/mnt/cluster/firefly-res/firefly-uploads"

+ 11
- 0
Firefly/Respaldo/pv-local-mysql.yaml View File

@ -0,0 +1,11 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: data-firefly-iii-res-mysql
spec:
capacity:
storage: 20Gi
accessModes:
- ReadWriteOnce
hostPath:
path: "/mnt/cluster/firefly-res/firefly-db"

+ 1
- 1
Firefly/k8s-cluster/creaTodo.sh View File

@ -1,4 +1,4 @@
kubectl create -f pv-local-ff.yaml kubectl create -f pv-local-ff.yaml
kubectl create -f pv-local-mysql.yaml kubectl create -f pv-local-mysql.yaml
kubectl create -k ./ kubectl create -k ./
watch kubectl get all -n firefly
#watch kubectl get all -n firefly

+ 1
- 0
Firefly/k8s-cluster/entraMysql.sh View File

@ -0,0 +1 @@
kubectl exec -ti deployment.apps/firefly-iii-mysql -n firefly -- /bin/bash

+ 1
- 1
Firefly/k8s-cluster/pv-local-mysql.yaml View File

@ -8,4 +8,4 @@ spec:
accessModes: accessModes:
- ReadWriteOnce - ReadWriteOnce
hostPath: hostPath:
path: "/mnt/cluster/fireflyiii/firefly-uploads"
path: "/mnt/cluster/fireflyiii/firefly-db"

+ 8
- 0
MDM/creaTodo.sh View File

@ -0,0 +1,8 @@
# pgadmin
kubectl create -f pv-local-pgadmin.yaml
kubectl create -f pvc-pgadmin.yaml
kubectl create -f pgadmin-secret.yaml
kubectl create -f pgadmin-service.yaml
kubectl create -f pgadmin-deployment.yaml
kubectl create -f pgadmin-configmap.yaml
watch kubectl get all -n postgres

+ 1
- 0
MDM/entra.sh View File

@ -0,0 +1 @@
kubectl exec -ti deployment.apps/postgres -n postgres -- /bin/bash

+ 6
- 0
MDM/paraTodo.sh View File

@ -0,0 +1,6 @@
kubectl delete -f pgadmin-configmap.yaml
kubectl delete -f pgadmin-secret.yaml
kubectl delete -f pgadmin-service.yaml
kubectl delete -f pgadmin-deployment.yaml
kubectl delete -f pvc-pgadmin.yaml
kubectl delete -f pv-local-pgadmin.yaml

PGO/pgadmin-configmap.yaml → MDM/pgadmin-configmap.yaml View File

@ -18,3 +18,6 @@ data:
} }
} }
} }
config_local.py: |
SECURITY_EMAIL_VALIDATOR_ARGS={"check_deliverability": False}

+ 52
- 0
MDM/pgadmin-deployment.yaml View File

@ -0,0 +1,52 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: pgadmin
namespace: postgres
spec:
replicas: 1
selector:
matchLabels:
app: pgadmin
template:
metadata:
labels:
app: pgadmin
spec:
initContainers:
- name: pgadmin-init
image: alpine
args: [ "sh", "-c", "chown 5050:5050 /var/lib/pgadmin " ]
volumeMounts:
- name: pgadmin-data
mountPath: /var/lib/pgadmin
containers:
- name: pgadmin
image: ubuntu
imagePullPolicy: Always
env:
- name: PGADMIN_DEFAULT_EMAIL
value: creylopez@yahoo.es
- name: PGADMIN_DEFAULT_PASSWORD
valueFrom:
secretKeyRef:
name: pgadmin
key: pgadmin-password
volumeMounts:
- name: pgadmin-config
mountPath: /pgadmin4/servers.json
subPath: servers.json
readOnly: true
- name: pgadmin-config
mountPath: /pgadmin4/config_local.py
subPath: config_local.py
readOnly: true
- name: pgadmin-data
mountPath: /var/lib/pgadmin
volumes:
- name: pgadmin-config
configMap:
name: pgadmin-config
- name: pgadmin-data
persistentVolumeClaim:
claimName: pgadmin-pv-claim

PGO/pgadmin-secret.yaml → MDM/pgadmin-secret.yaml View File

@ -5,4 +5,4 @@ metadata:
name: pgadmin name: pgadmin
namespace: postgres namespace: postgres
data: data:
pgadmin-password: UmV5LTExNzYK
pgadmin-password: UmV5MTE3Ngo=

+ 14
- 0
MDM/pgadmin-service.yaml View File

@ -0,0 +1,14 @@
apiVersion: v1
kind: Service # Create service
metadata:
name: pgadmin # Sets the service name
namespace: postgres
labels:
app: pgadmin # Defines app to create service for
spec:
type: NodePort # Sets the service type
ports:
- port: 80 # Sets the port to run the postgres application
nodePort: 30200
selector:
app: pgadmin

PGO/pgadmin-statefulset.yaml → MDM/pgadmin-statefulset.yaml View File


+ 11
- 0
MDM/pv-local-pgadmin-config.yaml View File

@ -0,0 +1,11 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: pgadmin-config
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
hostPath:
path: "/mnt/cluster/postgres/pgadmin-config"

PGO/pv-local-pgadmin.yaml → MDM/pv-local-pgadmin.yaml View File


+ 14
- 0
MDM/pvc-pgadmin-config.yaml View File

@ -0,0 +1,14 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pgadmin-config-pv-claim
namespace: postgres
labels:
app: postgres
spec:
accessModes:
- ReadWriteOnce
storageClassName: ""
resources:
requests:
storage: 1Gi

+ 14
- 0
MDM/pvc-pgadmin.yaml View File

@ -0,0 +1,14 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pgadmin-pv-claim
namespace: postgres
labels:
app: postgres
spec:
accessModes:
- ReadWriteOnce
storageClassName: ""
resources:
requests:
storage: 3Gi

+ 1
- 1
Mediawiki/creaTodo.sh View File

@ -1,4 +1,4 @@
kubectl create -f pv-local-mysql-mw.yaml kubectl create -f pv-local-mysql-mw.yaml
kubectl create -f pv-local-mediawiki.yaml kubectl create -f pv-local-mediawiki.yaml
kubectl create -k ./ kubectl create -k ./
watch kubectl get all -n mediawiki
#watch kubectl get all -n mediawiki

Metallb/borraNginsIngres.sh → Metallb/borraNginxIngress.sh View File


+ 1
- 1
NextCloud/creaTodo.sh View File

@ -1,4 +1,4 @@
kubectl create -f pv-local-nextcloud.yaml kubectl create -f pv-local-nextcloud.yaml
kubectl create -f pv-local-mysql.yaml kubectl create -f pv-local-mysql.yaml
kubectl create -k ./ kubectl create -k ./
watch kubectl get all -n nextcloud
#watch kubectl get all -n nextcloud

+ 9
- 0
PGO/creaTodo.sh View File

@ -3,4 +3,13 @@ kubectl create -f pvc-pg.yaml
kubectl create -f postgres-configmap.yaml kubectl create -f postgres-configmap.yaml
kubectl create -f postgres-deployment.yaml kubectl create -f postgres-deployment.yaml
kubectl create -f postgres-service.yaml kubectl create -f postgres-service.yaml
# pgadmin
#kubectl create -f pv-local-pgadmin.yaml
#kubectl create -f pvc-pgadmin.yaml
#kubectl create -f pgadmin-secret.yaml
#kubectl create -f pgadmin-service.yaml
#kubectl create -f pgadmin-deployment.yaml
#kubectl create -f pgadmin-configmap.yaml
kubectl create -f pv-local-phppgadmin.yaml
kubectl create -f phppgadmin-deployment.yaml
watch kubectl get all -n postgres watch kubectl get all -n postgres

+ 1
- 0
PGO/entrapsql.sh View File

@ -0,0 +1 @@
kubectl exec -ti deployment.apps/postgres -n postgres -- psql -h localhost -U postgres --password -p 5432 postgresdb

+ 8
- 5
PGO/paraTodo.sh View File

@ -3,8 +3,11 @@ kubectl delete -f postgres-deployment.yaml
kubectl delete -f postgres-configmap.yaml kubectl delete -f postgres-configmap.yaml
kubectl delete -f pvc-pg.yaml kubectl delete -f pvc-pg.yaml
kubectl delete -f pv-local-pg.yaml kubectl delete -f pv-local-pg.yaml
kubectl delete -f pgadmin-configmap.yaml
kubectl delete -f pgadmin-secret.yaml
kubectl delete -f pgadmin-service.yaml
kubectl delete -f pgadmin-statefulset.yaml
kubectl delete -f pv-local-pgadmin.yaml
#kubectl delete -f pgadmin-configmap.yaml
#kubectl delete -f pgadmin-secret.yaml
#kubectl delete -f pgadmin-service.yaml
#kubectl delete -f pgadmin-deployment.yaml
#kubectl delete -f pvc-pgadmin.yaml
#kubectl delete -f pv-local-pgadmin.yaml
kubectl delete -f phppgadmin-deployment.yaml
kubectl delete -f pv-local-phppgadmin.yaml

+ 0
- 13
PGO/pgadmin-service.yaml View File

@ -1,13 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: pgadmin-service
namespace: postgres
spec:
ports:
- protocol: TCP
port: 80
targetPort: http
selector:
app: pgadmin
type: NodePort

+ 23
- 0
PGO/pgadmin/pgadmin-configmap.yaml View File

@ -0,0 +1,23 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: pgadmin-config
namespace: postgres
data:
servers.json: |
{
"Servers": {
"1": {
"Name": "PostgreSQL DB",
"Group": "Servers",
"Port": 5432,
"Username": "postgres",
"Host": "postgres",
"SSLMode": "prefer",
"MaintenanceDB": "postgres"
}
}
}
config_local.py: |
SECURITY_EMAIL_VALIDATOR_ARGS={"check_deliverability": False}

+ 52
- 0
PGO/pgadmin/pgadmin-deployment.yaml View File

@ -0,0 +1,52 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: pgadmin
namespace: postgres
spec:
replicas: 1
selector:
matchLabels:
app: pgadmin
template:
metadata:
labels:
app: pgadmin
spec:
initContainers:
- name: pgadmin-init
image: alpine
args: [ "sh", "-c", "chown 5050:5050 /var/lib/pgadmin " ]
volumeMounts:
- name: pgadmin-data
mountPath: /var/lib/pgadmin
containers:
- name: pgadmin
image: dpage/pgadmin4:6.17
imagePullPolicy: Always
env:
- name: PGADMIN_DEFAULT_EMAIL
value: creylopez@yahoo.es
- name: PGADMIN_DEFAULT_PASSWORD
valueFrom:
secretKeyRef:
name: pgadmin
key: pgadmin-password
volumeMounts:
- name: pgadmin-config
mountPath: /pgadmin4/servers.json
subPath: servers.json
readOnly: true
- name: pgadmin-config
mountPath: /pgadmin4/config_local.py
subPath: config_local.py
readOnly: true
- name: pgadmin-data
mountPath: /var/lib/pgadmin
volumes:
- name: pgadmin-config
configMap:
name: pgadmin-config
- name: pgadmin-data
persistentVolumeClaim:
claimName: pgadmin-pv-claim

+ 48
- 0
PGO/pgadmin/pgadmin-deployment.yaml.copia View File

@ -0,0 +1,48 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: pgadmin
namespace: postgres
spec:
replicas: 1
selector:
matchLabels:
app: pgadmin
template:
metadata:
labels:
app: pgadmin
spec:
initContainers:
- name: pgadmin-init
image: alpine
args: [ "sh", "-c", "chown 5050:5050 /var/lib/pgadmin " ]
volumeMounts:
- name: pgadmin-data
mountPath: /var/lib/pgadmin
containers:
- name: pgadmin
image: dpage/pgadmin4:5.5
imagePullPolicy: Always
env:
- name: PGADMIN_DEFAULT_EMAIL
value: celestino.rey@gmail.com
- name: PGADMIN_DEFAULT_PASSWORD
valueFrom:
secretKeyRef:
name: pgadmin
key: pgadmin-password
volumeMounts:
- name: pgadmin-config
mountPath: /pgadmin4/servers.json
subPath: servers.json
readOnly: true
- name: pgadmin-data
mountPath: /var/lib/pgadmin
volumes:
- name: pgadmin-config
configMap:
name: pgadmin-config
- name: pgadmin-data
persistentVolumeClaim:
claimName: pgadmin-pv-claim

+ 8
- 0
PGO/pgadmin/pgadmin-secret.yaml View File

@ -0,0 +1,8 @@
apiVersion: v1
kind: Secret
type: Opaque
metadata:
name: pgadmin
namespace: postgres
data:
pgadmin-password: UmV5MTE3Ngo=

+ 14
- 0
PGO/pgadmin/pgadmin-service.yaml View File

@ -0,0 +1,14 @@
apiVersion: v1
kind: Service # Create service
metadata:
name: pgadmin # Sets the service name
namespace: postgres
labels:
app: pgadmin # Defines app to create service for
spec:
type: NodePort # Sets the service type
ports:
- port: 80 # Sets the port to run the postgres application
nodePort: 30200
selector:
app: pgadmin

+ 55
- 0
PGO/pgadmin/pgadmin-statefulset.yaml View File

@ -0,0 +1,55 @@
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: pgadmin
namespace: postgres
spec:
serviceName: pgadmin-service
podManagementPolicy: Parallel
replicas: 1
updateStrategy:
type: RollingUpdate
selector:
matchLabels:
app: pgadmin
template:
metadata:
labels:
app: pgadmin
spec:
terminationGracePeriodSeconds: 10
containers:
- name: pgadmin
image: dpage/pgadmin4:5.4
imagePullPolicy: Always
env:
- name: PGADMIN_DEFAULT_EMAIL
value: celestino.rey@gmail.com
- name: PGADMIN_DEFAULT_PASSWORD
valueFrom:
secretKeyRef:
name: pgadmin
key: pgadmin-password
ports:
- name: http
containerPort: 80
protocol: TCP
volumeMounts:
- name: pgadmin-config
mountPath: /pgadmin4/servers.json
subPath: servers.json
readOnly: true
- name: pgadmin-data
mountPath: /var/lib/pgadmin
volumes:
- name: pgadmin-config
configMap:
name: pgadmin-config
volumeClaimTemplates:
- metadata:
name: pgadmin-data
spec:
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
storage: 3Gi

+ 11
- 0
PGO/pgadmin/pv-local-pgadmin-config.yaml View File

@ -0,0 +1,11 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: pgadmin-config
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
hostPath:
path: "/mnt/cluster/postgres/pgadmin-config"

+ 11
- 0
PGO/pgadmin/pv-local-pgadmin.yaml View File

@ -0,0 +1,11 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: pgadmin-data
spec:
capacity:
storage: 3Gi
accessModes:
- ReadWriteOnce
hostPath:
path: "/mnt/cluster/postgres/pgadmin"

+ 14
- 0
PGO/pgadmin/pvc-pgadmin-config.yaml View File

@ -0,0 +1,14 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pgadmin-config-pv-claim
namespace: postgres
labels:
app: postgres
spec:
accessModes:
- ReadWriteOnce
storageClassName: ""
resources:
requests:
storage: 1Gi

+ 14
- 0
PGO/pgadmin/pvc-pgadmin.yaml View File

@ -0,0 +1,14 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pgadmin-pv-claim
namespace: postgres
labels:
app: postgres
spec:
accessModes:
- ReadWriteOnce
storageClassName: ""
resources:
requests:
storage: 3Gi

+ 4
- 5
PGO/postgres-configmap.yaml View File

@ -1,13 +1,12 @@
# Create ConfigMap postgres-secret for the postgres app
# Define default database name, user, and password
apiVersion: v1 apiVersion: v1
kind: ConfigMap kind: ConfigMap
metadata: metadata:
name: postgres-secret
name: postgres-config
namespace: postgres namespace: postgres
labels: labels:
app: postgres app: postgres
data: data:
POSTGRES_DB: productos
POSTGRES_USER: creylopez
POSTGRES_DB: postgresdb
POSTGRES_USER: postgres
POSTGRES_PASSWORD: Rey-1176 POSTGRES_PASSWORD: Rey-1176

+ 1
- 1
PGO/postgres-deployment.yaml View File

@ -21,7 +21,7 @@ spec:
- containerPort: 5432 # Exposing the container port 5432 for PostgreSQL client connections. - containerPort: 5432 # Exposing the container port 5432 for PostgreSQL client connections.
envFrom: envFrom:
- configMapRef: - configMapRef:
name: postgres-secret # Using the ConfigMap postgres-secret
name: postgres-config # Using the ConfigMap postgres-secret
volumeMounts: volumeMounts:
- mountPath: /var/lib/postgresql/data - mountPath: /var/lib/postgresql/data
name: postgresdata name: postgresdata


+ 1
- 0
PGO/termina.sh View File

@ -0,0 +1 @@
kubectl patch pv pgadmin-data -p '{"metadata":{"finalizers":null}}'

+ 1
- 1
Wordpress/creaTodo.sh View File

@ -1,4 +1,4 @@
kubectl create -f pv-local-mysql.yaml kubectl create -f pv-local-mysql.yaml
kubectl create -f pv-local-wordpress.yaml kubectl create -f pv-local-wordpress.yaml
kubectl create -k ./ kubectl create -k ./
watch kubectl get all -n wordpress
#watch kubectl get all -n wordpress

+ 7
- 0
creaTodoTodo.sh View File

@ -0,0 +1,7 @@
raiz=$PWD
for i in Mediawiki Firefly/k8s-cluster Nginx Wordpress NextCloud
do
cd $i
sh creaTodo.sh
cd $raiz
done

Loading…
Cancel
Save