- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
需要将集群部署到 GCP 并设置、helm、ingress 和其他一些东西,而无需手动运行 gcloud 命令。尝试了很多方法 google_container_cluster 有和没有证书和用户/通行证。我得到两种结果:
错误:serviceaccounts 被禁止:用户“system:anonymous”无法在命名空间“kube-system”的 API 组“”中创建资源“serviceaccounts”
或者错误:serviceaccounts 被禁止:用户“client”无法在命名空间“kube-system”的 API 组“”中创建资源“serviceaccounts”
。
我设法理解的是,如果我生成证书,gke 将拥有与它将创建的证书相对应的默认用户“客户端”,否则它将保留默认用户“匿名”- 没有用户。
我的问题是我无法找到告诉 google_container_cluster
使用特定帐户或告诉 provider "kubernetes"
接受任何用户的方法。如果不通过 gcloud
进行身份验证,也找不到将 RBAC 文件应用于集群的方法。
最佳答案
我通过更新 Terraform 连接到 Kubernetes 集群的方式解决了这个问题。当我将后端更改为使用“远程”(Terraform Cloud) 时,它不再起作用,并且出现了相同类型的错误消息。这是因为使用“远程”后端 Terraform 不使用本地 kubectl 配置。
例如:https://github.com/terraform-providers/terraform-provider-kubernetes/issues/347
所以我添加了一个 block 来获取配置
data "google_client_config" "default" {
}
然后我从使用“client_certificate”和“client_key”更新为“token”:
provider "kubernetes" {
load_config_file = false
host = data.google_container_cluster.gke-cluster.endpoint
token = data.google_client_config.default.access_token
cluster_ca_certificate = base64decode(data.google_container_cluster.gke-cluster.master_auth.0.cluster_ca_certificate)
}
希望这对其他人有用。
关于kubernetes - 如何获取 `provider "kubernetes "` authenticate with ` google_container_cluster`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59217042/
我知道关于 google_container_cluster 的幂等性,Terraform google provider 在 Github 上也有类似的问题;但是,似乎没有一个与我的简单示例相匹配。
需要将集群部署到 GCP 并设置、helm、ingress 和其他一些东西,而无需手动运行 gcloud 命令。尝试了很多方法 google_container_cluster 有和没有证书和用户/通
我想管理使用 terraform 的服务配置到使用外部 terraform 脚本定义的 GKE 集群。 我使用 kubernetes_secret 创建了配置. 类似下面的内容 resource "k
我创建了一个 google_container_cluster ... resource "google_container_cluster" "primary" { name = "primar
我是一名优秀的程序员,十分优秀!