因此,出于背景考虑,我正在尝试在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上进行了搜索,但对于这两者的结合,我们几乎看不到。
答案 0 :(得分:2)
Terraform 现在有一个官方 Helm 提供程序 https://registry.terraform.io/providers/hashicorp/helm/latest/docs
您可以使用该提供程序并通过 helm https://istio.io/latest/docs/setup/install/helm/
您可以使用 Kubernetes 提供程序来配置 Istio 对象。
参考 https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs 和 https://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/