我的Pod在其名称后附加了一个动态生成的ID,例如my-app-name-7b587cd75b-dscsr
,每个部署都不同(下次可能是my-app-name-xcgv83bfsd-4kjsf
)。
这使得使用某些命令确实很麻烦,因为每次需要查看日志时,我都必须先列出所有Pod,然后将更改后的名称复制粘贴到logs
命令中:kubectl -n [namespace] logs my-app-name-7b587cd75b-dscsr
。
有没有一种方法,我可以跳过使用窗格名称或名称的一部分,这样做kubectl -n [namespace] logs my-pod-name-~
还是kubectl -n [namespace] logs service/my-pod-name
像port-forward
命令?
我试图grep
在logs
命令内部注入以获取吊舱名称并logs
在单个命令中运行,但是Windows上的Cmder似乎并不支持$()
:kubectl -n [namespace] logs $(kubectl -n my-app-name get pod | grep my-app-name | sed 's/ .*//')
您可以使用Deployment / $ DEPLOYMENT_NAME而不是POD / $ POD_NAME来获取Pod的日志
kubectl logs deployment/$DEPLOY_NAME
# Return snapshot logs from container nginx-1 of a deployment named nginx
kubectl logs deployment/nginx -c nginx-1
kubectl logs --help
将提供更多信息
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句