题目

您必须连接到正确的主机。不这样做可能导致零分。
[candidate@base] $ ssh cka000037
Context
您需要将一个传统应用程序集成到 Kubernetes 的日志架构(例如 kubectl logs)中。
实现这个要求的通常方法是添加一个流式传输并置容器。
Task
更新现有的 synergy-leverager Deployment,
将使用 busybox:stable 镜像,且名为 sidecar 的并置容器,添加到现有的 Pod 。
新的并置容器必须运行以下命令:
/bin/sh -c “tail -n+1 -f /var/log/synergy-leverager.log”
使用挂载在 /var/log 的 Volume,使日志文件 synergy-leverager.log 可供并置容器使用。
除了添加所需的卷挂载之外,请勿修改现有容器的规范。

分析:

在这里插入图片描述

关键参考

1、kubernetes.io/zh-cn/docs/–概念–集群管理–日志架构–two-files-counter-pod-streaming-sidecar.yaml
2、获取deployment的yaml
kubectl get deployment synergy-leverager -o yaml > sidecar.yaml
3、
在 dnsPolicy: ClusterFirst 上面添加
的下面,添加如下内容
volumeMounts:

  • name: varlog
    mountPath: /var/log
  • name: sidecar
    image: busybox:stable
    args: [/bin/sh, -c, ‘tail -n+1 -f /var/log/synergy-leverager.log’]
    volumeMounts:
  • name: varlog
    mountPath: /var/log
    2、在 status: 的上面添加如下内容
    volumes:
  • name: varlog
    emptyDir: {}

解题步骤

把deployment yaml复制出来
kubectl get deployment synergy-leverager -o yaml > sidecar.yaml

编辑vim sidecar.yaml
dusPolicy: ClusterFirst上面添加
在这里插入图片描述

在这里插入图片描述
status: 上面添加
在这里插入图片描述
更新kubectl apply -f sidecar.yaml

检验效果

检查pod是否running
kubectl get deployment synergy-leverager
kubectl get pod | grep synergy-leverager

kubectl logs pod name -c sidecar

exit

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐