如果基本身份验证已弃用并已在 GKE 1.19 及更高版本中删除,我如何向 k8s 提供程序 gke 进行身份验证?

How can I auth to the k8s provider gke if Basic authentication is deprecated and has been removed in GKE 1.19 and later?

基本身份验证已弃用:https://cloud.google.com/kubernetes-engine/docs/how-to/hardening-your-cluster

我是这样写的(与文档相同:https://www.terraform.io/docs/providers/google/d/client_config.html):

data "google_client_config" "default" {
}

data "google_container_cluster" "my_cluster" {
  name = "my-cluster"
  zone = "us-east1-a"
}

provider "kubernetes" {
  load_config_file = false

  host  = "https://${data.google_container_cluster.my_cluster.endpoint}"
  token = data.google_client_config.default.access_token
  cluster_ca_certificate = base64decode(
    data.google_container_cluster.my_cluster.master_auth[0].cluster_ca_certificate,
  )
}

文档说:

CIS GKE Benchmark Recommendations: 6.8.1. Ensure Basic Authentication using static passwords is Disabled and 6.8.2. Ensure authentication using Client Certificates is Disabled

cluster_ca_certificate 使用的是“客户端证书”还是不同?我想确保我正在做的事情(上面的 tf 片段)将继续得到 GKE 的支持,但我不清楚它现在是如何工作的。

也许我已经在以正确的、未弃用的方式进行操作?

如果不是K8S专家,我会说

  token = data.google_client_config.default.access_token

您的身份验证令牌是否用于访问 GKE API

您加载的证书是服务器证书,用于强制与主服务器进行 TLS 通信。不是身份验证,只有 TLS over HTTP 加密。