Use Terraform to Create a Kubernetes Deployment

45 minutes
  • 3 Learning Objectives

About this Hands-on Lab

Hey there gurus! Welcome to the lab! This lab will demonstrate how setup a small Kubernetes cluster and deploy two NGINX nodes using Terraform. You as an admin are being asked to deploy a simple Kubernetes cluster running to NGINX nodes to test out a new web application. You will need to first setup the cluster using kind and kubectl and then use Terraform to deploy the NGINX nodes.

Learning Objectives

Successfully complete this lab by achieving the following learning objectives:

Create your Kubernetes Cluster

In the Terminal

1) Once logged into your instance, change to the lab-deploy-kubernetes directory.
2) Use kind and the kind-config.yaml file to create a cluster named lab-terraform-kubernetes.
3) Point kubectl at your cluster to allow interaction.

Configure Terraform to Use with the Kubernetes Cluster

In the Terminal

1) Gather cluster information to input values for your variables file.
2) Edit your terraform.tfvars file and add your cluster host and client certificate values.
3) Initialize your working directory.

Deploy Resources to the Kubernetes Cluster

In the Terminal

1) Download the https://raw.githubusercontent.com/linuxacademy/content-terraform-2021/main/lab_kubernetes_resources.tf added resources configuration file from the repo.
2) Review the file .
3) Schedule a NGINX deployment with two replicas on your Kubernetes cluster using Terraform.
4) Verify the deployment.

Additional Resources

You are and admin who supports one of the largest online comicbook retailers in the world. You are one of a handful of admins who have been assigned to use Terraform to manage the companies cloud deployments. You are being asked to deploy a simple Kubernetes cluster running to NGINX nodes to test out a new web application on a local server before deploying to the cloud. You will need to first setup the cluster using kind and kubectl and then use Terraform to deploy the NGINX nodes.

Configuration used in this lab: Terraform Lab Config Files -https://raw.githubusercontent.com/linuxacademy/content-terraform-2021/main/lab-deploy-kubernetes.zip Added Terraform Resource Config File -https://raw.githubusercontent.com/linuxacademy/content-terraform-2021/main/lab_kubernetes_resources.tf

What are Hands-on Labs

Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.

Sign In
Welcome Back!

Psst…this one if you’ve been moved to ACG!

Get Started
Who’s going to be learning?