- Caching by Cloudflare
- Kubernetes on DigitalOcean
- Caching by Nginx
- Golang backend
A few tools are needed:
- Terraform
doctlkubectlhelm
A DigitalOcean Access Token is needed, add this to your env at DIGITALOCEAN_ACCESS_TOKEN so the Terraform provider picks it up
Optionally set the region in the .tfvars file. On first run, init Terraform with make terraform-init.
Further run cluster creation/updates with make terraform-apply.
The monitoring node (outside of Kubernetes) is managed by Ansible.
Deploy with make ansible-deploy and verify configuration is correct with make ansible-check
While terraform has the kubeconfig, it's easiest to just use doctl (as you should already have it)
doctl kubernetes cluster kubeconfig save minotar-k8s
Create the required namespaces:
make k8-namespaces
Once metrics-server is installed (under #Monitoring), you can use make k8-top to see at a glance cpu/memory stats.
Set your extra mcclient vars helm/mcclient-values.yaml
Add required repos:
make helm-repos
Metrics server (eg. for kubectl top nodes and kubectl top pods) is installed with make helm-metrics-install. Later upgrades via make helm-metrics-upgrade.
Prometheus stack is installed with make helm-prometheus-install (this can take a little while) and upgraded via make helm-prometheus-upgrade
Create the token which will be used to assign the floating IPs to the nodes.
kubectl -n flipop create secret generic flipop-provider-tokens --from-literal=DIGITALOCEAN_ACCESS_TOKEN="${DIGITALOCEAN_ACCESS_TOKEN}"
Installed with make helm-flipop-install and upgraded with make helm-flipop-upgrade
Install nginx-ingress with make helm-ingress-install and subsequently upgrade with make helm-ingress-upgrade.
-
Minotar website via Nginx:
make helm-website-installandmake helm-website-upgrade -
Nginx Texture cache:
make helm-texture-installandmake helm-texture-upgrade -
skind:
make helm-skind-installandmake helm-skind-upgrade -
Frontend Varnish / "mittwald-httpcache":
make helm-varnish-installandmake helm-varnish-upgrade -
processd:
make helm-processd-installandmake helm-processd-upgrade
