1.1. ./setupkindcluster132.sh
1.2. kubectl get nodes -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME 132-control-plane Ready control-plane 7m42s v1.32.2 172.18.0.3 <none> Debian GNU/Linux 12 (bookworm) 5.15.0-133-generic containerd://2.0.2 132-worker Ready <none> 7m33s v1.32.2 172.18.0.2 <none> Debian GNU/Linux 12 (bookworm) 5.15.0-133-generic containerd://2.0.2 132-worker2 Ready <none> 7m33s v1.32.2 172.18.0.5 <none> Debian GNU/Linux 12 (bookworm) 5.15.0-133-generic containerd://2.0.2 132-worker3 Ready <none> 7m33s v1.32.2 172.18.0.4 <none> Debian GNU/Linux 12 (bookworm) 5.15.0-133-generic containerd://2.0.2
1.3. kubectl config get-contexts
CURRENT NAME CLUSTER AUTHINFO NAMESPACE
132 kind-132 kind-132
1.4 kubectl get namespace
NAME STATUS AGE default Active 9m13s kube-node-lease Active 9m13s kube-public Active 9m13s kube-system Active 9m13s local-path-storage Active 9m10s metallb-system Active 9m1s

2.1. version.tf and main.tf
#version.tf
terraform {
required_providers {
kubernetes = {
source = "hashicorp/kubernetes"
version = "2.36.0"
}
}
}
provider "kubernetes" {
config_path = "~/.kube/config"
config_context = "132"
}
#main.tf
resource "kubernetes_namespace" "example" {
metadata {
name = "my-first-namespace"
}
}
2.2. Run terraform
terraform init terraform fmt terraform validate terraform apply -auto-approve
