Mazen Ezzeddine
Mazen Ezzeddine

Reputation: 822

searching for a keyword in all the pods/replicas of a kuberntes deployment

I am running a deployment called mydeployment that manages several pods/replicas for a certain service. I want to search all the service pods/instances/replicas of that deployment for a certain keyword. The command below defaults to one replica and returns the keyword matching in this replica only.

Kubectl logs -f deploy/mydeployment | grep "keyword"

Is it possible to customize the above command to return all the matching keywords out of all instances/pods of the deployment mydeployment? Any hint?

Upvotes: 0

Views: 1025

Answers (1)

Tim
Tim

Reputation: 1471

Save this to a file fetchLogs.sh file, and if you are using Linux box, use sh fetchLogs.sh

#!/bin/sh

podName="key-word-from-pod-name"
keyWord="actual-log-search-keyword"
nameSpace="name-space-where-the-pods-or-running"
echo "Running Script.."
for podName in `kubectl get pods -A -o name | grep -i ${podName} | cut -d'/' -f2`;
do
       echo "searching pod ${podName}"
       kubectl -n ${nameSpace} logs pod/${podName} | grep -i ${keyWord}
done

I used the pods, if you want to use deployment, the idea is same change the kubectl command accordingly.

Upvotes: 1

Related Questions