Week 4: Kubernetes locally

Week 4: Kubernetes locally

Now the app moves into Kubernetes, in a small cluster called minikube. You describe the databases and the app as manifests, give the app its settings through a ConfigMap and a Secret, and end by comparing Kubernetes with Compose from last week.

Login is broken until the Secret exists, and data is lost when a pod is deleted. Both are deliberate, and both are fixed later.

Issues

Work through the issues in order, in your own repository. Each one builds on the one before.

IssueWhat you do
authA shared-password login, so that only you can post.
minikube-setupInstall minikube and kubectl, and prove the cluster works.
deploy-databasesMongoDB and Redis as Deployments and Services.
deploy-appCloudbook with a ConfigMap, a NodePort Service and several replicas.
secretsThe password and signing key in a Secret that never reaches Git.
compose-or-kubernetesExperiments that show where the two tools differ, and your own conclusion.

Write the week report in report/week-4.md after the last issue.

Slide decks

Each deck is a self-study lecture of about 15–20 minutes, except the intro, which takes about five.

Reading material