This is a System Administration and Networking project with Kubernetes.
The project consists of setting up an infrastructure of different services(Grafana, WordPress, PhpMyadmin and so on).
1. Install Docker Desktop.
https://www.docker.com/get-started
2. Enable single-node cluster on your local system.
docker > preferences > Kubernetes > Enable Kubernetes > Apply & Restart
reference : https://docs.docker.com/docker-for-mac/#kubernetes
3. Clone this repository.
git clone https://github.com/kohyounghwan/ft_services.git
cd ft_services
4. Select which ethernet you are going to use.
# Search with 'ifconfig'
# default 'en0', if you want to change en1, type below
sed -i "" "s/en0/en1/g" setup.sh
5. Execute setup.sh
./setup.sh
Test with safari(private browsing).
- http://IP(:80) 301 redirection to https://IP
- https://IP/wordpress
- https://IP/phpmyadmin
Test with curl or filezilla.
- TLS
- upload
- download
Test with safari(private browsing).
- Write comments.
- Check
wp_comments
table with PhpMyAdmin. - Delete MySQL pod and check comments are still exist.
Test with safari(private browsing).
- Check Grafana is monitoring all containers with dashboard.
- Delete influxDB pod and check data is still exist.
Test with terminal.
-
kubectl exec deploy/ftps -- pkill vsftpd
-
kubectl exec deploy/grafana -- pkill grafana
-
kubectl exec deploy/influxdb -- pkill influxd
-
kubectl exec deploy/mysql -- pkill mysqld
-
kubectl exec deploy/nginx -- pkill nginx
-
kubectl exec deploy/phpmyadmin -- pkill nginx
-
kubectl exec deploy/phpmyadmin -- pkill php-fpm
-
kubectl exec deploy/wordpress -- pkill nginx
-
kubectl exec deploy/wordpress -- pkill php-fpm