如何列出Kubernetes最近删除的豆荚?

Bar*_*cki 21 kubernetes

有没有办法获得有关已删除的Kubernetes pod的一些细节(停止,替换为新版本).

我正在调查bug.我有我的pod名称的日志.该pod不再存在,它被另一个(具有不同的配置)替换.新pod与旧版本一样位于同一命名空间,复制控制器和服务中.

像这样的命令

kubectl  get pods
kubectl  get pod <pod-name> 
Run Code Online (Sandbox Code Playgroud)

仅适用于当前的pod(实时或已停止).

我怎样才能获得有关旧豆荚的更多细节?我想看看

  1. 什么时候创建它们
  2. 创建时它们具有哪些环境变量
  3. 为什么以及什么时候停止他们

iom*_*omv 7

到今天为止,kubectl get pods -a它已被弃用,因此您无法删除已删除的窗格。

但是,您可以执行以下操作,以获取最近删除的pod名称的列表-除非您更改了ttlfor kubernetes事件,否则最多可以运行1小时:

kubectl get event -o custom-columns=NAME:.metadata.name | cut -d "." -f1

然后,如果已解决问题,则可以调查日志记录管道中的其他问题。


San*_*ngh 5

据我所知,一旦 pod 被删除,您可能无法获得 pod 的详细信息。我可以知道用例是什么吗?

例子:

  1. 如果使用 - kubectl run busybox-test-pod-status --image=busybox --restart=Never -- /bin/false 创建一个 pod,你将有一个状态终止的 pod:error
  2. 如果使用 - kubectl run busybox-test-pod-status --image=busybox --restart=Never -- /bin/true 创建 pod,您将拥有状态为已终止的 pod:Complted
  3. 如果 pod 中的容器重新启动:pod 将处于活动状态,您可以使用 kubectl logs --container < container_name > --previous=true < pod_name > 获取前一个容器(仅前一个容器)的日志
  4. 如果您升级您的应用程序并且您正在使用部署创建 pod。如果更新部署“说一个新形象”。pod 将被终止并创建新的 pod。您可以从 depoyment yaml 获取 pod 详细信息。如果您想获取之前 pod 的详细信息,您可以查看之前部署 yaml 的“spec”部分