如果基本身份验证已弃用并已在 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 加密。
基本身份验证已弃用: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 加密。