Hugo (Linux) installation steps: https://gohugo.io/getting-started/installing#debian-and-ubuntu
Command to generate static site (inside quickstart folder): hugo
Microk8s instructions: https://microk8s.io/
Nginx Ingress Controller instructions: https://kubernetes.github.io/ingress-nginx/deploy/#microk8s
- Setup a new EC2 instance
- Clone the repo in the instance
- Install hugo as per instructions and run the build command (
hugo server -D --bind 0.0.0.0
) insidequickstart
folder to test the website.
- Run
hugo
insidequickstart
folder to generate the static site in thepublic
folder. - Host the generated files on s3 as a publicly accessible website.
- Write an nginx configuration that will host the site
- Write a dockerfile to dockerize the site hosting
- Build docker image and push to dockerhub
- Create new EC2 instance and run docker container (without k8s) there directly and demonstrate by accessing from public ip
- Write k8s yaml file for deployment, service and ingress (assuming nginx ingress)
- Create new EC2 instance and install microk8s on it.
- Create another EC2 instance and it as a node of the microk8s cluster.
- Install nginx ingress on k8s cluster (via helm-chart)
- Apply k8s config to cluster
- Scale up pods of nginx deployment