前言

因为pod副本较多,每个pod都有自己产生的日志。在没搭建日志系统前,先写个脚本循环进入pod查日志,避免一个一个的查。


一、k8s环境循环访问容器日志的shell脚本

“控制器名称” 处要替换实际的控制器名称

例一:
#!/bin/sh

if  [ ! -n "$1" ] || [ ! -n "$2" ] ;then
    echo "Pls input 2 param , grep -i [keywork] -C [rows]......"
    exit 1
fi

for i in $(kubectl get pod | awk '$1 ~ /pod的关键字/ {print $1}')
do
    echo -e  "\n\033[31m~~~~~~~~~~~~~~~~~~~~$i~~~~~~~~~~~~~~~~~~~~\033[0m\n"
    kubectl exec -it $i  -- grep --color=auto -i  "$1"  -C "$2" logs/service.log
done

例二:
#!/bin/sh

if  [ ! -n "$1" ] || [ ! -n "$2" ] ;then
    echo "Pls input 2 param , grep -i [keywork] -C [rows]......"
    exit 1
fi
time=$(date "+%Y-%m-%d")

for i in $(kubectl get pod |awk '$1 ~ /pod的关键字/ {print $1}')
do
    echo -e  "\n\033[31m~~~~~~~~~~~~~~~~~~~~$i~~~~~~~~~~~~~~~~~~~~\033[0m\n"
    kubectl exec -it $i  -- find /app/logs/$time  -name "*.log"  -exec grep --color=auto -i "$1" -C "$2" {} \;
done

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐