| @ -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 $ | |||||
| @ -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 | |||||
| @ -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 | |||||
| @ -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 | |||||
| @ -0,0 +1 @@ | |||||
| kubectl exec -ti deployment.apps/owncloud -n owncloud -- /bin/bash | |||||
| @ -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 | |||||
| @ -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 | |||||
| @ -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 | |||||
| @ -0,0 +1,4 @@ | |||||
| apiVersion: v1 | |||||
| kind: Namespace | |||||
| metadata: | |||||
| name: owncloud | |||||
| @ -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: {} | |||||
| @ -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: {} | |||||
| @ -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 | |||||
| @ -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 | |||||
| @ -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" | |||||
| @ -0,0 +1,11 @@ | |||||
| apiVersion: v1 | |||||
| kind: PersistentVolume | |||||
| metadata: | |||||
| name: owncloud | |||||
| spec: | |||||
| capacity: | |||||
| storage: 50Gi | |||||
| accessModes: | |||||
| - ReadWriteOnce | |||||
| hostPath: | |||||
| path: "/mnt/cluster/owncloud" | |||||
| @ -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 | |||||