Skip to content

Latest commit

 

History

History
47 lines (32 loc) · 1.75 KB

gke.md

File metadata and controls

47 lines (32 loc) · 1.75 KB

Homework Part 1: Google Kubernetes Engine

In this assignment we focus on exploring Google's managed Kubernetes offering.

Requirements

  1. 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.
  2. A free GCP account

Description

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:

  1. Spin up a Kubernetes cluster in GKE with two-three nodes
  2. Write a Kubernetes deployment definition in YAML that includes:
    • an Nginx web server with a single hello-world webpage
  3. Write a Kubernetes service definition in YAML that exposes the deployment with a Load Balancer
  4. Write a Kubernetes ingress definition to allow the service to be reached from the world

Success criteria

The webpage can be displayed over the internet: there is an endpoint I can see the page on.

Artifacts to be provided

  1. Resulting publicly accessible URL
  2. Kubernetes Deployment, Service, Ingress YAMLs that can be used to deploy this service by the grader
  3. nginx configuration

Bonus points

  1. Force HTTPS redirection with Nginx (using HTTP 301)
  2. Configure DNS to the endpoint
  3. Ensure certificate validity for the endpoint
  4. Define all infrastructure using IaC - Infrastructure as Code, such as Terraform or Deployment Manager
  5. Define all Kubernetes objects using a templating engine of choice (e.g., Helm or Kustomize)