kubernetes - 定期删除 AKS 部署的运行 pod(作业)
问题描述
我一直在努力弄清楚如何完成以下任务:我想按计划删除 Azure Kubernetes 服务集群上正在运行的 pod,以便它从部署中重新生成。这要求应用程序重新读取存储在共享存储上并与其他应用程序共享的配置文件。
我发现 Kubernetes Jobs可能会很方便地完成此任务,但也有一些但是。我不知道如何选择与我的部署相关的相应 pod,因为它向部署名称添加了随机字符串,即
deployment-name-546fcbf44f-wckh4
使用选择器获取我的 pod 没有成功,因为没有像 LIKE 这样的操作符
kubectl get pods --field-selector metadata.name=deployment-name
未找到资源
解决方案
查看官方文档的一种方法是这样的:
pods=$(kubectl get pods --selector=job-name=pi --output=jsonpath='{.items[*].metadata.name}')
echo $pods
您需要修改job-name
以匹配您的工作名称
推荐阅读
- angular - Angular 2+ 等待订阅完成以更新/访问变量
- java - 当我们在 firebase 中引用一个不存在的孩子时会发生什么?
- javascript - 我如何保持由最大宽度,最大高度构造的 div 的形状?
- python - python 2.x 中的这个脚本在一次运行中工作并制作了多个绘图。现在,在 python 3.x 中,它只制作一个图
- mongodb - 检查范围内的子文档是否符合条件
- vb.net - 如何围绕图片框网格“移动”图片框图像?
- python - int(input()) 错误 - NameError: name '...' is not defined
- sql - 合并通过“UNION ALL”分区在一起的 2 个表
- javascript - 未处理的错误 TypeError: snapshot.val is not a function when using forEach Firebase Cloud Functions
- python - 在 Python 中展平嵌套的 JSON 层次结构