NEW QUESTION 54
Score:7%
Context
An existing Pod needs to be integrated into the Kubernetes built-in logging architecture (e. g. kubectl logs).
Adding a streaming sidecar container is a good and common way to accomplish this requirement.
Task
Add a sidecar container named sidecar, using the busybox Image, to the existing Pod big-corp-app. The new sidecar container has to run the following command:
/bin/sh -c tail -n+1 -f /va r/log/big-corp-app.log
Use a Volume, mounted at /var/log, to make the log file big-corp-app.log available to the sidecar container.
See the solution below.
Explanation
Solution:
#
kubectl get pod big-corp-app -o yaml
#
apiVersion: v1
kind: Pod
metadata:
name: big-corp-app
spec:
containers:
– name: big-corp-app
image: busybox
args:
– /bin/sh
– -c
– >
i=0;
while true;
do
echo “$(date) INFO $i” >> /var/log/big-corp-app.log;
i=$((i+1));
sleep 1;
done
volumeMounts:
– name: logs
mountPath: /var/log
– name: count-log-1
image: busybox
args: [/bin/sh, -c, ‘tail -n+1 -f /var/log/big-corp-app.log’]
volumeMounts:
– name: logs
mountPath: /var/log
volumes:
– name: logs
emptyDir: {
}
#
kubectl logs big-corp-app -c count-log-1