| @ -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" | |||