From b1b303e0cb3f5e0943736d0807debf76c4242693 Mon Sep 17 00:00:00 2001 From: Charles Cabergs Date: Sat, 17 Oct 2020 14:44:14 +0200 Subject: Added mysql volume (not working), Added grafana and influxdb Dockerfile --- metallb-config.yaml | 2 +- setup.sh | 30 ++++++++++----- srcs/grafana/Dockerfile | 10 +++++ srcs/influxdb/Dockerfile | 7 ++++ srcs/mysql/mysql.yaml | 60 +++++++++++++++++++++++++++++ srcs/wordpress/Dockerfile | 2 + srcs/wordpress/wp-config.php | 90 ++++++++++++++++++++++++++++++++++++++++++++ 7 files changed, 191 insertions(+), 10 deletions(-) create mode 100644 srcs/grafana/Dockerfile create mode 100644 srcs/influxdb/Dockerfile create mode 100644 srcs/mysql/mysql.yaml create mode 100644 srcs/wordpress/wp-config.php diff --git a/metallb-config.yaml b/metallb-config.yaml index f9144d3..a9f5928 100644 --- a/metallb-config.yaml +++ b/metallb-config.yaml @@ -9,4 +9,4 @@ data: - name: default protocol: layer2 addresses: - - 192.168.99.240-192.168.99.250 + - 192.168.99.230-192.168.99.250 diff --git a/setup.sh b/setup.sh index 4d2a5d7..6debdfc 100755 --- a/setup.sh +++ b/setup.sh @@ -1,22 +1,34 @@ #!/bin/sh -names=' -ftps -' +# names=' +# ftps +# ' # nginx # wordpress # phpmyadmin + echo 'Building docker images' -echo "$names" | xargs -Iname docker build -t cacharle-name srcs/name +docker build -t cacharle-ftps srcs/ftps +docker build -t cacharle-nginx srcs/nginx +docker build -t cacharle-wordpress srcs/wordpress +docker build -t cacharle-phpmyadmin srcs/phpmyadmin +docker build -t cacharle-mysql srcs/mysql -minikube start +# minikube start +# +# eval $(minikube docker-env) -eval $(minikube docker-env) -echo 'Creating cluster' -echo "$names" | xargs -Iname kubectl apply -f srcs/name/name.yaml +kubectl apply -f srcs/ftps/ftps.yaml +kubectl apply -f srcs/nginx/nginx.yaml +kubectl apply -f srcs/wordpress/wordpress.yaml +kubectl apply -f srcs/phpmyadmin/phpmyadmin.yaml +kubectl apply -f srcs/mysql/mysql.yaml +# echo 'Creating cluster' +# echo "$names" | xargs -Iname kubectl apply -f srcs/name/name.yaml -minikube dashboard +# +# minikube dashboard diff --git a/srcs/grafana/Dockerfile b/srcs/grafana/Dockerfile new file mode 100644 index 0000000..2204a80 --- /dev/null +++ b/srcs/grafana/Dockerfile @@ -0,0 +1,10 @@ +FROM alpine + +RUN apk update && \ + apk upgrade && \ + apk add curl && \ + curl https://dl.grafana.com/oss/release/grafana-7.2.1.linux-amd64.tar.gz > grafana.tar.gz && \ + tar xvf grafana.tar.gz && \ + mv grafana-7.2.1 grafana + +CMD ["./grafana/bin/grafana-server"] diff --git a/srcs/influxdb/Dockerfile b/srcs/influxdb/Dockerfile new file mode 100644 index 0000000..6f6defc --- /dev/null +++ b/srcs/influxdb/Dockerfile @@ -0,0 +1,7 @@ +FROM alpine + +RUN apk update && \ + apk upgrade && \ + apk add influxdb + +CMD ["influxd", "run"] diff --git a/srcs/mysql/mysql.yaml b/srcs/mysql/mysql.yaml new file mode 100644 index 0000000..e97ef71 --- /dev/null +++ b/srcs/mysql/mysql.yaml @@ -0,0 +1,60 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: mysql-deployment + labels: + app: mysql +spec: + selector: + matchLabels: + app: mysql + replicas: 1 + strategy: + rollingUpdate: + maxSurge: 1 + template: + metadata: + labels: + app: mysql + spec: + containers: + - image: cacharle-mysql + imagePullPolicy: Never + name: cacharle-mysql-container + volumeMounts: + - name: mysql-volume + mountPath: /var/lib/data + volumes: + - name: mysql-volume + persistentVolumeClaim: + claimName: mysql-volume + +--- + +apiVersion: v1 +kind: Service +metadata: + name: mysql-service +spec: + type: LoadBalancer + ports: + - name: mysql + port: 3306 + targetPort: 3306 + selector: + app: mysql + +--- + +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: mysql-volume + labels: + app: mysql +spec: + accessModes: + - ReadWriteOnce # read/write by one pod + resources: + requests: + storage: 1Gi diff --git a/srcs/wordpress/Dockerfile b/srcs/wordpress/Dockerfile index 0b21c62..b994810 100644 --- a/srcs/wordpress/Dockerfile +++ b/srcs/wordpress/Dockerfile @@ -9,6 +9,8 @@ RUN curl 'https://wordpress.org/wordpress-5.5.1.tar.gz' > wordpress.tar.gz && \ tar xf wordpress.tar.gz && \ mv wordpress /var/www +COPY wp-config.php /var/www/wp-config.php + EXPOSE 5050 CMD ["php", "-S", "0.0.0.0:5050", "-t", "/var/www"] diff --git a/srcs/wordpress/wp-config.php b/srcs/wordpress/wp-config.php new file mode 100644 index 0000000..4906ee1 --- /dev/null +++ b/srcs/wordpress/wp-config.php @@ -0,0 +1,90 @@ +