0
点赞
收藏
分享

微信扫一扫

k8s学习-CKA真题-sidecar代理


目录

  • ​​题目​​
  • ​​分析​​
  • ​​命令​​
  • ​​环境搭建​​
  • ​​解题​​
  • ​​结果​​
  • ​​参考​​

题目

k8s学习-CKA真题-sidecar代理_kubernetes

分析

添加一个名为busybox且镜像为busybox的sidecar到一个已经存在的名为legacy-app的Pod上,这个sidecar的启动命令为

/bin/sh, -c, 'tail -n+1 -f /var/log/legacy-app.log'

并且这个sidecar和原有的镜像挂载一个名为logs的volume,挂载的目录为/var/log/

命令

环境搭建

legacy-app.yaml

apiVersion: v1
kind: Pod
metadata:
name: legacy-app
spec:
containers:
- name: count
image: busybox
args:
- /bin/sh
- -c
- >
i=0;
mkdir -p /var/log && touch /var/log/legacy-app.log;
while true;
do
echo "$(date) INFO $i" >> /var/log/legacy-app.log;
i=$((i+1));
sleep 1;
done

kubectl create -f legacy-app.yaml

解题

添加sidecar和volumes
sidecar.yaml

apiVersion: v1
kind: Pod
metadata:
name: legacy-app
spec:
containers:
- name: count
image: busybox
args:
- /bin/sh
- -c
- >
i=0;
mkdir -p /var/log && touch /var/log/legacy-app.log;
while true;
do
echo "$(date) INFO $i" >> /var/log/legacy-ap.log;
i=$((i+1));
sleep 1;
done
volumeMounts:
- name: logs
mountPath: /var/log
- name: busybox
image: busybox
args: [/bin/sh, -c, 'tail -n+1 -f /var/log/legacy-app.log']
volumeMounts:
- name: logs
mountPath: /var/log
volumes:
- name: logs
emptyDir: {}

命令

kubectl  delete po legacy-app
kubectl create -f sidecar.yaml

结果校验

kubectl logs legacy-app busybox

结果

k8s学习-CKA真题-sidecar代理_ide_02


总结:通过sidecar的方式,在Pod中起了一个容器busybox,在不影响legacy-app容器的情况下,读出了日志文件的内容,输出到标准输出。

参考

​​日志架构​​


举报

相关推荐

0 条评论