From b28bde5665bdb24661017c223489c0145516d503 Mon Sep 17 00:00:00 2001 From: creylopez Date: Fri, 18 Nov 2022 09:04:41 +0100 Subject: [PATCH 1/4] Creada shell para instalar kubernetes y shells renombradas --- CreaCluster/10-prepara.sh | 84 +++++++++++++++++++ ...{00-borraCluster.sh => 20-borraCluster.sh} | 0 ...lizaCluster.sh => 30-inicializaCluster.sh} | 0 ...nfigCluster.sh => 40-creaConfigCluster.sh} | 0 .../{03-creaCalico.sh => 50-creaCalico.sh} | 0 ...masterEsWorker.sh => 60-masterEsWorker.sh} | 0 ...nfirmaRunning.sh => 70-confirmaRunning.sh} | 0 CreaCluster/shell.sh | 1 + 8 files changed, 85 insertions(+) create mode 100644 CreaCluster/10-prepara.sh rename CreaCluster/{00-borraCluster.sh => 20-borraCluster.sh} (100%) rename CreaCluster/{01-inicializaCluster.sh => 30-inicializaCluster.sh} (100%) rename CreaCluster/{02-creaConfigCluster.sh => 40-creaConfigCluster.sh} (100%) rename CreaCluster/{03-creaCalico.sh => 50-creaCalico.sh} (100%) rename CreaCluster/{04-masterEsWorker.sh => 60-masterEsWorker.sh} (100%) rename CreaCluster/{05-confirmaRunning.sh => 70-confirmaRunning.sh} (100%) create mode 100644 CreaCluster/shell.sh diff --git a/CreaCluster/10-prepara.sh b/CreaCluster/10-prepara.sh new file mode 100644 index 00000000..03910748 --- /dev/null +++ b/CreaCluster/10-prepara.sh @@ -0,0 +1,84 @@ +read -p "Voy a quitar swap. Pulsa ENTER para seguir:" mainmenuinput + +# disable swap + +sudo swapoff -a +sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab + +read -p "Cargar kernel modules. Pulsa ENTER para seguir:" mainmenuinput + +# Load the following kernel modules on all the nodes + +sudo tee /etc/modules-load.d/containerd.conf </dev/null 2>&1 +sudo sed -i 's/SystemdCgroup \= false/SystemdCgroup \= true/g' /etc/containerd/config.toml + +read -p "Enable containerd. Pulsa ENTER para seguir:" mainmenuinput + +# Restart and enable containerd service + +sudo systemctl restart containerd +sudo systemctl enable containerd + +read -p "Añade repository de Kubernetes. Pulsa ENTER para seguir:" mainmenuinput + +# Add apt repository for Kubernetes + +curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - +sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main" + +# Install Kubernetes components Kubectl, kubeadm & kubelet +read -p "Instalar componentes de kubernetes. Pulsa ENTER para seguir:" mainmenuinput + + +sudo apt update +sudo apt install -y kubelet kubeadm kubectl +sudo apt-mark hold kubelet kubeadm kubectl diff --git a/CreaCluster/00-borraCluster.sh b/CreaCluster/20-borraCluster.sh similarity index 100% rename from CreaCluster/00-borraCluster.sh rename to CreaCluster/20-borraCluster.sh diff --git a/CreaCluster/01-inicializaCluster.sh b/CreaCluster/30-inicializaCluster.sh similarity index 100% rename from CreaCluster/01-inicializaCluster.sh rename to CreaCluster/30-inicializaCluster.sh diff --git a/CreaCluster/02-creaConfigCluster.sh b/CreaCluster/40-creaConfigCluster.sh similarity index 100% rename from CreaCluster/02-creaConfigCluster.sh rename to CreaCluster/40-creaConfigCluster.sh diff --git a/CreaCluster/03-creaCalico.sh b/CreaCluster/50-creaCalico.sh similarity index 100% rename from CreaCluster/03-creaCalico.sh rename to CreaCluster/50-creaCalico.sh diff --git a/CreaCluster/04-masterEsWorker.sh b/CreaCluster/60-masterEsWorker.sh similarity index 100% rename from CreaCluster/04-masterEsWorker.sh rename to CreaCluster/60-masterEsWorker.sh diff --git a/CreaCluster/05-confirmaRunning.sh b/CreaCluster/70-confirmaRunning.sh similarity index 100% rename from CreaCluster/05-confirmaRunning.sh rename to CreaCluster/70-confirmaRunning.sh diff --git a/CreaCluster/shell.sh b/CreaCluster/shell.sh new file mode 100644 index 00000000..44ded62a --- /dev/null +++ b/CreaCluster/shell.sh @@ -0,0 +1 @@ +read -p "Pulsa ENTER para seguir:" mainmenuinput From c4f4ed70b86edb66007ad9884e082775fdab3aa0 Mon Sep 17 00:00:00 2001 From: Celestino Rey Date: Thu, 24 Nov 2022 14:50:18 +0100 Subject: [PATCH 2/4] =?UTF-8?q?A=C3=B1ado=20el=20directorio=20ownCloud?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ownCloud/Readme.md | 13 ++++++ ownCloud/collabora-deployment.yaml | 43 +++++++++++++++++++ ownCloud/creaTodo.sh | 6 +++ ownCloud/docker-compose.yml | 8 ++++ ownCloud/entra.sh | 1 + ownCloud/kustomization.yaml | 13 ++++++ ownCloud/mysql-deployment.yaml | 68 ++++++++++++++++++++++++++++++ ownCloud/nextcloud-deployment.yaml | 48 +++++++++++++++++++++ ownCloud/oc-namespace.yaml | 4 ++ ownCloud/owncloud-deployment.yaml | 44 +++++++++++++++++++ ownCloud/owncloud-service.yaml | 22 ++++++++++ ownCloud/paraTodo.sh | 5 +++ ownCloud/php-deployment.yaml | 54 ++++++++++++++++++++++++ ownCloud/pv-local-mysql.yaml | 11 +++++ ownCloud/pv-local-owncloud.yaml | 11 +++++ ownCloud/pvc-owncloud.yaml | 13 ++++++ 16 files changed, 364 insertions(+) create mode 100644 ownCloud/Readme.md create mode 100755 ownCloud/collabora-deployment.yaml create mode 100755 ownCloud/creaTodo.sh create mode 100644 ownCloud/docker-compose.yml create mode 100755 ownCloud/entra.sh create mode 100644 ownCloud/kustomization.yaml create mode 100755 ownCloud/mysql-deployment.yaml create mode 100644 ownCloud/nextcloud-deployment.yaml create mode 100644 ownCloud/oc-namespace.yaml create mode 100644 ownCloud/owncloud-deployment.yaml create mode 100644 ownCloud/owncloud-service.yaml create mode 100755 ownCloud/paraTodo.sh create mode 100644 ownCloud/php-deployment.yaml create mode 100644 ownCloud/pv-local-mysql.yaml create mode 100644 ownCloud/pv-local-owncloud.yaml create mode 100644 ownCloud/pvc-owncloud.yaml diff --git a/ownCloud/Readme.md b/ownCloud/Readme.md new file mode 100644 index 00000000..18852b03 --- /dev/null +++ b/ownCloud/Readme.md @@ -0,0 +1,13 @@ +# Nextcloud + +para que funcione hay que dar permisos al directorio para www-data:www-data. + +El nombre del directorio está definido en + + nextcloud-deployment.yaml: subPath: server-data + +y este está alojado dentro del directorio definido en el volumen persistente. + +En micaso en + + pi@k8s-router:/media/discoexterno/owncloud/server-data $ diff --git a/ownCloud/collabora-deployment.yaml b/ownCloud/collabora-deployment.yaml new file mode 100755 index 00000000..ce14c4ce --- /dev/null +++ b/ownCloud/collabora-deployment.yaml @@ -0,0 +1,43 @@ +apiVersion: v1 +kind: Service +metadata: + name: code-server + namespace: nextcloud + labels: + app: code +spec: + selector: + pod-label: code-server-pod + type: NodePort + ports: + - port: 9980 + nodePort: 30389 + targetPort: code +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: code-server + namespace: nextcloud + labels: + app: code +spec: + replicas: 1 + selector: + matchLabels: + pod-label: code-server-pod + template: + metadata: + labels: + pod-label: code-server-pod + spec: + containers: + - name: code + image: collabora/code:6.4.10.10 + env: + - name: extra_params + value: --o:ssl.enable=false + ports: + - containerPort: 9980 + name: code + diff --git a/ownCloud/creaTodo.sh b/ownCloud/creaTodo.sh new file mode 100755 index 00000000..5248a688 --- /dev/null +++ b/ownCloud/creaTodo.sh @@ -0,0 +1,6 @@ +kubectl create -f oc-namespace.yaml +kubectl create -f pv-local-owncloud.yaml +kubectl create -f pvc-owncloud.yaml +kubectl create -f owncloud-service.yaml +kubectl create -f owncloud-deployment.yaml +watch kubectl get all -n owncloud diff --git a/ownCloud/docker-compose.yml b/ownCloud/docker-compose.yml new file mode 100644 index 00000000..907437b0 --- /dev/null +++ b/ownCloud/docker-compose.yml @@ -0,0 +1,8 @@ +version: '3.1' +services: + owncloud: + # use the latest version of owncloud + image: owncloud:latest + ports: + # bind ownCloud's port 80 to port 8080 + - 8080:80 diff --git a/ownCloud/entra.sh b/ownCloud/entra.sh new file mode 100755 index 00000000..68aa44e5 --- /dev/null +++ b/ownCloud/entra.sh @@ -0,0 +1 @@ +kubectl exec -ti deployment.apps/owncloud -n owncloud -- /bin/bash diff --git a/ownCloud/kustomization.yaml b/ownCloud/kustomization.yaml new file mode 100644 index 00000000..8691867c --- /dev/null +++ b/ownCloud/kustomization.yaml @@ -0,0 +1,13 @@ +secretGenerator: +- name: mysqlnc-pass + namespace: nextcloud + literals: + - password=Dsa-0213 + - db_user=root + - db_passwd=Dsa-0213 +resources: +- nc-namespace.yaml +- pvc-nextcloud.yaml +- mysql-deployment.yaml +- php-deployment.yaml +- nextcloud-deployment.yaml diff --git a/ownCloud/mysql-deployment.yaml b/ownCloud/mysql-deployment.yaml new file mode 100755 index 00000000..503ae41a --- /dev/null +++ b/ownCloud/mysql-deployment.yaml @@ -0,0 +1,68 @@ +apiVersion: v1 +kind: Service +metadata: + name: nextcloud-mysql + namespace: nextcloud + labels: + app: nextcloud +spec: + ports: + - port: 3306 + selector: + app: nextcloud + tier: mysql + clusterIP: None +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: mysql-nc-pv-claim + namespace: nextcloud + labels: + app: nextcloud +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 20Gi +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: nextcloud-mysql + namespace: nextcloud + labels: + app: nextcloud +spec: + selector: + matchLabels: + app: nextcloud + tier: mysql + strategy: + type: Recreate + template: + metadata: + labels: + app: nextcloud + tier: mysql + spec: + containers: + - image: mariadb + name: mysql + env: + - name: MYSQL_ROOT_PASSWORD + valueFrom: + secretKeyRef: + name: mysqlnc-pass + key: password + ports: + - containerPort: 3306 + name: mysql + volumeMounts: + - name: mysql-persistent-storage + mountPath: /var/lib/mysql + volumes: + - name: mysql-persistent-storage + persistentVolumeClaim: + claimName: mysql-nc-pv-claim diff --git a/ownCloud/nextcloud-deployment.yaml b/ownCloud/nextcloud-deployment.yaml new file mode 100644 index 00000000..e2f8b343 --- /dev/null +++ b/ownCloud/nextcloud-deployment.yaml @@ -0,0 +1,48 @@ +apiVersion: v1 +kind: Service +metadata: + name: nextcloud-server + namespace: nextcloud + labels: + app: nextcloud +spec: + selector: + pod-label: nextcloud-server-pod + type: NodePort + ports: + - port: 80 + nodePort: 30289 + targetPort: nextcloud +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: nextcloud-server + namespace: nextcloud + labels: + app: nextcloud +spec: + replicas: 1 + selector: + matchLabels: + pod-label: nextcloud-server-pod + template: + metadata: + labels: + pod-label: nextcloud-server-pod + spec: + containers: + - name: nextcloud + image: nextcloud + volumeMounts: + - name: server-storage + mountPath: /var/www/html + subPath: server-data + ports: + - containerPort: 80 + name: nextcloud + volumes: + - name: server-storage + persistentVolumeClaim: + claimName: dbnc-pv-claim + diff --git a/ownCloud/oc-namespace.yaml b/ownCloud/oc-namespace.yaml new file mode 100644 index 00000000..0405f178 --- /dev/null +++ b/ownCloud/oc-namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: owncloud diff --git a/ownCloud/owncloud-deployment.yaml b/ownCloud/owncloud-deployment.yaml new file mode 100644 index 00000000..3d806deb --- /dev/null +++ b/ownCloud/owncloud-deployment.yaml @@ -0,0 +1,44 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + annotations: + kompose.cmd: /snap/kompose/19/kompose-linux-amd64 convert + kompose.version: 1.21.0 (992df58d8) + creationTimestamp: null + labels: + io.kompose.service: owncloud + name: owncloud + namespace: owncloud +spec: + replicas: 1 + selector: + matchLabels: + io.kompose.service: owncloud + strategy: {} + template: + metadata: + annotations: + kompose.cmd: /snap/kompose/19/kompose-linux-amd64 convert + kompose.version: 1.21.0 (992df58d8) + creationTimestamp: null + labels: + io.kompose.service: owncloud + spec: + containers: + - image: owncloud:latest + imagePullPolicy: "" + name: owncloud + volumeMounts: + - name: server-storage + mountPath: /var/www/html/data + ports: + - containerPort: 80 + resources: {} + restartPolicy: Always + serviceAccountName: "" + volumes: + - name: server-storage + persistentVolumeClaim: + claimName: dboc-pv-claim + +status: {} diff --git a/ownCloud/owncloud-service.yaml b/ownCloud/owncloud-service.yaml new file mode 100644 index 00000000..234ec9d0 --- /dev/null +++ b/ownCloud/owncloud-service.yaml @@ -0,0 +1,22 @@ +apiVersion: v1 +kind: Service +metadata: + annotations: + kompose.cmd: /snap/kompose/19/kompose-linux-amd64 convert + kompose.version: 1.21.0 (992df58d8) + creationTimestamp: null + labels: + io.kompose.service: owncloud + name: owncloud + namespace: owncloud +spec: + type: NodePort + ports: + - name: "8080" + port: 8080 + nodePort: 30289 + targetPort: 80 + selector: + io.kompose.service: owncloud +status: + loadBalancer: {} diff --git a/ownCloud/paraTodo.sh b/ownCloud/paraTodo.sh new file mode 100755 index 00000000..a0c0130a --- /dev/null +++ b/ownCloud/paraTodo.sh @@ -0,0 +1,5 @@ +kubectl delete -f owncloud-deployment.yaml +kubectl delete -f owncloud-service.yaml +kubectl delete -f pvc-owncloud.yaml +kubectl delete -f pv-local-owncloud.yaml +kubectl delete -f oc-namespace.yaml diff --git a/ownCloud/php-deployment.yaml b/ownCloud/php-deployment.yaml new file mode 100644 index 00000000..01f0a4f3 --- /dev/null +++ b/ownCloud/php-deployment.yaml @@ -0,0 +1,54 @@ +apiVersion: v1 +kind: Service +metadata: + name: phpmyadmin-nextcloud + namespace: nextcloud + labels: + app: nextcloud +spec: + selector: + app: nextcloud + tier: phpmyadmin + type: NodePort + ports: + - name: phpadmin + port: 80 + nodePort: 30480 + targetPort: phpmyadm +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: phpmyadmin-nextcloud + namespace: nextcloud + labels: + app: nextcloud +spec: + selector: + matchLabels: + app: nextcloud + tier: phpmyadmin + strategy: + type: Recreate + template: + metadata: + labels: + app: nextcloud + tier: phpmyadmin + spec: + containers: + - name: phpmyadmin + image: phpmyadmin + ports: + - containerPort: 80 + name: phpmyadm + env: + - name: PMA_HOST + value: nextcloud-mysql + - name: PMA_PORT + value: "3306" + - name: MYSQL_ROOT_PASSWORD + valueFrom: + secretKeyRef: + name: mysqlnc-pass + key: password diff --git a/ownCloud/pv-local-mysql.yaml b/ownCloud/pv-local-mysql.yaml new file mode 100644 index 00000000..7fcb16c3 --- /dev/null +++ b/ownCloud/pv-local-mysql.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + name: nc-data +spec: + capacity: + storage: 20Gi + accessModes: + - ReadWriteOnce + hostPath: + path: "/mnt/cluster/nextcloud/nextcloud-db" diff --git a/ownCloud/pv-local-owncloud.yaml b/ownCloud/pv-local-owncloud.yaml new file mode 100644 index 00000000..4514fca2 --- /dev/null +++ b/ownCloud/pv-local-owncloud.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + name: owncloud +spec: + capacity: + storage: 50Gi + accessModes: + - ReadWriteOnce + hostPath: + path: "/mnt/cluster/owncloud" diff --git a/ownCloud/pvc-owncloud.yaml b/ownCloud/pvc-owncloud.yaml new file mode 100644 index 00000000..28a33fc8 --- /dev/null +++ b/ownCloud/pvc-owncloud.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: dboc-pv-claim + namespace: owncloud + labels: + app: owncloud +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 50Gi From d2d5f861f5e309cf903e83d13bb3c4de89ab4d8e Mon Sep 17 00:00:00 2001 From: Celestino Rey Date: Thu, 24 Nov 2022 15:24:46 +0100 Subject: [PATCH 3/4] Algunos avances. No funciona la persistencia ni la bd --- ownCloud/collabora-deployment.yaml | 43 ------------------------------ ownCloud/creaTodo.sh | 15 ++++++++--- ownCloud/kustomization.yaml | 9 +++---- ownCloud/mysql-deployment.yaml | 28 +++++++++---------- ownCloud/paraTodo.sh | 5 ++-- ownCloud/php-deployment.yaml | 22 +++++++-------- ownCloud/pv-local-mysql.yaml | 4 +-- ownCloud/pvc-owncloud.yaml | 2 +- 8 files changed, 46 insertions(+), 82 deletions(-) delete mode 100755 ownCloud/collabora-deployment.yaml diff --git a/ownCloud/collabora-deployment.yaml b/ownCloud/collabora-deployment.yaml deleted file mode 100755 index ce14c4ce..00000000 --- a/ownCloud/collabora-deployment.yaml +++ /dev/null @@ -1,43 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: code-server - namespace: nextcloud - labels: - app: code -spec: - selector: - pod-label: code-server-pod - type: NodePort - ports: - - port: 9980 - nodePort: 30389 - targetPort: code ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: code-server - namespace: nextcloud - labels: - app: code -spec: - replicas: 1 - selector: - matchLabels: - pod-label: code-server-pod - template: - metadata: - labels: - pod-label: code-server-pod - spec: - containers: - - name: code - image: collabora/code:6.4.10.10 - env: - - name: extra_params - value: --o:ssl.enable=false - ports: - - containerPort: 9980 - name: code - diff --git a/ownCloud/creaTodo.sh b/ownCloud/creaTodo.sh index 5248a688..be09a427 100755 --- a/ownCloud/creaTodo.sh +++ b/ownCloud/creaTodo.sh @@ -1,6 +1,15 @@ +# +# crea el namespace +# kubectl create -f oc-namespace.yaml +# +# crea los voluenes persistentes +# kubectl create -f pv-local-owncloud.yaml -kubectl create -f pvc-owncloud.yaml -kubectl create -f owncloud-service.yaml -kubectl create -f owncloud-deployment.yaml +kubectl create -f pv-local-mysql.yaml + +kubectl create -k ./ +# +# observa hasta que arranque todo +# watch kubectl get all -n owncloud diff --git a/ownCloud/kustomization.yaml b/ownCloud/kustomization.yaml index 8691867c..22b28be6 100644 --- a/ownCloud/kustomization.yaml +++ b/ownCloud/kustomization.yaml @@ -1,13 +1,12 @@ secretGenerator: -- name: mysqlnc-pass - namespace: nextcloud +- name: mysqloc-pass + namespace: owncloud literals: - password=Dsa-0213 - db_user=root - db_passwd=Dsa-0213 resources: -- nc-namespace.yaml -- pvc-nextcloud.yaml +- pvc-owncloud.yaml - mysql-deployment.yaml - php-deployment.yaml -- nextcloud-deployment.yaml +- owncloud-deployment.yaml diff --git a/ownCloud/mysql-deployment.yaml b/ownCloud/mysql-deployment.yaml index 503ae41a..8a1b9fb1 100755 --- a/ownCloud/mysql-deployment.yaml +++ b/ownCloud/mysql-deployment.yaml @@ -1,25 +1,25 @@ apiVersion: v1 kind: Service metadata: - name: nextcloud-mysql - namespace: nextcloud + name: owncloud-mysql + namespace: owncloud labels: - app: nextcloud + app: owncloud spec: ports: - port: 3306 selector: - app: nextcloud + app: owncloud tier: mysql clusterIP: None --- apiVersion: v1 kind: PersistentVolumeClaim metadata: - name: mysql-nc-pv-claim - namespace: nextcloud + name: mysql-oc-pv-claim + namespace: owncloud labels: - app: nextcloud + app: owncloud spec: accessModes: - ReadWriteOnce @@ -30,21 +30,21 @@ spec: apiVersion: apps/v1 kind: Deployment metadata: - name: nextcloud-mysql - namespace: nextcloud + name: owncloud-mysql + namespace: owncloud labels: - app: nextcloud + app: owncloud spec: selector: matchLabels: - app: nextcloud + app: owncloud tier: mysql strategy: type: Recreate template: metadata: labels: - app: nextcloud + app: owncloud tier: mysql spec: containers: @@ -54,7 +54,7 @@ spec: - name: MYSQL_ROOT_PASSWORD valueFrom: secretKeyRef: - name: mysqlnc-pass + name: mysqloc-pass key: password ports: - containerPort: 3306 @@ -65,4 +65,4 @@ spec: volumes: - name: mysql-persistent-storage persistentVolumeClaim: - claimName: mysql-nc-pv-claim + claimName: mysql-oc-pv-claim diff --git a/ownCloud/paraTodo.sh b/ownCloud/paraTodo.sh index a0c0130a..d4ce68e6 100755 --- a/ownCloud/paraTodo.sh +++ b/ownCloud/paraTodo.sh @@ -1,5 +1,4 @@ -kubectl delete -f owncloud-deployment.yaml -kubectl delete -f owncloud-service.yaml +kubectl delete -k ./ kubectl delete -f pvc-owncloud.yaml kubectl delete -f pv-local-owncloud.yaml -kubectl delete -f oc-namespace.yaml +kubectl delete -f pv-local-mysql.yaml diff --git a/ownCloud/php-deployment.yaml b/ownCloud/php-deployment.yaml index 01f0a4f3..d56c1511 100644 --- a/ownCloud/php-deployment.yaml +++ b/ownCloud/php-deployment.yaml @@ -1,13 +1,13 @@ apiVersion: v1 kind: Service metadata: - name: phpmyadmin-nextcloud - namespace: nextcloud + name: phpmyadmin-owncloud + namespace: owncloud labels: - app: nextcloud + app: owncloud spec: selector: - app: nextcloud + app: owncloud tier: phpmyadmin type: NodePort ports: @@ -19,21 +19,21 @@ spec: apiVersion: apps/v1 kind: Deployment metadata: - name: phpmyadmin-nextcloud - namespace: nextcloud + name: phpmyadmin-owncloud + namespace: owncloud labels: - app: nextcloud + app: owncloud spec: selector: matchLabels: - app: nextcloud + app: owncloud tier: phpmyadmin strategy: type: Recreate template: metadata: labels: - app: nextcloud + app: owncloud tier: phpmyadmin spec: containers: @@ -44,11 +44,11 @@ spec: name: phpmyadm env: - name: PMA_HOST - value: nextcloud-mysql + value: owncloud-mysql - name: PMA_PORT value: "3306" - name: MYSQL_ROOT_PASSWORD valueFrom: secretKeyRef: - name: mysqlnc-pass + name: mysqloc-pass key: password diff --git a/ownCloud/pv-local-mysql.yaml b/ownCloud/pv-local-mysql.yaml index 7fcb16c3..36fd3e78 100644 --- a/ownCloud/pv-local-mysql.yaml +++ b/ownCloud/pv-local-mysql.yaml @@ -1,11 +1,11 @@ apiVersion: v1 kind: PersistentVolume metadata: - name: nc-data + name: oc-data spec: capacity: storage: 20Gi accessModes: - ReadWriteOnce hostPath: - path: "/mnt/cluster/nextcloud/nextcloud-db" + path: "/mnt/cluster/owncloud/owncloud-db" diff --git a/ownCloud/pvc-owncloud.yaml b/ownCloud/pvc-owncloud.yaml index 28a33fc8..e3f5e947 100644 --- a/ownCloud/pvc-owncloud.yaml +++ b/ownCloud/pvc-owncloud.yaml @@ -2,7 +2,7 @@ apiVersion: v1 kind: PersistentVolumeClaim metadata: name: dboc-pv-claim - namespace: owncloud + # namespace: owncloud labels: app: owncloud spec: From bc05163a85138d08193f246bfc610429835cf858 Mon Sep 17 00:00:00 2001 From: Celestino Rey Date: Thu, 1 Dec 2022 16:39:06 +0100 Subject: [PATCH 4/4] =?UTF-8?q?A=C3=B1ado=20PGO=20para=20ver=20si=20hago?= =?UTF-8?q?=20funcionar=20postgres?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PGO/creaTodo.sh | 6 ++++ PGO/entra.sh | 1 + PGO/paraTodo.sh | 10 +++++++ PGO/pgadmin-configmap.yaml | 20 +++++++++++++ PGO/pgadmin-secret.yaml | 8 ++++++ PGO/pgadmin-service.yaml | 13 +++++++++ PGO/pgadmin-statefulset.yaml | 55 ++++++++++++++++++++++++++++++++++++ PGO/postgres-configmap.yaml | 13 +++++++++ PGO/postgres-deployment.yaml | 31 ++++++++++++++++++++ PGO/postgres-service.yaml | 13 +++++++++ PGO/pv-local-pg.yaml | 11 ++++++++ PGO/pv-local-pgadmin.yaml | 11 ++++++++ PGO/pvc-pg.yaml | 14 +++++++++ 13 files changed, 206 insertions(+) create mode 100755 PGO/creaTodo.sh create mode 100755 PGO/entra.sh create mode 100755 PGO/paraTodo.sh create mode 100644 PGO/pgadmin-configmap.yaml create mode 100644 PGO/pgadmin-secret.yaml create mode 100644 PGO/pgadmin-service.yaml create mode 100644 PGO/pgadmin-statefulset.yaml create mode 100644 PGO/postgres-configmap.yaml create mode 100644 PGO/postgres-deployment.yaml create mode 100644 PGO/postgres-service.yaml create mode 100644 PGO/pv-local-pg.yaml create mode 100644 PGO/pv-local-pgadmin.yaml create mode 100644 PGO/pvc-pg.yaml diff --git a/PGO/creaTodo.sh b/PGO/creaTodo.sh new file mode 100755 index 00000000..09fc3198 --- /dev/null +++ b/PGO/creaTodo.sh @@ -0,0 +1,6 @@ +kubectl create -f pv-local-pg.yaml +kubectl create -f pvc-pg.yaml +kubectl create -f postgres-configmap.yaml +kubectl create -f postgres-deployment.yaml +kubectl create -f postgres-service.yaml +watch kubectl get all -n postgres diff --git a/PGO/entra.sh b/PGO/entra.sh new file mode 100755 index 00000000..87f15102 --- /dev/null +++ b/PGO/entra.sh @@ -0,0 +1 @@ +kubectl exec -ti deployment.apps/postgres -n postgres -- /bin/bash diff --git a/PGO/paraTodo.sh b/PGO/paraTodo.sh new file mode 100755 index 00000000..0a0d9a28 --- /dev/null +++ b/PGO/paraTodo.sh @@ -0,0 +1,10 @@ +kubectl delete -f postgres-service.yaml +kubectl delete -f postgres-deployment.yaml +kubectl delete -f postgres-configmap.yaml +kubectl delete -f pvc-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 diff --git a/PGO/pgadmin-configmap.yaml b/PGO/pgadmin-configmap.yaml new file mode 100644 index 00000000..83eeba6d --- /dev/null +++ b/PGO/pgadmin-configmap.yaml @@ -0,0 +1,20 @@ +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" + } + } + } diff --git a/PGO/pgadmin-secret.yaml b/PGO/pgadmin-secret.yaml new file mode 100644 index 00000000..96a37dba --- /dev/null +++ b/PGO/pgadmin-secret.yaml @@ -0,0 +1,8 @@ +apiVersion: v1 +kind: Secret +type: Opaque +metadata: + name: pgadmin + namespace: postgres +data: + pgadmin-password: UmV5LTExNzYK diff --git a/PGO/pgadmin-service.yaml b/PGO/pgadmin-service.yaml new file mode 100644 index 00000000..4da00433 --- /dev/null +++ b/PGO/pgadmin-service.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: Service +metadata: + name: pgadmin-service + namespace: postgres +spec: + ports: + - protocol: TCP + port: 80 + targetPort: http + selector: + app: pgadmin + type: NodePort diff --git a/PGO/pgadmin-statefulset.yaml b/PGO/pgadmin-statefulset.yaml new file mode 100644 index 00000000..78ba5dd4 --- /dev/null +++ b/PGO/pgadmin-statefulset.yaml @@ -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 diff --git a/PGO/postgres-configmap.yaml b/PGO/postgres-configmap.yaml new file mode 100644 index 00000000..2f3b1d13 --- /dev/null +++ b/PGO/postgres-configmap.yaml @@ -0,0 +1,13 @@ +# Create ConfigMap postgres-secret for the postgres app +# Define default database name, user, and password +apiVersion: v1 +kind: ConfigMap +metadata: + name: postgres-secret + namespace: postgres + labels: + app: postgres +data: + POSTGRES_DB: productos + POSTGRES_USER: creylopez + POSTGRES_PASSWORD: Rey-1176 diff --git a/PGO/postgres-deployment.yaml b/PGO/postgres-deployment.yaml new file mode 100644 index 00000000..2b597f9e --- /dev/null +++ b/PGO/postgres-deployment.yaml @@ -0,0 +1,31 @@ +apiVersion: apps/v1 +kind: Deployment # Create a deployment +metadata: + name: postgres # Set the name of the deployment + namespace: postgres +spec: + replicas: 1 # Set 3 deployment replicas + selector: + matchLabels: + app: postgres + template: + metadata: + labels: + app: postgres + spec: + containers: + - name: postgres + image: postgres:12.10 # Docker image + imagePullPolicy: "IfNotPresent" + ports: + - containerPort: 5432 # Exposing the container port 5432 for PostgreSQL client connections. + envFrom: + - configMapRef: + name: postgres-secret # Using the ConfigMap postgres-secret + volumeMounts: + - mountPath: /var/lib/postgresql/data + name: postgresdata + volumes: + - name: postgresdata + persistentVolumeClaim: + claimName: pg-pv-claim diff --git a/PGO/postgres-service.yaml b/PGO/postgres-service.yaml new file mode 100644 index 00000000..baee280e --- /dev/null +++ b/PGO/postgres-service.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: Service # Create service +metadata: + name: postgres # Sets the service name + namespace: postgres + labels: + app: postgres # Defines app to create service for +spec: + type: NodePort # Sets the service type + ports: + - port: 5432 # Sets the port to run the postgres application + selector: + app: postgres diff --git a/PGO/pv-local-pg.yaml b/PGO/pv-local-pg.yaml new file mode 100644 index 00000000..9009b42d --- /dev/null +++ b/PGO/pv-local-pg.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + name: pg-data +spec: + capacity: + storage: 20Gi + accessModes: + - ReadWriteOnce + hostPath: + path: "/mnt/cluster/postgres/postgres-db" diff --git a/PGO/pv-local-pgadmin.yaml b/PGO/pv-local-pgadmin.yaml new file mode 100644 index 00000000..f24d0fba --- /dev/null +++ b/PGO/pv-local-pgadmin.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + name: pgadmin-data +spec: + capacity: + storage: 3Gi + accessModes: + - ReadWriteOnce + hostPath: + path: "/mnt/cluster/postgres/pgadmin" diff --git a/PGO/pvc-pg.yaml b/PGO/pvc-pg.yaml new file mode 100644 index 00000000..ef9710f5 --- /dev/null +++ b/PGO/pvc-pg.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: pg-pv-claim + namespace: postgres + labels: + app: postgres +spec: + accessModes: + - ReadWriteOnce + storageClassName: "" + resources: + requests: + storage: 10Gi