van*_*ert 5 bash kubernetes cmder kubectl
我的 pod 有一个动态生成的 ID,附加到它们的名称后,例如 ie my-app-name-7b587cd75b-dscsr,每次部署都不同(下次可能是my-app-name-xcgv83bfsd-4kjsf)。
这使得使用某些命令非常麻烦,因为每次我需要查看日志时,我都必须首先列出所有 pod 并将更改后的名称复制粘贴到logs命令中:kubectl -n [namespace] logs my-app-name-7b587cd75b-dscsr.
有没有办法可以跳过使用 pod 名称或名称的一部分并在命令中执行类似kubectl -n [namespace] logs my-pod-name-~或kubectl -n [namespace] logs service/my-pod-name类似的操作port-forward?
我试图grep在logs命令中注入以获取 pod 名称并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/$POD_NAME
kubectl logs deployment/$DEPLOY_NAME
# Return snapshot logs from container nginx-1 of a deployment named nginx
kubectl logs deployment/nginx -c nginx-1
Run Code Online (Sandbox Code Playgroud)
kubectl logs --help 将提供更多信息
| 归档时间: |
|
| 查看次数: |
3076 次 |
| 最近记录: |