题目

您必须连接到正确的主机。不这样做可能导致零分。
[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

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐