【发布时间】:2019-12-01 08:12:41
【问题描述】:
我的 pod 有一个动态生成的 ID 附加到它们的名称后,例如 my-app-name-7b587cd75b-dscsr,这在每次部署时都不同(下一次可能是 my-app-name-xcgv83bfsd-4kjsf)。
这使得使用某些命令非常麻烦,因为每次我需要查看日志时,我都必须先列出所有 pod,然后将更改后的名称复制粘贴到 logs 命令:kubectl -n [namespace] logs my-app-name-7b587cd75b-dscsr。
有没有一种方法可以让我跳过使用 pod 名称或名称的一部分,而像在 port-forward 命令中那样执行 kubectl -n [namespace] logs my-pod-name-~ 或 kubectl -n [namespace] logs service/my-pod-name 之类的操作?
我尝试在logs 命令中注入grep 以获取pod 名称并在单个命令中运行logs,但是Windows 上的Cmder 似乎不支持@987654333 @:kubectl -n [namespace] logs $(kubectl -n my-app-name get pod | grep my-app-name | sed 's/ .*//')
【问题讨论】:
标签: bash kubernetes kubectl cmder