| @ -0,0 +1,7 @@ | |||||
| FROM debian | |||||
| RUN apt-get update && apt-get install -y apache2 libapache2-mod-php7.4 php7.4 && apt-get clean && rm -rf /var/lib/apt/lists/* | |||||
| #ADD app /var/www/html/ | |||||
| #RUN rm /var/www/html/index.html | |||||
| EXPOSE 80 | |||||
| CMD ["/usr/sbin/apache2ctl", "-D", "FOREGROUND"] | |||||
| @ -0,0 +1,4 @@ | |||||
| kubectl create -f pv-local-mysql-mw.yaml | |||||
| kubectl create -f pv-local-mediawiki.yaml | |||||
| kubectl create -k ./ | |||||
| watch kubectl get all -n mediawiki | |||||
| @ -0,0 +1 @@ | |||||
| kubectl exec -ti deployment.apps/tikiwiki -n tikiwiki -- /bin/bash | |||||
| @ -0,0 +1,12 @@ | |||||
| secretGenerator: | |||||
| - name: mysqlmw-pass | |||||
| namespace: mediawiki | |||||
| literals: | |||||
| - password=Dsa-0213 | |||||
| - db_user=root | |||||
| - db_passwd=Dsa-0213 | |||||
| resources: | |||||
| - mw-namespace.yaml | |||||
| - mysql-deployment-mw.yaml | |||||
| - mediawiki-deployment.yaml | |||||
| - php-myadmin-mw-deployment.yaml | |||||
| @ -0,0 +1,82 @@ | |||||
| apiVersion: v1 | |||||
| kind: Service | |||||
| metadata: | |||||
| name: mediawiki | |||||
| namespace: mediawiki | |||||
| labels: | |||||
| app: mediawiki | |||||
| spec: | |||||
| type: NodePort | |||||
| ports: | |||||
| - port: 80 | |||||
| nodePort: 30098 | |||||
| targetPort: mediawiki | |||||
| selector: | |||||
| app: mediawiki | |||||
| tier: frontend | |||||
| --- | |||||
| apiVersion: v1 | |||||
| kind: PersistentVolumeClaim | |||||
| metadata: | |||||
| name: mw-pv-claim | |||||
| namespace: mediawiki | |||||
| labels: | |||||
| app: mediawiki | |||||
| spec: | |||||
| accessModes: | |||||
| - ReadWriteOnce | |||||
| storageClassName: "" | |||||
| resources: | |||||
| requests: | |||||
| storage: 10Gi | |||||
| --- | |||||
| apiVersion: apps/v1 | |||||
| kind: Deployment | |||||
| metadata: | |||||
| name: mediawiki | |||||
| namespace: mediawiki | |||||
| labels: | |||||
| app: mediawiki | |||||
| spec: | |||||
| selector: | |||||
| matchLabels: | |||||
| app: mediawiki | |||||
| tier: frontend | |||||
| strategy: | |||||
| type: Recreate | |||||
| template: | |||||
| metadata: | |||||
| labels: | |||||
| app: mediawiki | |||||
| tier: frontend | |||||
| spec: | |||||
| containers: | |||||
| - image: mediawiki | |||||
| name: mediawiki | |||||
| env: | |||||
| - name: DB_TYPE | |||||
| value: mysql | |||||
| - name: DB_NAME | |||||
| value: mediawiki | |||||
| - name: DB_HOST | |||||
| value: mediawiki-mysql | |||||
| - name: DB_PASS | |||||
| valueFrom: | |||||
| secretKeyRef: | |||||
| name: mysqlmw-pass | |||||
| key: password | |||||
| - name: DB_USER | |||||
| valueFrom: | |||||
| secretKeyRef: | |||||
| name: mysqlmw-pass | |||||
| key: db_user | |||||
| ports: | |||||
| - containerPort: 80 | |||||
| name: mediawiki | |||||
| volumeMounts: | |||||
| - name: mediawiki-persistent-storage | |||||
| mountPath: /var/www/html | |||||
| volumes: | |||||
| - name: mediawiki-persistent-storage | |||||
| persistentVolumeClaim: | |||||
| claimName: mw-pv-claim | |||||
| @ -0,0 +1,4 @@ | |||||
| apiVersion: v1 | |||||
| kind: Namespace | |||||
| metadata: | |||||
| name: mediawiki | |||||
| @ -0,0 +1,68 @@ | |||||
| apiVersion: v1 | |||||
| kind: Service | |||||
| metadata: | |||||
| name: mediawiki-mysql | |||||
| namespace: mediawiki | |||||
| labels: | |||||
| app: mediawiki | |||||
| spec: | |||||
| ports: | |||||
| - port: 3306 | |||||
| selector: | |||||
| app: mediawiki | |||||
| tier: mysql | |||||
| clusterIP: None | |||||
| --- | |||||
| apiVersion: v1 | |||||
| kind: PersistentVolumeClaim | |||||
| metadata: | |||||
| name: mysql-mw-pv-claim | |||||
| namespace: mediawiki | |||||
| labels: | |||||
| app: mediawiki | |||||
| spec: | |||||
| accessModes: | |||||
| - ReadWriteOnce | |||||
| resources: | |||||
| requests: | |||||
| storage: 20Gi | |||||
| --- | |||||
| apiVersion: apps/v1 | |||||
| kind: Deployment | |||||
| metadata: | |||||
| name: mediawiki-mysql | |||||
| namespace: mediawiki | |||||
| labels: | |||||
| app: mediawiki | |||||
| spec: | |||||
| selector: | |||||
| matchLabels: | |||||
| app: mediawiki | |||||
| tier: mysql | |||||
| strategy: | |||||
| type: Recreate | |||||
| template: | |||||
| metadata: | |||||
| labels: | |||||
| app: mediawiki | |||||
| tier: mysql | |||||
| spec: | |||||
| containers: | |||||
| - image: mariadb | |||||
| name: mysql | |||||
| env: | |||||
| - name: MYSQL_ROOT_PASSWORD | |||||
| valueFrom: | |||||
| secretKeyRef: | |||||
| name: mysqlmw-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-mw-pv-claim | |||||
| @ -0,0 +1,3 @@ | |||||
| kubectl delete -k ./ | |||||
| kubectl delete -f pv-local-mysql-mw.yaml | |||||
| kubectl delete -f pv-local-mediawiki.yaml | |||||
| @ -0,0 +1,54 @@ | |||||
| apiVersion: v1 | |||||
| kind: Service | |||||
| metadata: | |||||
| name: phpmyadmin-mediawiki | |||||
| namespace: mediawiki | |||||
| labels: | |||||
| app: mediawiki | |||||
| spec: | |||||
| selector: | |||||
| app: mediawiki | |||||
| tier: phpmyadmin | |||||
| type: NodePort | |||||
| ports: | |||||
| - name: phpadmin | |||||
| port: 80 | |||||
| nodePort: 30380 | |||||
| targetPort: phpmyadm | |||||
| --- | |||||
| apiVersion: apps/v1 | |||||
| kind: Deployment | |||||
| metadata: | |||||
| name: phpmyadmin-mediawiki | |||||
| namespace: mediawiki | |||||
| labels: | |||||
| app: mediawiki | |||||
| spec: | |||||
| selector: | |||||
| matchLabels: | |||||
| app: mediawiki | |||||
| tier: phpmyadmin | |||||
| strategy: | |||||
| type: Recreate | |||||
| template: | |||||
| metadata: | |||||
| labels: | |||||
| app: mediawiki | |||||
| tier: phpmyadmin | |||||
| spec: | |||||
| containers: | |||||
| - name: phpmyadmin | |||||
| image: phpmyadmin | |||||
| ports: | |||||
| - containerPort: 80 | |||||
| name: phpmyadm | |||||
| env: | |||||
| - name: PMA_HOST | |||||
| value: mediawiki-mysql | |||||
| - name: PMA_PORT | |||||
| value: "3306" | |||||
| - name: MYSQL_ROOT_PASSWORD | |||||
| valueFrom: | |||||
| secretKeyRef: | |||||
| name: mysqlmw-pass | |||||
| key: password | |||||
| @ -0,0 +1,12 @@ | |||||
| apiVersion: v1 | |||||
| kind: PersistentVolume | |||||
| metadata: | |||||
| name: mw-folder | |||||
| spec: | |||||
| capacity: | |||||
| storage: 10Gi | |||||
| accessModes: | |||||
| - ReadWriteOnce | |||||
| hostPath: | |||||
| path: "/mnt/cluster/mediawiki/mediawiki" | |||||
| @ -0,0 +1,11 @@ | |||||
| apiVersion: v1 | |||||
| kind: PersistentVolume | |||||
| metadata: | |||||
| name: mw-data | |||||
| spec: | |||||
| capacity: | |||||
| storage: 20Gi | |||||
| accessModes: | |||||
| - ReadWriteOnce | |||||
| hostPath: | |||||
| path: "/mnt/cluster/mediawiki/mediawiki-db" | |||||