地形-交错的提供者数量

时间:2019-02-14 09:21:00

标签: kubernetes terraform digital-ocean

过去一周,我一直在考虑使用Terraform来实现Kubernetes,但似乎存在生命周期问题。

虽然我可以使Kubernetes资源依赖于正在旋转的集群,但是KUBECONFIG文件并未在terraform apply的中间进行更新。

kubernete

resource "kubernetes_service" "example" {
  ...
depends_on = ["digitalocean_kubernetes_cluster.example"]
}
resource "digitalocean_kubernetes_cluster" "example" {
  name    = "example"
  region  = "${var.region}"
  version = "1.12.1-do.2"

  node_pool {
    name       = "woker-pool"
    size       = "s-1vcpu-2gb"
    node_count = 1
  }

  provisioner "local-exec" {
    command = "sh ./get-kubeconfig.sh" // gets KUBECONFIG file from digitalocean API.

    environment = {
      digitalocean_kubernetes_cluster_id = "${digitalocean_kubernetes_cluster.k8s.id}"
      digitalocean_kubernetes_cluster_name = "${digitalocean_kubernetes_cluster.k8s.name}"
      digitalocean_api_token = "${var.digitalocean_token}"
    }
  }

虽然我可以使用API​​下拉CONFIG文件,但是terraform不会使用此文件,因为terraform plan已经在运行

我已经看到一些使用三元运算符(resource ? 1 : 0)的示例,但是除了count

之外,我还没有找到针对非-target创建的集群的解决方法

理想情况下,我想用一个terraform仓库创建它。

1 个答案:

答案 0 :(得分:0)

事实证明,Vimeo资源具有可以像这样传递给digitalocean_kubernetes_cluster的属性:

provider "kubernetes" {}

这将导致一个提供者依赖于另一个提供者,并采取相应的行动。