logo头像

老陕小张学技术接地气

题目15:Sidecar代理

题目15:Sidecar代理

设置配置环境kubectl config use-context k8s

将一个现有的 Pod 集成到 Kubernetes 的内置日志记录体系结构中(例如 kubectl logs)。添加 streaming sidecar 容器是实现此要求的一种好方法。

使用busybox Image来将名为sidecar的sidecar容器添加到现有的Pod 11-factor-app上,新的sidecar容器必须运行以下命令:
/bin/sh -c tail -n+1 -f /var/log/11-factor-app.log
使用volume挂载/var/log/目录,确保sidecar能访问/var/log/11-factor-app.log文件

中文参考地址:日志架构 | Kubernetes

英文参考地址:日志架构 | Kubernetes

1、切换答题环境(考试环境有多个,每道题要在对应的环境中作答)

kubectl config use-context k8s

2、编辑yaml文件

vi factor-app.yaml
 
apiVersion: v1
kind: Pod
metadata:
  name: 11-factor-app
spec:
  containers:
  - name: count
    image: busybox
    args:
    - /bin/sh
    - -c
    - >
      i=0;
      while true;
      do
        echo "$i: $(date)" >> /var/log/11-factor-app.log;
        i=$((i+1));
        sleep 1;
      done      
    volumeMounts:
    - name: varlog
      mountPath: /var/log
  - name: sidecar
    image: busybox
    args: [/bin/sh, -c, 'tail -n+1 -f /var/log/11-factor-app.log']
    volumeMounts:
    - name: varlog
      mountPath: /var/log
  volumes:
  - name: varlog
    emptyDir: {}

3、删除原pod,创建新pod

kubectl delete pod 11-factor-app
kubectl apply -f factor-app.yaml
支付宝打赏 微信打赏

赞赏是不耍流氓的鼓励

-->