使用Terraform设置Istio,而不使用Helm

时间:2020-03-04 11:00:38

标签: terraform istio

因此,出于背景考虑,我正在尝试在kubernetes集群中部署一个容器化的Webapp,该集群由istio ft kiali保护和监视。由于我不想手动配置所有内容,因此我正在使用Terraform部署和更新集群中的任何配置(例如部署服务和Pod)。

它们的好处是Terraform自动配置了公开应用程序所需的服务,这使很多麻烦事尤其安全,特别是因为这是针对此类更大部署的试验项目。

现在的问题是Terraform不包括Istio作为提供程序。有一种方法可以通过在Terraform内编写配置来安装和配置它,该配置使用Helm来配置Istio,但是Helm使用Helm Tiller,这是一个权限提升的pod,可以执行给定任务。由于大规模的安全性考虑,我不希望在集群内安装权限提升的Pod。

现在的问题是:是否有人尝试或设法成功配置Istio Services(如VirtualService)以通过带有Terraform配置文件的istio-ingressgateway公开Web应用程序?我在Google上进行了搜索,但对于这两者的结合,我们几乎看不到。

1 个答案:

答案 0 :(得分:2)

Terraform 现在有一个官方 Helm 提供程序 https://registry.terraform.io/providers/hashicorp/helm/latest/docs

您可以使用该提供程序并通过 helm https://istio.io/latest/docs/setup/install/helm/

安装 Istio

您可以使用 Kubernetes 提供程序来配置 Istio 对象。
参考 https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docshttps://www.hashicorp.com/blog/deploy-any-resource-with-the-new-kubernetes-provider-for-hashicorp-terraform

PS:通过 Pulumi 这样做可能更容易结帐https://www.pulumi.com/docs/get-started/kubernetes/