From 629a736c995f6fa5c9059240b218e44287dcf6d1 Mon Sep 17 00:00:00 2001 From: Celestino Rey Date: Fri, 21 Feb 2025 12:36:09 +0100 Subject: [PATCH] Corrijo path a gitea --- README.md | 66 ++++++++++++++++++++++++-------- Yamls/env-prod-db-configmap.yaml | 11 ++++++ Yamls/postgresql-deployment.yaml | 52 +++++++++++++++++++++++++ Yamls/postgresql-service.yaml | 17 ++++++++ Yamls/pvc-postgresql.yaml | 17 ++++++++ borraDB.sh | 3 ++ creaDB.sh | 4 ++ entra.sh | 1 + nuevaapp.sh | 1 + 9 files changed, 156 insertions(+), 16 deletions(-) create mode 100644 Yamls/env-prod-db-configmap.yaml create mode 100644 Yamls/postgresql-deployment.yaml create mode 100644 Yamls/postgresql-service.yaml create mode 100644 Yamls/pvc-postgresql.yaml create mode 100644 borraDB.sh create mode 100644 creaDB.sh create mode 100644 entra.sh create mode 100644 nuevaapp.sh diff --git a/README.md b/README.md index 0b1edb6..67b1f49 100644 --- a/README.md +++ b/README.md @@ -1,30 +1,64 @@ -# Running Commands as Root in OpenShift +# Versión para openshift -## Opción 1 +## Instalación + +### Crear un proyecto + + oc new-project jugaralpadel + +#### Permitir que los pods puedan funcionar como root oc adm policy add-scc-to-user anyuid -z default -## Opción 2 +### Añadir la app desde gitea + + oc new-app http://gitea.reymota.es/creylopez/JugarAlPadelOC.git -e DEBUG="False" -e VERSION=11.0 --name='jugaralpadel' + +Tal y como está la estructura de directorios, deberia detectar automáticamente una compilación Python + +## Asignación de los volúmenes +### Si la pvc no está creada + + oc set volume deployment.apps/jugaralpadel --add -t pvc --claim-size=300M --name=jugaralpadel-eventos-migrations --claim-name='jugaralpadel-eventos-migrations' --mount-path='/app/eventos/migrations' + + oc set volume deployment.apps/jugaralpadel --add -t pvc --claim-size=300M --name=jugaralpadel-media --claim-name='jugaralpadel-media' --mount-path='/app/mediafiles' + + oc set volume deployment.apps/jugaralpadel --add -t pvc --claim-size=300M --name=reymota-reymotausers-migrations --claim-name='reymota-reymotausers-migrations' --mount-path='/app/reymotausers/migrations' + + oc set volume deployment.apps/jugaralpadel --add -t pvc --claim-size=50G --name=static-volume --claim-name='static-volume' --mount-path='/app/staticfiles' + + +### Si la pvc ya está creada + + oc set volume deployment.apps/jugaralpadel --add -t pvc --name=jugaralpadel-eventos-migrations --claim-name='jugaralpadel-eventos-migrations' --mount-path='/app/eventos/migrations' + + oc set volume deployment.apps/jugaralpadel --add -t pvc --name=jugaralpadel-media --claim-name='jugaralpadel-media' --mount-path='/app/mediafiles' + + oc set volume deployment.apps/jugaralpadel --add -t pvc --name=reymota-reymotausers-migrations --claim-name='reymota-reymotausers-migrations' --mount-path='/app/reymotausers/migrations' + + oc set volume deployment.apps/jugaralpadel --add -t pvc --name=static-volume --claim-name='static-volume' --mount-path='/app/staticfiles' + + +## Exponer el servicio + oc expose service/reymota + +### postgresql +Los ficheros yaml están en el directorio Yamls. -Esta es la que usé la primera vez, pero hay que hacerlo para cada deployment. La opción 1 es una vez por proyecto. +Se crea el deployment y el servicio con la shell creaDB.sh +Se borran con borraDB.sh -Running commands as root in OpenShift is restricted by default due to security policies. To allow a container to run as root, you need to use the anyuid Security Context Constraints (SCC) or create a custom SCC. Here are the steps to enable running commands as root: +Hay que tener en cuenta que la PVC *no* se crea en estas shells. Hay que crearla a mano. Esto se hace para no perder los datos. -1. Create a Service Account: First, create a new service account in the project where you want to run the container as root. - oc create serviceaccount runasanyuid - -2. Grant the anyuid SCC to the Service Account: As a cluster administrator, grant the anyuid SCC to the service account. +## Cosas a hacer la primera vez +Desde dentro de la shell del pod - oc adm policy add-scc-to-user anyuid -z runasanyuid --as system:admin - -3. Update the Deployment Configuration: Modify the deployment configuration to use the newly created service account. + python manage.py createsuperuser - oc patch deployment.apps/django-nginx-git --patch '{"spec":{"template":{"spec":{"serviceAccountName": "runasanyuid"}}}}' - -4. Trigger a New Deployment: After updating the deployment configuration, trigger a new deployment if necessary. + python manage.py makemigrations - oc rollout latest minimal-notebook + python manage.py migrate # Cambiar la secuencia de los id diff --git a/Yamls/env-prod-db-configmap.yaml b/Yamls/env-prod-db-configmap.yaml new file mode 100644 index 0000000..9fab4a9 --- /dev/null +++ b/Yamls/env-prod-db-configmap.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +data: + POSTGRES_DB: jugaralpadel + POSTGRES_PASSWORD: Dsa-0213 + POSTGRES_USER: creylopez +kind: ConfigMap +metadata: + labels: + io.kompose.service: db-env-prod-db + name: env-prod-db + namespace: jugaralpadel diff --git a/Yamls/postgresql-deployment.yaml b/Yamls/postgresql-deployment.yaml new file mode 100644 index 0000000..a15a262 --- /dev/null +++ b/Yamls/postgresql-deployment.yaml @@ -0,0 +1,52 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + annotations: + kompose.cmd: kompose convert + kompose.version: 1.34.0 (cbf2835db) + labels: + io.kompose.service: postgresql + name: postgresql + namespace: jugaralpadel +spec: + replicas: 1 + selector: + matchLabels: + io.kompose.service: postgresql + strategy: + type: Recreate + template: + metadata: + annotations: + kompose.cmd: kompose convert + kompose.version: 1.34.0 (cbf2835db) + labels: + io.kompose.service: postgresql + spec: + containers: + - env: + - name: POSTGRES_DB + valueFrom: + configMapKeyRef: + key: POSTGRES_DB + name: env-prod-db + - name: POSTGRES_PASSWORD + valueFrom: + configMapKeyRef: + key: POSTGRES_PASSWORD + name: env-prod-db + - name: POSTGRES_USER + valueFrom: + configMapKeyRef: + key: POSTGRES_USER + name: env-prod-db + image: postgres:15 + name: postgresql + volumeMounts: + - mountPath: /var/lib/postgresql/data + name: postgresql + restartPolicy: Always + volumes: + - name: postgresql + persistentVolumeClaim: + claimName: postgresql diff --git a/Yamls/postgresql-service.yaml b/Yamls/postgresql-service.yaml new file mode 100644 index 0000000..01920b1 --- /dev/null +++ b/Yamls/postgresql-service.yaml @@ -0,0 +1,17 @@ +apiVersion: v1 +kind: Service +metadata: + annotations: + kompose.cmd: kompose convert + kompose.version: 1.34.0 (cbf2835db) + labels: + io.kompose.service: postgresql + name: postgresql + namespace: jugaralpadel +spec: + ports: + - name: "5432" + port: 5432 + targetPort: 5432 + selector: + io.kompose.service: postgresql diff --git a/Yamls/pvc-postgresql.yaml b/Yamls/pvc-postgresql.yaml new file mode 100644 index 0000000..9bd9622 --- /dev/null +++ b/Yamls/pvc-postgresql.yaml @@ -0,0 +1,17 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + finalizers: + - kubernetes.io/pvc-protection + labels: + template: postgresql-persistent-template + name: postgresql + namespace: jugaralpadel +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 1Gi + storageClassName: lvms-vg1 + volumeMode: Filesystem diff --git a/borraDB.sh b/borraDB.sh new file mode 100644 index 0000000..0ebb1fb --- /dev/null +++ b/borraDB.sh @@ -0,0 +1,3 @@ +oc delete -f Yamls/env-prod-db-configmap.yaml +oc delete -f Yamls/postgresql-deployment.yaml +oc delete -f Yamls/postgresql-service.yaml diff --git a/creaDB.sh b/creaDB.sh new file mode 100644 index 0000000..d46530a --- /dev/null +++ b/creaDB.sh @@ -0,0 +1,4 @@ +oc create -f Yamls/env-prod-db-configmap.yaml +#oc create -f Yamls/pvc-postgresql.yaml +oc create -f Yamls/postgresql-deployment.yaml +oc create -f Yamls/postgresql-service.yaml diff --git a/entra.sh b/entra.sh new file mode 100644 index 0000000..bb524a2 --- /dev/null +++ b/entra.sh @@ -0,0 +1 @@ +oc exec -it deployment.apps/reymotaappsoc -- bash diff --git a/nuevaapp.sh b/nuevaapp.sh new file mode 100644 index 0000000..a4f16fc --- /dev/null +++ b/nuevaapp.sh @@ -0,0 +1 @@ +oc new-app http://gitea.reymota.es/creylopez/ReyMotaAppsOC.git -e DEBUG=True