DevOps/Kubernetes

linux환경에서 k8s의 기동중인 POD 체크 shell script

beomzh 2023. 11. 7. 22:31
728x90
반응형

cloud를 다루지 않는사람들이 POD가 잘 살아있는지 정확하게 파악하기가 어려워 아래와 같은 스크립트를 작성하였다.

 

kubernetes를 이용해 POD의 정보를 일괄 추출해 POD의 정보를 서비스별로 나눠 정상작동중인 POD를 불러오고 txt에 저장하는 스크립트를 작성하였다...

 

아래와 같은 스크립트를  매일 오전에 crontab에 걸어 지난 POD의 상태를 체크해볼예정이다..

##divison.txt
서비스명 서비스코드
서비스명 서비스코드
서비스명 서비스코드
서비스명 서비스코드
ex)a서비스 Acode
## dir선언 후 dir 만들고 있다면 문자 출력
dir=result

if [ ! -d $dir ]
then
	mkdir /home/test/today/$dir
else
	echo "Directory exists"
fi

# 전체 Pods 중 Running 중인 Pods 를 po.txt file 에 담는다.
kubectl get po -A | grep Running > /home/test/today/$dir/po.txt

# namespace별 구분하기
div="/home/test/today/division.txt"
pofile="/home/test/today/result/po.txt

# div에서 서비스별 반복횟수 불러와 계산
lc='cat ${div} | wc -l' 
lc='echo ${lc} +1 |bc'

# 반복문 정의
# div의 서비스명과 서비스코드를 불러오고 code를 필터링해 Pods의 ns/pod/age를 추출
for ((a=1;a<${lc};a++))
do
	svc=`cat ${div} | head -$a |tail -1 |awk '{print $1}'`
	code=`cat ${div} | head -$a |tail -1 |awk '{print $2}'`
	echo "========================================"
	echo " $svc	$code
	echo " NS	POD	AGE
	echo "========================================"
	grep -i $code	${pofile} | awk '{print $1,$2,$6}
done
728x90
반응형