48 lines
774 B
HCL
48 lines
774 B
HCL
provider "kubernetes" {
|
|
load_config_file = false
|
|
host = "http://127.0.0.1:8001"
|
|
}
|
|
|
|
resource "kubernetes_namespace" "ns" {
|
|
metadata {
|
|
name = "terraform-test"
|
|
}
|
|
}
|
|
|
|
resource "kubernetes_pod" "web" {
|
|
metadata {
|
|
name = "web"
|
|
namespace = kubernetes_namespace.ns.id
|
|
labels = {
|
|
app = "webapp"
|
|
}
|
|
}
|
|
spec {
|
|
container {
|
|
image = "nginx:latest"
|
|
name = "web"
|
|
port {
|
|
container_port = 80
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
resource "kubernetes_service" "web" {
|
|
metadata {
|
|
name = "web-svc"
|
|
namespace = kubernetes_namespace.ns.id
|
|
}
|
|
spec {
|
|
selector = {
|
|
app = kubernetes_pod.web.metadata.0.labels.app
|
|
}
|
|
port {
|
|
port = 80
|
|
target_port = 80
|
|
node_port = 30080
|
|
}
|
|
type = "NodePort"
|
|
}
|
|
}
|