目录
免费获取题库配套 CKA_v1.31_模拟系统
13、使用 sidecar 代理容器日志
题目:
您必须在以下Cluster/Node上完成此考题:
Cluster Master node Worker node
tk8s master node01
.
设置配置环境:
[candidate@node01]$ kubectl config use-context tk8s
.
Context
将一个现有的 Pod 集成到 Kubernetes 的内置日志记录体系结构中(例如 kubectl logs)。
添加 streaming sidecar 容器是实现此要求的一种好方法。
.
Task
使用busybox Image来将名为sidecar的sidecar容器添加到现有的Pod 11-factor-app中。
新的sidecar容器必须运行以下命令:
.
/bin/sh, -c, 'tail -n+1 -f /var/log/11-factor-app.log'
.
使用挂载在/var/log的Volume,使日志文件11-factor-app.log可用于sidecar 容器。
除了添加所需要的volume mount以外,请勿更改现有容器的规格。
开始操作:
1)、切换集群
# 考试时有多套集群环境,以免答题环境相互干扰。
# 所以考试时务必按照题目要求先切换到所对应的集群环境,才是正确答题的前提,非常重要
# 请务必确认现在所处节点为node01,否则无法切换集群而报错
kubectl config use-context tk8s
2)、准备11-factor-appd的yaml文件
生成现有Pod 11-factor-app yaml文件,以便编辑
#查看11-factor-app运行状况
kubectl get pod 11-factor-app
#导出11-factor-app.yaml文件
kubectl get pod 11-factor-app -o yaml > 11-factor-app.yaml
#备份11-factor-app.yaml文件
cp 11-factor-app.yaml 11-factor-app.yaml.bak
3)、删除运行中的Pod 11-factor-app
#删除Pod 11-factor-app
kubectl delete pod 11-factor-app
#检查是否删除成功
kubectl get pod 11-factor-app
4)、官网找模板
官网找sidecar模板,搜索“日志架构”找到“日志架构”页面
点击页面右侧红框1位置标签,找到红框2位置的这个模板
复制模板中三个红框中的内容
5)、编辑导出的yaml文件(一定要按照真实考试场景从官网复制模板再按照题目要求编辑更改)
根据官网模版,我们需要先声明一个EmptyDir储存类型的volume,然后将volume分别挂载到原有容器和新添加sidecar容器的目录中
#编辑导出的yaml文件
vim 11-factor-app.yaml
#下面两行添加到原有应用的volumeMounts:下面
- name: varlog
mountPath: /var/log
#下面为新添加sidecar,紧跟着上面内容就行
- name:sidecar
image: busybox:1.28
args: [/bin/sh, -c, 'tail -n+1 -f /var/log/11-factor-app.log']
volumeMounts:
- name: varlog
mountPath: /var/log
#一下内容添加在原POD最下面的volumes:下面
- name: varlog
emptyDir: {}
CKA模拟系统截图,图中黄色方框位置添加我们从官网模板复制内容,一定要注意按照官网模板的层次对齐格式,保存退出
6)、应用编辑后的yaml文件
#应用更改的yaml文件
kubectl apply -f 11-factor-app.yaml
CKA模拟环境操作截图
7)、验证日志输出
#验证日志输出
kubectl logs 11-factor-app sidecar
CKA模拟环境操作截图
CKA高仿真环境简短视频演示