Skaffold 开发流日志由 helm hooks 创建

问题描述

我想在使用 skaffold dev 时查看安装前/安装后 helm 钩子的输出,但这似乎不起作用。

skaffold 使用哪些过滤器来获取日志拖尾的所有 pod?有没有办法通过应用一些标签(例如 skaffold.dev/run-id: static)来强制 skaffold 拿起钩子?

背景

使用本地 docker 进行开发,映像构建速度非常快,因此对于某些用例,无需使用文件同步和内部监视文件的特殊开发模式容器映像。

有这个功能请求:https://github.com/GoogleContainerTools/skaffold/issues/1441,但这是为了给 skaffold 本身添加钩子。

由 helm hooks 创建的 pod 不会被移除 (https://github.com/GoogleContainerTools/skaffold/issues/2876),但这是 helm delete 的预期行为。

解决方法

感谢@acristu 提出问题。脚手架开发在这里。 目前,skaffold 不知道部署在 pre 和 post 舵钩中的 pod。 原因是,我们不解析这些钩子中的清单,因此无法转换它们以添加所需的标签 skaffold.dev/run-id

目前无法强制 skaffold 从这些 pods/containers 中提取日志

也就是说,我们有一个待处理的功能请求,需要扩展当前的日志配置以包含 resourceTyperesourceName 之类的 portForward 部分

portForward:    #   describes user defined resources to port-forward.
- resourceType: #   Kubernetes type that should be port forwarded.           
  resourceName:

在 skaffold 中支持这一点是个好主意。