오늘의 인기 글
최근 글
최근 댓글
Today
Total
05-08 04:42
관리 메뉴

우노

[Terraform] kubernetes_config_map 사용 방법 본문

DevOps/Terraform

[Terraform] kubernetes_config_map 사용 방법

운호(Noah) 2023. 9. 26. 17:45

들어가기 앞서,

  • 해당 포스팅에선 Terraform을 통해 kubernetes_config_map 자원 생성 후
  • kubernetes_deployment 내부에 kubernetes_config_map 파일을 마운팅하는 방법에 대해서 다뤄보겠습니다.

kubernetes_config_map 자원 생성

resource "kubernetes_config_map" "example_config_map" {
  metadata {
    name = "example-config-map"
  }

  data = {
    "config-file.txt" = <<EOF
This is a sample config file.
You can customize it as needed.
EOF
  }
}

kubernetes_deployment 내부 kubernetes_config_map 파일 마운팅

resource "kubernetes_deployment" "example_app" {
  metadata {
    name = "example-app"
    labels = {
      app = "example-app"
    }
  }

  spec {
    replicas = 3

    selector {
      match_labels = {
        app = "example-app"
      }
    }

    template {
      metadata {
        labels = {
          app = "example-app"
        }
      }

      spec {
        container {
          name  = "example-container"
          image = "nginx:latest"

          port {
            container_port = 80
            protocol = "TCP"
          }

          volume_mount {
            mount_path = "/etc/config"   # 컨테이너 내부 파일 저장 경로
            name       = "config-volume" # volumes 이름
          }
        }

        volumes {
          name = "config-volume"
          config_map {
            # kubernetes_config_map 이름
            name = kubernetes_config_map.example_config_map.metadata[0].name 
          }
        }
      }
    }
  }
}

결론

  • nginx container 내부 /etc/config 경로에 config-file.txt 파일이 저장됩니다.
Comments