首页 > 解决方案 > 定期删除 AKS 部署的运行 pod(作业)

问题描述

我一直在努力弄清楚如何完成以下任务:我想按计划删除 Azure Kubernetes 服务集群上正在运行的 pod,以便它从部署中重新生成。这要求应用程序重新读取存储在共享存储上并与其他应用程序共享的配置文件。

我发现 Kubernetes Jobs可能会很方便地完成此任务,但也有一些但是。我不知道如何选择与我的部署相关的相应 pod,因为它向部署名称添加了随机字符串,即

deployment-name-546fcbf44f-wckh4

使用选择器获取我的 pod 没有成功,因为没有像 LIKE 这样的操作符

kubectl get pods --field-selector metadata.name=deployment-name

未找到资源

标签: kubernetesazure-aks

解决方案


查看官方文档的一种方法是这样的:

pods=$(kubectl get pods --selector=job-name=pi --output=jsonpath='{.items[*].metadata.name}')
echo $pods

您需要修改job-name以匹配您的工作名称

https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/#running-an-example-job


推荐阅读