오늘의 인기 글
최근 글
최근 댓글
Today
Total
04-29 01:41
관리 메뉴

우노

[Terraform] kubernetes_manifest란? 본문

DevOps/Terraform

[Terraform] kubernetes_manifest란?

운호(Noah) 2023. 10. 20. 11:46

들어가기 앞서,

  • Terraform에서, 공식 K8S Provider가 지원하지 않는 리소스는 ‘kubernetes_manifest’를 사용해 정의할 수 있습니다.
  • 물론, yaml 파일을 그대로 사용할 수는 없으며 yaml의 모든 필드를 HCL 양식에 맞게 수정해야합니다.
    • 다행히도 built-in function인 'yamldecode()'나 ‘tfk8s’ 같은 Tool을 사용해 YAML에서 HCL로 자동 변환할 수도 있습니다.

yaml 예제

apiVersion: v1
kind: ConfigMap
metadata:
  name: test-config
  namespace: default
data:
  foo: bar

Terraform kubernetes_manifest 예제

resource "kubernetes_manifest" "test-configmap" {
  manifest = {
    "apiVersion" = "v1"
    "kind"       = "ConfigMap"
    "metadata" = {
      "name"      = "test-config"
      "namespace" = "default"
    }
    "data" = {
      "foo" = "bar"
    }
  }
}

참고

Comments