Python 3.x 如何使用python删除GKE(Google Kubernetes引擎)集群?

Python 3.x 如何使用python删除GKE(Google Kubernetes引擎)集群?,python-3.x,kubernetes,google-cloud-platform,containers,google-kubernetes-engine,Python 3.x,Kubernetes,Google Cloud Platform,Containers,Google Kubernetes Engine,我是GKE Python的新手。我想使用python脚本删除我的GKE(GoogleKubernetes引擎)集群。 我从googlecloudcontainerpython库中找到了一个APIdelete_cluster()来删除GKE集群。 但我不确定如何通过在python中传递所需的参数来使用该API。谁能给我举个例子解释一下吗 或者在python中是否有其他方法删除GKE集群 提前感谢。这包含您尝试执行的命令的示例 提供命令成功所需的更多详细信息- 您的环境需要包含环境变量,包含如何执

我是GKE Python的新手。我想使用python脚本删除我的GKE(GoogleKubernetes引擎)集群。 我从googlecloudcontainerpython库中找到了一个APIdelete_cluster()来删除GKE集群。

但我不确定如何通过在python中传递所需的参数来使用该API。谁能给我举个例子解释一下吗

或者在python中是否有其他方法删除GKE集群

提前感谢。

这包含您尝试执行的命令的示例

提供命令成功所需的更多详细信息- 您的环境需要包含环境变量,包含如何执行此操作的说明

一旦您的环境成功通过身份验证,我们就可以像这样运行delete cluster命令-

from google.cloud import container_v1

client = container_v1.ClusterManagerClient()

response = client.delete_cluster(name=projects/<project>/locations/<location>/clusters/<cluster>)
来自google.cloud导入容器
client=container\u v1.ClusterManagerClient()
response=client.delete_cluster(name=projects//locations//clusters/)

首先,您需要为Google Kubernetes引擎配置Python客户端,正如您在共享的链接中所解释的那样。基本上,使用
pip install google cloud container
设置并安装库

如果您在诸如的环境中运行脚本,并且用户具有足够的权限来管理GKE资源(至少具有分配的权限),则客户端库将自动处理来自脚本的必要身份验证,并且以下脚本最有可能工作:

from google.cloud import container_v1

project_id = "YOUR-PROJECT-NAME" #Change me. 
zone = "ZONE-OF-THE-CLUSTER" #Change me.
cluster_id = "NAME-OF-THE-CLUSTER" #Change me.
name = "projects/"+project_id+"/locations/"+zone+"/clusters/"+cluster_id

client = container_v1.ClusterManagerClient()

response = client.delete_cluster(name=name)

print(response)
请注意,根据方法文档,您只需要传递
name
参数。如果出于某种原因,您刚刚获得一个服务帐户的凭据(通常以JSON文件的形式),该帐户有足够的权限删除集群,则您需要修改脚本的客户端,并使用参数以类似于以下方式正确验证客户端:

...
client = container_v1.ClusterManagerClient(credentials=credentials)
...
curl -X GET \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
https://container.googleapis.com/v1/projects/[RPOJECT-NUMBER]/zones/[ZONE-WHERE-THE-CLUSTER-WAS-LOCATED]/operations/operation-[OPERATION-NUMBER]
其中,
credentials
变量指向具有足够权限的服务帐户凭据文件的JSON文件名(以及路径,如果它不在脚本运行的文件夹中)

最后请注意,由
delete\u cluster
方法返回的
response
变量的作用类似于用与长时间运行的操作相对应的
self\u link
属性来解释长时间运行的操作

运行脚本后,可以使用与以下类似的curl命令:

...
client = container_v1.ClusterManagerClient(credentials=credentials)
...
curl -X GET \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
https://container.googleapis.com/v1/projects/[RPOJECT-NUMBER]/zones/[ZONE-WHERE-THE-CLUSTER-WAS-LOCATED]/operations/operation-[OPERATION-NUMBER]
通过检查对该curl命令的响应的
status
字段(发生时可能处于运行状态)。或者,您也可以使用库或任何等效工具来自动执行脚本中长时间运行的操作的检查过程