Как с помощью terraform создать кластер kubernetes а заполнить его сущностями?

начал использовать терраформ при разворачивании кластера, и сразу столкнулся с несколькими проблемами. А именно порядок исполнения. В моем случае сперва должен создаваться класстер kubernetes ,а после пользователи и права. Но терраформ сейчас порядок не соблюдает. Согласно предложенному плану, сперва создаются сущьности kubernetes а затем создается кластер

   provider "some provider" {
  access_key = "svssddsdffsd"
  secret_key = "fsdfsdds"
  organization_id = "fsdfsds"
  zone = "dfsdf"
  region = "sdf"
}

resource "scaleway_k8s_cluster_beta" "emcorp" {
  name = "emcorp"
  description = "test cluster"
  version = "1.16.10"
  cni = "cilium"
  enable_dashboard = true
  ingress = "none"
  tags = [
    "emcorp",
    "thisroot",
    "test"]
}

resource "scaleway_k8s_pool_beta" "emcorp_pool" {
  cluster_id = scaleway_k8s_cluster_beta.emcorp.id
  name = "emcorp_pool"
  node_type = "DEV1-M"
  size = 1
  autoscaling = true
  autohealing = true
  min_size = 1
  max_size = 2
  wait_for_pool_ready = true
}

output "kubeconfig" {
  value = "${scaleway_k8s_cluster_beta.emcorp.kubeconfig}"
}

output "kube-connections" {
  value = {
    load_config_file = "false"
    host = scaleway_k8s_cluster_beta.emcorp.kubeconfig[0].host
    token = scaleway_k8s_cluster_beta.emcorp.kubeconfig[0].token
    cluster_ca_certificate = base64decode(
    scaleway_k8s_cluster_beta.emcorp.kubeconfig[0].cluster_ca_certificate
    )
  }
}

provider "kubernetes" {
  load_config_file = "false"
  host = scaleway_k8s_cluster_beta.emcorp.kubeconfig[0].host
  token = scaleway_k8s_cluster_beta.emcorp.kubeconfig[0].token
  cluster_ca_certificate = base64decode(
  scaleway_k8s_cluster_beta.emcorp.kubeconfig[0].cluster_ca_certificate
  )
}

resource "kubernetes_service_account" "gitlab-admin" {
  metadata {
    name = "gitlab-admin"
    namespace = "kube-system"
  }
  secret {
    name = "${kubernetes_secret.gitlab-admin-secret.metadata.0.name}"
  }

  depends_on = [
    scaleway_k8s_pool_beta.emcorp_pool
  ]
}

resource "kubernetes_secret" "gitlab-admin-secret" {
  metadata {
    name = "gitlab-admin-secret"
  }
}

resource "kubernetes_cluster_role_binding" "gitlab-admin" {
  metadata {
    name = "gitlab-admin"
  }
  role_ref {
    api_group = "rbac.authorization.k8s.io"
    kind = "ClusterRole"
    name = "cluster-admin"
  }
  subject {
    kind = "ServiceAccount"
    name = "gitlab-admin"
    namespace = "kube-system"
  }
}

Ответы (0 шт):