WIP
- + + project1 -+ | +- main.tf | +- variables.tf | +- pro.tfvars | +- debug.tfvars | +- modules -+ +- module1 -+ | +- main.tf | +- variables.tf | +- outputs.tf | +- module2 -+ +- main.tf +- variables.tf +- outputs.tf
variable "storageClass" { type = string default = "nfs-provisioner-sc"} variable "imageDockerhubRegistryPrefix" { type = string default = "harborpro.secvision.local/dockerhub"} variable "imageQuayRegistryPrefix" { type = string default = "harborpro.secvision.local/quay"} variable "minioReplicas" { type = number default = 3}
resource "kubernetes_stateful_set" "redis" { metadata { name = "redis" namespace = var.namespace labels = { app = "redis" } } spec { replicas = 1 selector { match_labels = { app = "redis" } } template { metadata { name = "redis" labels = { app = "redis" } } spec { container { name = "redis" image = var.image port { name = "redis" container_port = 6379 } } } } service_name = "redis" }} resource "kubernetes_service" "redis" { metadata { name = "redis" namespace = var.namespace } spec { port { name = "redis" port = 6379 target_port = kubernetes_stateful_set.redis.spec.0.template.0.spec.0.container.0.port.0.container_port } selector = { app = "redis" } type = "ClusterIP" }}
output "metricsAccessKey" { value = var.metricsAccessKey} output "metricsSecretKey" { value = var.metricsSecretKey} output "lokiBucket" { value = var.lokiBucket} output "tempoBucket" { value = var.tempoBucket} output "host" { value = "minio.metrics.svc.cluster.local:9000"}
provider "kubernetes" { config_path = "${path.module}/../config.yaml"} module "redis" { source = "../modules/redis"}
apply
terraform initterraform apply --var-file=debug.tfvars
再利用ダメ
resource "kubernetes_service" "module1" { ...}
module "module1" { source = "../module1"}
module "module1" { source = "../module1"}
module "module1" { source = "../modules/module1"} module "module2" { source = "../modules/module2"} module "module3" { source = "../modules/module3"}
コメントを読み込んでいます...