Kubernetes Engine API 删除 pod

Kubernetes Engine API delete pod

我需要删除我的 GCP kubernetes 集群上的 POD。实际上在 Kubernetes Engine API documentation 中我只能找到 REST api 的:projects.locations.clusters.nodePools,但找不到 PODs.

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

从另一个或同一个 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)"

从外部,您必须使用 public 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 )

这里有更多关于访问 Kubernetes API server 的官方信息。