握草行*_*行天下 5 kubernetes google-kubernetes-engine terraform terraform-provider-gcp terraform-provider-kubernetes
我正在尝试在 Terraform 中使用 kubernetes-alpha 提供程序,但出现“无法构建 REST 客户端”错误消息。我正在使用 tfk8s 将 yaml 文件转换为 terraform 代码。
我为提供程序而不是 kubernetes 做出了 seme 声明,并且我的 kubernetes 提供程序工作正常
provider "kubernetes-alpha" {
host = "https://${data.google_container_cluster.primary.endpoint}"
token = data.google_client_config.default.access_token
cluster_ca_certificate = base64decode(data.google_container_cluster.primary.master_auth[0].cluster_ca_certificate)
}
provider "kubernetes" {
host = "https://${data.google_container_cluster.primary.endpoint}"
token = data.google_client_config.default.access_token
cluster_ca_certificate = base64decode(data.google_container_cluster.primary.master_auth[0].cluster_ca_certificate)
}
Run Code Online (Sandbox Code Playgroud)
resource "kubernetes_manifest" "exemple" {
provider = kubernetes-alpha
manifest = {
# result of tfk8s
}
}
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙吗?
经过一番挖掘,我发现该资源需要一个正在运行的 kubernetes 实例和配置,然后 terraform 计划才能正常工作。最好在github上说明:https://github.com/hashicorp/terraform-provider-kubernetes-alpha/issues/199#issuecomment-832614387
基本上,您必须执行两个步骤,首先 terraform 应用您的主要配置以在云中建立 kubernetes,然后在建立集群后 terraform 应用 CRD 资源。
编辑:我仍在尝试学习管理 terraform 配置的良好模式/实践,并发现这非常有帮助。如何在 Terraform Apply 命令中提供 .tf 文件作为输入?。我最终只是将证书管理器 CRD 保留为标准 kubernetes 清单 yaml,我将其与其他应用程序 helm 图表一起应用于每个集群。
| 归档时间: |
|
| 查看次数: |
12965 次 |
| 最近记录: |