In this assignment we focus on exploring Google's managed Kubernetes offering.
- A Linux/OSX environment
- Running windows? Spin up a virtual machine with VirtualBox. CentOS or Ubuntu are easy enough and will get the job done.
- A free GCP account
Acquire a Google account. Google Cloud has a free trial where they provide you with $300 in credits for a year. Use these credits to:
- Spin up a Kubernetes cluster in GKE with two-three nodes
- Write a Kubernetes deployment definition in YAML that includes:
- an Nginx web server with a single hello-world webpage
- Write a Kubernetes service definition in YAML that exposes the deployment with a Load Balancer
- Write a Kubernetes ingress definition to allow the service to be reached from the world
The webpage can be displayed over the internet: there is an endpoint I can see the page on.
- Resulting publicly accessible URL
- Kubernetes Deployment, Service, Ingress YAMLs that can be used to deploy this service by the grader
nginx
configuration
- Force HTTPS redirection with Nginx (using HTTP 301)
- Configure DNS to the endpoint
- Ensure certificate validity for the endpoint
- Define all infrastructure using IaC - Infrastructure as Code, such as Terraform or Deployment Manager
- Define all Kubernetes objects using a templating engine of choice (e.g., Helm or Kustomize)