Я хочу создать кластер GKE, а затем импортировать его как существующий кластер в Rancher. На втором этапе мне нужно установить некоторые ресурсы Kubernetes в кластер.
Создание кластера работает нормально. Я установил
master_auth {
client_certificate_config {
issue_client_certificate = true
}
}
а затем получить доступ к значениям в
provider "kubernetes" {
host = var.kubernetes_endpoint
client_certificate = var.kubernetes_client_certificate
client_key = var.kubernetes_client_key
cluster_ca_certificate = var.kubernetes_cluster_ca_certificate
}
Однако я получаю сообщение об ошибке при попытке создать ресурсы Kubernetes в кластере.
Error: clusterroles.rbac.authorization.k8s.io is forbidden: User "client" cannot create resource "clusterroles" in API group "rbac.authorization.k8s.io" at the cluster scope
on modules/install-rancher/resources.tf line 1, in resource "kubernetes_cluster_role" "proxy-clusterrole-kubeapiserver":
1: resource "kubernetes_cluster_role" "proxy-clusterrole-kubeapiserver" {
Есть ли способ получить сертификат клиента с правами админа через Terraform?
Вот как вы можете решить мою проблему и связать разные провайдеры / развертывания Terraform.
data "google_client_config" "client_config" {
provider = google-beta
}
provider "kubernetes" {
load_config_file = false
host = var.endpoint_from_created_cluster
token = data.google_client_config.client_config.access_token
cluster_ca_certificate = var.ca_certificate_from_created_cluster
}