본문 바로가기

Develop/DevOps

[istio] terraform istio 설치 및 Gateway & VirtualService 사용 정리 (WIP)

반응형

Terraform istio 설치

  • 설치 순서는 istio-base > istiod > istio-ingress 순으로 설치되게끔 dependency 설정
    • istio-base: istio의 Custom Resource Definitions(CRD)를 포함하는 기본적인 리소스 정의 역할. istio가 클러스터 내에서 작동하는데 필요한 기본적인 정의들을 포함
    • istiod: istio의 컨트롤 플레인 역할을 수행하며, 매시  내 모든 Envoy 프록시를 관리함. 서비스 간의 트래픽 제어, 인증, 관찰 가능성 제공함
    • istio-ingress: 외부에서 클러스터 내부 서비스로 트래픽을 전달하는 진입점. Kubernetes Ingress리소스와 비슷하지만 더 다양한 기능을 제공함.
locals {
  istio_charts_url = "https://istio-release.storage.googleapis.com/charts"
  istio_version    = "1.24.3"
}

resource "helm_release" "istio_base" {
  repository      = local.istio_charts_url
  chart           = "base"
  name            = "istio-base"
  namespace       = kubernetes_namespace.istio_system.metadata[0].name
  version         = local.istio_version
  cleanup_on_fail = true
}

resource "helm_release" "istiod" {
  repository      = local.istio_charts_url
  chart           = "istiod"
  name            = "istiod"
  namespace       = kubernetes_namespace.istio_system.metadata[0].name
  version         = local.istio_version
  depends_on      = [helm_release.istio_base]
  cleanup_on_fail = true
}

resource "helm_release" "istio_ingress" {
  repository      = local.istio_charts_url
  chart           = "gateway"
  name            = "istio-ingress"
  namespace       = kubernetes_namespace.istio_system.metadata[0].name
  version         = local.istio_version
  depends_on      = [helm_release.istiod]
  cleanup_on_fail = true
}

Gateway, VirtualService 관련해서(WIP)

...

반응형