EKS Volume Mount Pod Logs

Hoju·2022년 8월 25일
0
post-custom-banner

💡 예를 들어 문제에서 주는 애플리케이션 파일이 /var/log/skills.log로 Pod에 log가 저장된다고 했을 때 Deployment.yaml 파일을 아래와 같이 구성해야합니다.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: front-deployment
  namespace: wsi-skills-namespace
  labels:
    app: front-deployment
spec:
  replicas: 2
  selector:
    matchLabels:
      app: front-deployment
  template:
    metadata:
      labels:
        app: front-deployment
    spec:
      affinity:
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
            - matchExpressions:
              - key: worker1 #Node Key
                operator: In
                values:
                - front #Node Value
      containers:
      - name: helloct
        image: ACCOUNT_ID.dkr.ecr.ap-northeast-2.amazonaws.com/wsi-ecr-repo:latest
        ports:
        - containerPort: 80
				//VolumeMount 부분이 중요합니다
        volumeMounts:
          - name: logs
            mountPath: /var/log/ 
      volumes:
        - name: logs
          hostPath:
            path: /var/log/ #Host 디렉터리 위치
            type: Directory
  • 그런 다음 Log를 Fluted 또는 Flute bit으로 Logging을 구성할 때는 꼭 해당 Log Path로 지정을 해줘야합니다. 즉, 아래와 같이 설정하면 됩니다.

Type

Directory주어진 경로에 디렉터리가 있어야 함
File주어진 경로에 파일이 있어야 함
Socket주어진 경로에 UNIX 소캣이 있어야 함
CharDevice주어진 경로에 문자 디바이스가 있어야 함
DirectoryOrCreate만약 주어진 경로에 아무것도 없다면, 필요에 따라 Kubelet이 가지고 있는 동일한 그룹과 소유권, 권한을 0755로 설정한 빈 디렉터리를 생성한다.
CharDevice주어진 경로에 문자 디바이스가 있어야 함
BlockDevice주어진 경로에 블록 디바이스가 있어야 함
없음빈 문자열 (기본값)은 이전 버전과의 호환성을 위한 것으로, hostPath 볼륨은 마운트 하기 전에 아무런 검사도 수행되지 않는다.
profile
Devops가 되고 싶은 청소년
post-custom-banner

0개의 댓글