【发布时间】:2021-02-11 20:19:14
【问题描述】:
我想列出 24 小时内创建的 pod。我没有找到任何 kubectl 命令或任何获取这些命令的东西。谁能帮助我使用 kubectl 命令仅获取过去 24 小时内创建的 pod。
【问题讨论】:
标签: kubernetes devops
我想列出 24 小时内创建的 pod。我没有找到任何 kubectl 命令或任何获取这些命令的东西。谁能帮助我使用 kubectl 命令仅获取过去 24 小时内创建的 pod。
【问题讨论】:
标签: kubernetes devops
不是最漂亮的解决方案,但这应该可以工作(或者如果您想进一步改进命令,请给您一个想法)
kubectl get pods -o go-template --template '{{range .items}}{{.metadata.name}} {{.metadata.creationTimestamp}}{{"\n"}}{{end}}' | awk '$2 > "'$(date -d 'yesterday' -Ins --utc | sed 's/+0000/Z/')'" { print $1 }'
列出所有 pod 名称并过滤 startTime > 为一天的行。
【讨论】:
Error Pod 的一些方法。您可以尝试将这些与上面的命令结合在一起。
要列出过去 24 小时内创建的所有 Pod,您可以使用以下命令:
kubectl get pods --sort-by=.metadata.creationTimestamp | awk 'match($5,/^[0-9]h|^[0-9][0-9]h|^[0-9]m|^[0-9][0-9]m|^[0-9]s|^[0-9][0-9]s/) {print $0}'
如果您还想仅获取错误的 Pod,则可以使用:
kubectl get pods --sort-by=.metadata.creationTimestamp | awk 'match($5,/^[0-9]h|^[0-9][0-9]h|^[0-9]m|^[0-9][0-9]m|^[0-9]s|^[0-9][0-9]s/) {print $0}' | grep -i Error
或者仅列出具有Pending 状态的 Pod:
kubectl get pods --field-selector=status.phase=Pending --sort-by=.metadata.creationTimestamp | awk 'match($5,/^[0-9]h|^[0-9][0-9]h|^[0-9]m|^[0-9][0-9]m|^[0-9]s|^[0-9][0-9]s/) {print $0}'
【讨论】: