helm kube-prometheus

# helm repo에 prometheus-community 추가
helm repo add prometheus-community <https://prometheus-community.github.io/helm-charts>
# 헬름 저장소 업데이트
helm install my-kube-prometheus-stack prometheus-community/kube-prometheus-stack --version 36.6.2

provider.tf

terraform {
  required_providers {
    kind = {
      source  = "tehcyx/kind"
      version = "0.0.15"
    }
    kubectl = {
      source  = "gavinbunney/kubectl"
      version = ">= 1.7.0"
    }
  }
}

provider "kind" {}

provider "kubectl" {
#   config_path = "~/.kube/config"
    host = kind_cluster.default.endpoint
    cluster_ca_certificate = kind_cluster.default.cluster_ca_certificate
    client_certificate = kind_cluster.default.client_certificate
    client_key = kind_cluster.default.client_key
}

provider "kubernetes" {
#   config_path    = "~/.kube/config"
    host = kind_cluster.default.endpoint
    cluster_ca_certificate = kind_cluster.default.cluster_ca_certificate
    client_certificate = kind_cluster.default.client_certificate
    client_key = kind_cluster.default.client_key
}

provider "helm" {
  kubernetes {
    host = kind_cluster.default.endpoint
    cluster_ca_certificate = kind_cluster.default.cluster_ca_certificate
    client_certificate = kind_cluster.default.client_certificate
    client_key = kind_cluster.default.client_key
  }
}

main.tf

resource "kind_cluster" "default" {
  name           = "cluster-1"
  wait_for_ready = true

  kind_config {
    kind        = "Cluster"
    api_version = "kind.x-k8s.io/v1alpha4"

    node {
      role  = "control-plane"
      image = "kindest/node:v1.27.3"
    }

    node {
      role  = "worker"
      image = "kindest/node:v1.27.3"
    }
  }
}

resource "kubernetes_namespace" "example" {
  metadata {
    name = "monitoring"
  }
}

resource "helm_release" "kube-prometheus" {
  name       = "kube-prometheus-stackr"
  namespace  = "monitoring"
  version    = ""
  repository = "<https://prometheus-community.github.io/helm-charts>"
  chart      = "kube-prometheus-stack"
}

variables & outputs

module & workspace

terraform workspace show
terraform workspace new ""
terraform workspace list
terraform workspace select ""