1

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

4

1 回答 1

3

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)"

从外部,您必须使用公共 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 服务器的官方信息。

于 2019-08-22T13:39:41.657 回答