簡體   English   中英

如何在 AKS 上為生產工作負載安裝 ISTIO?

[英]How to install ISTIO on AKS for production workload?

我正在嘗試使用 Terraform 在 AKS 生產工作負載上安裝 istio。我創建了啟用了 Azure RABC 的 AKS 集群。

我遇到了以下 terraform 腳本

resource "kubernetes_namespace" "istio-system" {
  metadata {
    annotations = {
      name = "istio-namespace"
    }

    labels = {
      mylabel = "label-value"
    }

    name = "istio-namespace"
  }
}

resource "helm_release" "istio_base" {
  name       = "istio-base"
  chart      = "./manifests/charts/base"
  namespace  = "istio-system"
}

resource "helm_release" "istiod" {
  name       = "istiod"
  chart      = "./manifests/charts/istio-control/istio-discovery"
  namespace  = "istio-system"
}

resource "helm_release" "istio-ingress" {
  name       = "istio-ingress"
  chart      = "./manifests/charts/gateways/istio-ingress"
  namespace  = "istio-system"
}

resource "helm_release" "istio-egress" {
  name       = "istio-ingress"
  chart      = "./manifests/charts/gateways/istio-egress"
  namespace  = "istio-system"
}

這是在 AKS 生產工作負載上設置 ISTIO 所必需的嗎? 我應該在執行代碼的機器上下載這些 HELM 圖表嗎? 如果是這樣,我可以從哪里下載它們?

我嘗試在我的環境中重現相同的內容,以使用 Terraform 在 AKS 上安裝 ISTIO:

Terraform 腳本:

provider "helm" {
  kubernetes {
    config_path = "~/.kube/config"
 }
 }
locals {
  istio_charts_url = "https://istio-release.storage.googleapis.com/charts"
}

resource "kubernetes_namespace" "istio-system" {
  metadata {
    annotations = {
      name = "istio-namespace"
    }

    labels = {
      mylabel = "label-value"
    }

    name = "istio-namespace"
  }
}
resource "helm_release" "istio-base" {
  repository       = local.istio_charts_url
  chart            = "base"
  name             = "istio-base"
  namespace        = "istio-system"
  version          = "1.12.1"
  create_namespace = true
}

resource "helm_release" "istiod" {
  repository       = local.istio_charts_url
  chart            = "istiod"
  name             = "istiod"
  namespace        = "istio-system"
  create_namespace = true
  version          = "1.12.1"
  depends_on       = [helm_release.istio-base]
}

resource "kubernetes_namespace" "istio-ingress" {
  metadata {
    labels = {
      istio-injection = "enabled"
    }

    name = "istio-ingress"
  }
}

resource "helm_release" "istio-ingress" {
  repository = local.istio_charts_url
  chart      = "gateway"
  name       = "istio-ingress"
  namespace  = "istio-system"
  version    = "1.12.1"
  depends_on = [helm_release.istiod]
}

Terraform計划:在此處輸入圖像描述

檢查安裝狀態。

helm status istiod -n istio-system

在此處輸入圖像描述

參考Stack 鏈接,然后是Benda

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM