因此,作为背景,我尝试在 kubernetes 集群内部署一个容器化的 Web 应用程序,该集群由 istio ft kiali 进行保护和监控。由于我不想手动配置所有内容,因此我使用 Terraform 来部署和更新集群内的任何配置(例如部署服务和 Pod)。
他们的好处是 Terraform 会自动配置公开应用程序所需的服务,这避免了很多麻烦,特别是因为这是一个针对此类更大规模部署的试点项目。
现在的问题是 Terraform 不包含 Istio 作为提供者。有一种方法可以通过在 Terraform 中编写配置来安装和配置它,它使用 Helm,它配置 Istio,但 Helm 使用 Helm Tiller,这是一个执行给定任务的权限提升的 pod。由于大规模的安全问题,我不希望集群内有权限提升的 Pod。
现在的问题是:是否有人尝试或设法成功配置 Istio 服务(例如 VirtualService),以使用 Terraform 配置文件通过 istio-ingressgateway 公开 Web 应用程序?我用谷歌搜索了一下,但几乎没有看到这两者的结合。
Terraform 现在拥有官方 Helm 提供程序https://registry.terraform.io/providers/hashicorp/helm/latest/docs
您可以使用该提供程序并使用 helm 安装 Istio 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/
| 归档时间: |
|
| 查看次数: |
8843 次 |
| 最近记录: |