运行kubectl日志可以看到一个Kubernetes容器的stderr/stdout。
我如何获得一组pod的聚合stderr/stdout,最好是由某个复制控制器创建的那些?
运行kubectl日志可以看到一个Kubernetes容器的stderr/stdout。
我如何获得一组pod的聚合stderr/stdout,最好是由某个复制控制器创建的那些?
当前回答
您可以根据需要选择以下两种方式:
Kubectl -n my_namespace记录部署/my_deployment——all-containers=true——10m以来的日志 $(kubectl get pods -n "my_namespace" | sed 1d | cut -d" " -f1);Do kubectl logs $i -n "my_namespace" "app_name" | grep -i "filter_string you want to";完成
其他回答
我使用这个命令。
kubectl -n <namespace> logs -f deployment/<app-name> --all-containers=true --since=10m
我创建了一个名为kubetail的小bash脚本来实现这一点。例如,跟踪名为“app1”的pod的所有日志,你可以这样做:
kubetail app1
你可以在这里找到脚本。
在本例中,当Pod中定义了多个container时,可以替换<namespace>和<app-name>来获取日志。
kubectl -n <namespace> logs -f deployment/<app-name> \
--all-containers=true --since=10m
您可以根据需要选择以下两种方式:
Kubectl -n my_namespace记录部署/my_deployment——all-containers=true——10m以来的日志 $(kubectl get pods -n "my_namespace" | sed 1d | cut -d" " -f1);Do kubectl logs $i -n "my_namespace" "app_name" | grep -i "filter_string you want to";完成
不确定这是否是一个新事物,但随着部署,可以这样做:
kubectl logs deployment/app1