티스토리 뷰

반응형

문제 1 현재 운영중인 eshop-cart-app Pod의 로그를 Kubernetes built-in logging 아키텍처(예:kubectl logs)에 통합하는 로그 스트리밍 사이드카 컨테이너를 운영하시오

 - busybox 이미지를 사용하여 price라는 이름의 사이드카 컨테이너를 기존 eshop-cart-app에 추가합니다.

 - 새 price 컨테이너는 다음과 같은 command를 실행해야 합니다.

 - /var/log에 마운트 된 볼륨을 사용하여 사이트카 컨테이너에서 로그 파일 cart-app.log를 사용합니다.

 - eshop-cart-app Pod 와 cart-app 컨테이너를 수정하지 마시오.

// eshop-cart-app pod 를 yaml 으로 추출
kubectl get pod eshop-cart-app pod -o yaml > 3-3.yaml

// 저장되는지 확인
vi 3-3.yaml

apiVersion: v1
kind: Pod
metadata:
  name: eshop-cart-app 
spec:
  containers:
  -command:
  	- /bin/sh
    - -c
    - 'i=1;while :;do echo -e "$i: Price: $((RANDOM % 10000 + 1))" >> /var/log/cart-app.log;
       i=$((i+1); sleep 2; done'
 	image: busybox
    name: cart-app
    vlumeMounts:
    - mountPath: /var/log
      name: varlog
   volumes:
   - emptyDir: {}
     name: varlog
     
  // 추가 내용
  apiVersion: v1
kind: Pod
metadata:
  name: eshop-cart-app 
spec:
  containers:
  -command:
  	- /bin/sh
    - -c
    - 'i=1;while :;do echo -e "$i: Price: $((RANDOM % 10000 + 1))" >> /var/log/cart-app.log;
       i=$((i+1); sleep 2; done'
 	image: busybox
    name: cart-app
    vlumeMounts:
    - mountPath: /var/log
      name: varlog
   // 추가
   - name: price
    image: busybox
    args: [/bin/sh, -c, 'tail -n+1 -F /var/log/cart-app.log']
    volumeMounts:
    - name: varlog
      mountPath: /var/log
   volumes:
   - emptyDir: {}
     name: varlog
     
  // 적용하기
  kubectl apply -f 3-3.yaml
  
  // 적용된 내용확인
  kubectl get pods
  kubectl logs eshop-cart-app -c price
반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
링크
글 보관함