在Go 中取得GKE 叢集的Kubeconfig
Google Cloud Platform (GCP) 提供了一個容器API,可讓您管理Kubernetes EngineKubernetes EngineKubernetes Engine (使用Go SDK 的GKE)叢集。雖然 API 方法 func (r *ProjectsZonesClustersService) Get 檢索叢集配置,但它不會傳回 kubeconfig。
替代解決方案
不幸的是,沒有直接的 Go SDK相當於 gcloud 容器叢集 get-credentials 指令。此功能是在 gcloud CLI 中用 Python 實現的。
手動實作
如果您希望使用 Go 手動取得 kubeconfig,您可以使用 kubectl config set-credentials 。以下是一個範例:
<code class="go">import ( "context" "log" "os/exec" ) func main() { // Set cluster context clusterContext := "my-gke-cluster" // Set access token accessToken := "my-access-token" // Set command to update kubeconfig cmd := exec.Command("kubectl", "config", "set-credentials", clusterContext, "--auth-provider=oidc", "--access-token="+accessToken) // Run command and check for errors output, err := cmd.Output() if err != nil { log.Fatalf("Error updating kubeconfig: %v", err) } log.Println(string(output)) }</code>
注意: 您也可以考慮使用 Kubelet 用戶端或 ServiceAccount 令牌連接到集群,而不是直接更新 kubeconfig。這些方法可讓您繞過 kubeconfig 並使用 JWT 令牌進行身份驗證。
以上是如何使用 Go SDK 檢索 GKE 叢集的 Kubeconfig?的詳細內容。更多資訊請關注PHP中文網其他相關文章!