86 lines
2.0 KiB
Terraform
86 lines
2.0 KiB
Terraform
|
resource "kubernetes_deployment" "application" {
|
||
|
metadata {
|
||
|
name = "poller-application"
|
||
|
labels = {
|
||
|
app = local.service_match_label
|
||
|
env = local.environment
|
||
|
}
|
||
|
namespace = kubernetes_namespace.application_namespace.id
|
||
|
}
|
||
|
spec {
|
||
|
replicas = 1
|
||
|
revision_history_limit = 0
|
||
|
selector {
|
||
|
match_labels = {
|
||
|
app = local.deployment_match_label
|
||
|
}
|
||
|
}
|
||
|
template {
|
||
|
metadata {
|
||
|
labels = {
|
||
|
app = local.deployment_match_label
|
||
|
env = local.environment
|
||
|
}
|
||
|
}
|
||
|
spec {
|
||
|
volume {
|
||
|
name = local.config_volume_name
|
||
|
config_map {
|
||
|
name = kubernetes_config_map.weather_config.metadata.0.name
|
||
|
}
|
||
|
}
|
||
|
volume {
|
||
|
name = local.log_volume_name
|
||
|
persistent_volume_claim {
|
||
|
claim_name = kubernetes_persistent_volume_claim.log_volume_claim.metadata.0.name
|
||
|
}
|
||
|
}
|
||
|
container {
|
||
|
image = format("%s:%s", var.application_image_tag, var.application_version)
|
||
|
name = "poller-application"
|
||
|
args = ["-filename", "/conf/config.hcl", "-logLevel", "info", "-logOutput", "/logs/weather.log"]
|
||
|
volume_mount {
|
||
|
mount_path = "/conf"
|
||
|
name = local.config_volume_name
|
||
|
}
|
||
|
volume_mount {
|
||
|
mount_path = "/logs"
|
||
|
name = local.log_volume_name
|
||
|
}
|
||
|
resources {
|
||
|
limits = {
|
||
|
cpu = "0.5"
|
||
|
memory = "512Mi"
|
||
|
}
|
||
|
requests = {
|
||
|
cpu = "250m"
|
||
|
memory = "50Mi"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
timeouts {
|
||
|
create = "5m"
|
||
|
delete = "5m"
|
||
|
update = "5m"
|
||
|
}
|
||
|
}
|
||
|
|
||
|
resource "kubernetes_persistent_volume_claim" "log_volume_claim" {
|
||
|
metadata {
|
||
|
namespace = kubernetes_namespace.application_namespace.id
|
||
|
name = "log-weather-pvc"
|
||
|
}
|
||
|
spec {
|
||
|
storage_class_name = "dx30-nfs"
|
||
|
access_modes = ["ReadWriteMany"]
|
||
|
resources {
|
||
|
requests = {
|
||
|
storage = "2Gi"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|