gpt4 book ai didi

python-3.x - 如何使用 python 删除 GKE (Google Kubernetes Engine) 集群?

转载 作者:行者123 更新时间:2023-12-02 12:10:50 24 4
gpt4 key购买 nike

我是 GKE-Python 的新手。我想使用 python 脚本删除我的 GKE(Google Kubernetes Engine) 集群。
我找到了一个 API delete_cluster() 来自 谷歌云容器 python 库来删除 GKE 集群。
https://googleapis.dev/python/container/latest/index.html
但是我不确定如何通过在 python 中传递所需的参数来使用该 API。任何人都可以用一个例子来解释我吗?
或者如果有其他方法可以删除python中的GKE集群?
提前致谢。

最佳答案

首先,您需要按照 this section 上的说明为 Google Kubernetes Engine 配置 Python 客户端。您分享的链接。基本上,设置一个virtual environment并使用 pip install google-cloud-container 安装库.
如果您在 Cloud Shell 等环境中运行脚本如果用户具有足够的访问权限来管理 GKE 资源(至少分配了 Kubernetes Engine Cluster Admin 权限),客户端库将自动处理来自脚本的必要身份验证,并且以下脚本很可能会起作用:

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)
请注意,根据 delete_cluster方法文档你只需要通过 name范围。如果由于某种原因,您只是获得了具有足够权限删除集群的服务帐户的凭据(通常以 JSON 文件的形式),则您需要修改脚本的客户端并使用 credentials参数以类似于以下方式正确验证客户端:
...
client = container_v1.ClusterManagerClient(credentials=credentials)
...
credentials变量指向具有提供的足够权限的服务帐户凭据文件的 JSON 文件名(如果它不在运行脚本的文件夹中,则为路径)。
最后注意到 response delete_cluster 返回的变量方法是 Operations class它可以以与解释方式类似的方式监控长时间运行的操作 hereself_link与长时间运行的操作相对应的属性。
运行脚本后,您可以以类似的方式使用 curl 命令:
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]
通过检查 status对该 curl 命令的响应的字段(在它发生时可能处于 RUNNING 状态)。或者您也可以使用 requests库或任何等效程序来自动执行脚本中长时间运行的操作的此检查过程。

关于python-3.x - 如何使用 python 删除 GKE (Google Kubernetes Engine) 集群?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63187588/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com