![](/download/attachments/103415918/1280px-Terraform_Logo.svg.png?version=1&modificationDate=1709144108949&api=v2)
Overview
![](/download/attachments/103415918/image-2024-2-28_13-39-27.png?version=1&modificationDate=1709145567994&api=v2)
![](/download/attachments/103415918/image-2024-2-28_13-43-40.png?version=1&modificationDate=1709145821283&api=v2)
![](/download/attachments/103415918/image-2024-2-28_13-50-24.png?version=1&modificationDate=1709146224744&api=v2)
![](/download/attachments/103415918/image-2024-2-28_13-50-53.png?version=1&modificationDate=1709146254156&api=v2)
![](/download/attachments/103415918/image-2024-2-28_13-52-17.png?version=1&modificationDate=1709146337626&api=v2)
![](/download/attachments/103415918/image-2024-2-28_13-53-3.png?version=1&modificationDate=1709146383486&api=v2)
![](/download/attachments/103415918/image-2024-2-28_13-53-53.png?version=1&modificationDate=1709146433376&api=v2)
![](/download/attachments/103415918/image-2024-2-28_13-56-7.png?version=1&modificationDate=1709146568130&api=v2)
Install Terraform Client
See https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli
On Mac:
Code Block |
---|
brew install terraform |
Example
https://gist.github.com/ivaravko/501b4e8e5f1bc1bf5fecd149186b99b9
Sample: main.tf
Code Block |
---|
|
# Configure Kubernetes provider and connect to the Kubernetes API server
provider "kubernetes" {
config_path = "~/.kube/config"
config_context = "docker-desktop"
}
# Create an Nginx pod
resource "kubernetes_pod" "nginx" {
metadata {
name = "terraform-example"
labels = {
app = "nginx"
}
}
spec {
container {
image = "nginx:1.23.2"
name = "example"
}
}
}
# Create an service
resource "kubernetes_service" "nginx" {
metadata {
name = "terraform-example"
}
spec {
selector = {
app = kubernetes_pod.nginx.metadata.0.labels.app
}
port {
port = 80
}
type = "NodePort"
}
depends_on = [
kubernetes_pod.nginx
]
} |
Initialize
Run plan to check for errors
Apply changes
Code Block |
---|
|
terraform apply |
Destroy changes applied
Code Block |
---|
|
terraform destroy |
References