Kubernetes Engine API 删除 pod

Ted*_*Ted 6 google-cloud-platform kubernetes google-kubernetes-engine terraform-provider-gcp

我需要删除 GCP kubernetes 集群上的 POD。实际上,在 Kubernetes Engine API文档中,我只能找到 for: 的 REST api projects.locations.clusters.nodePools,但找不到 POD 的任何内容。

Mar*_*sch 7

GKE API 用于在基础设施级别管理集群本身。要管理 Kubernetes 资源,您必须使用 Kubernetes API。有各种语言的客户端,当然你也可以直接调用API。

从另一个 Pod 或同一个 Pod 中删除一个 Pod:

PODNAME=ubuntu-xxxxxxxxxx-xxxx
curl https://kubernetes/api/v1/namespaces/default/pods/$PODNAME \
  -X DELETE -k \
  -H "Authorization: Bearer $(cat /var/run/secrets/kubernetes.io/serviceaccount/token)"
Run Code Online (Sandbox Code Playgroud)

从外部,您必须使用公共 Kubernetes API 服务器 URL 和有效令牌。以下是如何使用kubectl

APISERVER=$(kubectl config view --minify -o jsonpath='{.clusters[0].cluster.server}')
TOKEN=$(kubectl get secret $(kubectl get serviceaccount default -o jsonpath='{.secrets[0].name}') -o jsonpath='{.data.token}' | base64 --decode )
Run Code Online (Sandbox Code Playgroud)

以下是有关访问Kubernetes API 服务器的更多官方信息。