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 ""