1 回答

TA貢獻1820條經驗 獲得超2個贊
Go?container/v1
API 是從底層 Google Kubernetes Engine (GKE) REST API(公共文檔)生成的,它支持按區域或按位置查詢集群。檢查這些文檔,您會發現大多數建議都是使用位置 API。盡管特定于區域的 API 仍然可用于向后兼容,但不推薦使用任何按區域進行的過濾等操作:
根據我的記憶,我認為在宣布支持區域GKE 集群時,添加了按位置搜索集群的功能;此類集群的控制平面在多個區域之間共享,以實現高可用性目的,并且提供了一個 API,該 API 可在區域和區域集群上通用。
為了通過API調用獲取項目中的所有集群,根據您的請求,您可以使用方法location的字段(*container.ProjectsLocationsClustersService).List來對底層API進行這樣的調用:
projectID := "my-project-id" // TODO fill in project ID
svc, err := container.NewService(context.TODO())
// TODO: handle err
parent := fmt.Sprintf("projects/%s/locations/-", projectID) // Location "-" matches all zones and regions
resp, err := svc.Projects.Locations.Clusters.List(parent).Do()
// TODO do something with response and error
有關參數結構parent和 List 調用行為的更多詳細信息,請參閱 API 文檔。
區域 API 將支持在查詢所有區域時列出區域集群(將參數設置zone為-)。但是,由于它僅接受區域參數作為其 List 方法中的過濾器,因此它不提供過濾特定區域中的區域集群的功能。同一 API 的其他端點也有類似的限制。
- 1 回答
- 0 關注
- 104 瀏覽
添加回答
舉報