web-dev-qa-db-fra.com

kubectl logs - en continu

kubectl logs <pod-id>

récupère les derniers journaux de mon déploiement - Je travaille sur un bogue et je souhaite connaître les journaux au moment de l'exécution - Comment puis-je obtenir un flux continu de journaux?

edit: question corrigée à la fin.

31
npr
kubectl logs -f <pod-id>

Vous pouvez utiliser l'indicateur -f:

-f, --follow=false: Specify if the logs should be streamed.

http://kubernetes.io/docs/user-guide/kubectl/kubectl_logs/

56
Yu-Ju Hong

kubectl logs --help vous guidera:

Exemple:

# Begin streaming the logs of the Ruby container in pod web-1
kubectl logs -f -c Ruby web-1

Drapeaux:

-f, --follow[=false]: Specify if the logs should be streamed.

Vous pouvez également ajouter --since=10m à partir de cette heure relative.

10
manojlds

attendez que les kubes tournent, puis passez à autre chose ...

k8s_pod=some_pod
kubectl get pods -w $k8s_pod | while read LOGLINE
do
   [[ "${LOGLINE}" == *"Running"* ]] && pkill -P $$ kubectl
done

journaux de queue

for line in $(kubectl get pods | \
  grep $k8s_pod | awk '{print $1}'); do
    kubectl logs -f $line | tee logfile
done

cherche indicateur de réussite

tail logfile | grep successful! 
RESULT=$?
exit $RESULT
1
ddtraveller

J'avais besoin d'accéder aux journaux d'un pod long, et -f a commencé à les diffuser il y a plusieurs jours, ce qui aurait pris des heures pour arriver à l'endroit où je devais voir (juste les dernières minutes).

Il y a un drapeau --since=10m, mais cela n'a pas semblé fonctionner pour moi.

--tail=100, où 100 est le nombre de lignes récentes à afficher.

1
Harsha Goli

Si vous souhaitez obtenir le flux de journaux d'une application multi-pod, vous pouvez utiliser kubetail , exemple:

kubectl get pods

NAME                   READY     STATUS    RESTARTS   AGE
app2-v31-9pbpn         1/1       Running   0          1d
app2-v31-q74wg         1/1       Running   0          1d

kubetail app2

Avec cette commande, kubetail est suivi des journaux du pod app2-v31-9pbpn et app2-v31-q74wg

0
db80