Google-Cloud-Platform
如何使用 Terraform 創建 GKE 集群並部署 Kubernetes 資源
我想創建一個 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 }