Week 6: Release and wrap up
Week 6: Release and wrap up
The last week makes releasing routine. The pipeline deploys to the cluster, a release replaces pods one at a time so visitors do not notice, and a bad release can be taken back. HTTPS on the cluster is optional. You finish by looking critically at your setup, completing your reports and destroying the cluster.
Destroying the cluster cannot be undone. Do it only when everything is pushed and the reports are written.
Issues
Work through the issues in order, in your own repository. Each one builds on the one before.
| Issue | What you do |
|---|---|
deploy-from-ci | The pipeline applies your manifests to the cluster when you push a tag. |
rolling-updates | A release without downtime, and two ways to take a bad one back. |
https-traefik | Optional: HTTPS from the cluster with a Campus CA certificate. |
wrap-up | A last look at the cluster, the six weekly reports (with a reflection on the shortcuts in your setup), and terraform destroy. |
Write the week report in report/week-6.md after the last issue.
When everything is done, hand in with a merge request, see Assignment 2.
Slide decks
Each deck is a self-study lecture of about 15–20 minutes, except the intro, which takes about five.
- Week 6 intro: what the week asks of you
- CD to the cluster: deploying over ssh, and least privilege
- Rolling updates: zero-downtime releases and rollback
- HTTPS with Traefik: TLS termination on the cluster (optional)
- Production gaps: what this setup is not, and tearing it down
Reading material
docs/CI.md,docs/K3S.md,docs/KUBERNETES.mdin your repo- Deployments: rolling update
- kubectl rollout
- Traefik: ACME
- k3s: high availability