备战CKA每日一题——第1天
2020-03-09 本文已影响0人
小E的私房菜
第一题:统计pod错误日志:
题目:监控Pod名称为kual00201的日志,并提取所有日志行,将它们写入
/opt/KULM00201/foobar。
解题思路:
本题考的是kubectl logs操作指令以及grep过滤器使方式,logs具体执行如下:
kubectl logs [-f] [-p] (POD | TYPE/NAME) [-c CONTAINER]
具体可参考:https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#logs
解题步骤:
- 创建/opt/KULM00201/kual00201:
sudo mkdir -p /opt/KULM00201
sudo touch /opt/KULM00201/kual00201
sudo kubectl logs kual00201-dd55cdf94-6j58k -n ns-ehj > /opt/KULM00201/kual00201
扩展题:监控 foobar Pod 的日志,提取 pod 相应的行'error'写入到/logs 文件中
sudo kubectl logs kual00201-dd55cdf94-6j58k -n ns-ehj | grep 'error' > /logs
Logs其他使用方法:
- 查看名称为nginx的pod下所有container的log:
sudo kubectl logs nginx --all-containers=true -n ns-ehj
- 查看名称为nginx的pod下label为app=nginx所有container的log:
sudo kubectl logs nginx -lapp=nginx --all-containers=true
- 查看后20行的log:
sudo kubectl logs nginx --tail=20 -n ns-ehj
- 查看最后一小时的日志:
sudo kubectl logs kual00201-dd55cdf94-6h2m8 --since=1h -n ns-ehj
- 查看deployment kual00201所有日志
sudo kubectl logs deployment/kual00201 -n ns-ehj