[CKA]十五、添加 Sidecar 容器并输出⽇志

15、添加 Sidecar 容器并输出⽇志

1. 考题内容:

在这里插入图片描述

2. 答题思路:

查看运行的11-factor-app名字的pod并生成yaml文件
删除正在运行的11-factor-app名字的pod
添加题目要求的sidecar容器和存储卷,并挂载在两个容器中
重新运行yaml文件创建pod
修改yaml文件是注意空格和位置

3. 官网地址:

https://kubernetes.io/zh-cn/docs/concepts/cluster-administration/logging/

4. 考题答案:

切换环境
kubectl config use-context k8s

# 1).导出11-factor-app的yaml文件
kubectl get pod 11-factor-app -o yaml > sidecar.yaml

# 2).备份sidecar.yaml
cp sidecar.yaml sidecar_bak.yaml

# 3).删除运行的11-factor-app
kubectl delete -f sidecar.yaml

# 4).编辑sidecar.yaml添加以下信息
	- 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: {}

# 5).重新创建11-factor-app
kubectl apply -f sidecar.yaml

真实考题示例

apiVersion: v1
kind: Pod
metadata:
  annotations:
    kubectl.kubernetes.io/last-applied-configuration:
	  ......
  creationTimestamp:
  name: legacy-app
  namespace: default
  resourceVersion: "4567"
  uid: ......
spec:
  containers:
  - env:
    - name: LOG_FILENAME
	  value: /var/log/legacy-app
	image: 
	imagePullPolicy: Always
	name: monitor
	resources: {}
    terminationMessagePath: /dev/termination-1og
	terminationMessagePolicy: File
	volumeMounts:
    - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
	  name: kube-api-access-2v2fg
      read0nly: true
	- 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
  dnsPolicy: ClusterFirst
  enableServiceLinks: true
  nodeName: k8s-node2
  preemptionPolicy: PreemptLowerPriority
  priority: 0
  restartPolicy: Always
  schedulerName: default-scheduler
  securityContext: {}
  serviceAccount: default
  serviceAccountName: default
  terminationGracePeriodSeconds: 30
  tolerations:
  - effect: NoExecute
    key: node.kubernetes.io/not-ready
    operator: Exists
    tolerationSeconds: 300
  - effect: NoExecute
    key: node.kubernetes.io/unreachable
    operator: Exists
    tolerationSeconds: 300	  
  volumes:
  - name: kube-api-access-2vzfg
    projected:
	  defaultMode: 420
	  sources:
	  - serviceAccountToken:
	      expirationSeconds: 3607
		  path: token
	  - configMap:
	      items:
		  - key: ca.crt
		    path: ca.crt
	      name: kube-root-ca.crt
	  - downwardAPI:
	      items:
		  - fieldRef:
		      apiVersion: v1
			  fieldPath: metadata.namespace
			path: namespace
  - name: varlog
    emptyDir: {}
status:
......

5. 验证:

# 1).查看11-factor-app 的容器数量是否是2个
kubectl get po 11-factor-app

# 2).查看11-factor-app 的日志文件
kubectl logs 11-factor-app -c sidecar
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值