Hey there, Gurus! Welcome to the lab! This lab will demonstrate how to change, manage, and delete resources in Kubernetes using Terraform. You, as an admin, are being asked to deploy a NodePort service to your Kubernetes cluster to go along with your NGINX nodes. You will need to first set up the cluster using `kind` and `kubectl`, and deploy the NGINX nodes using Terraform. You will then use Terraform to deploy the NodePort service, and scale your NGINX nodes from 2 to 4 nodes. You will finish by destroying your resource and deleting your cluster.
Learning Objectives
Successfully complete this lab by achieving the following learning objectives:
- Set Up the Lab Environment
In the Terminal
- Once logged into your instance, change to the lab-manage-kubernetes directory.
- Use
kind
and thekind-config.yaml
file to create a cluster named lab-terraform-kubernetes. - Point
kubectl
at your cluster to allow interaction. - Gather cluster information for values for your variables file.
- Edit your
terraform.tfvars
file and add your cluster host and client certificate values. - Initialize your working directory.
- Apply your configuration.
- Add a Service
In the Terminal
- Download the service code to your working directory.
- Review the file.
- Schedule the NodePort service deployment to your Kubernetes cluster using Terraform.
- Verify the deployment.
- Scale the Nodes
In the Terminal
- Edit the
lab_kubernetes_resources.tf
file. - Change replicas from 2 to 4.
- Apply the configuration change.
- Confirm that you scaled the nodes from 2 to 4.
- Delete Your Cluster
In the Terminal
- Destroy the cluster resources.
- Delete your cluster.