2025년 1월 14일 화요일

containers/volumeMounts 설정 필드

 volumeMounts 필드의 각 속성들에 대해 상세히 설명해드리겠습니다:

containers:
  volumeMounts:
  - name: app-storage           # volume의 이름
    mountPath: /app/data        # 컨테이너 내부 마운트 경로
    subPath: data              # 볼륨 내부의 하위 경로
    readOnly: false            # 읽기 전용 여부
    mountPropagation: None     # 마운트 전파 정책
  1. name
  • 필수 필드입니다
  • Pod의 volumes 섹션에서 정의된 볼륨의 이름과 일치해야 합니다
  • 이를 통해 어떤 볼륨을 마운트할지 지정합니다
  1. mountPath
  • 필수 필드입니다
  • 볼륨을 마운트할 컨테이너 내부의 절대 경로를 지정합니다
  • 예: /var/log/app/config/data 등
  • 다른 volumeMount와 중첩되지 않아야 합니다
  1. subPath
  • 선택적 필드입니다
  • 볼륨 내의 특정 하위 디렉토리를 마운트하고 싶을 때 사용합니다
  • 전체 볼륨이 아닌 특정 하위 경로만 마운트하므로 다른 마운트와 볼륨을 공유할 수 있습니다
  • 예시:
    volumeMounts:
    - name: shared-data
      mountPath: /app1/data
      subPath: app1
    - name: shared-data
      mountPath: /app2/data
      subPath: app2
    
  1. readOnly
  • 선택적 필드입니다 (기본값: false)
  • true: 읽기 전용으로 마운트
  • false: 읽기/쓰기 모두 가능
  1. mountPropagation
  • 선택적 필드입니다
  • 호스트-컨테이너 간 마운트 전파 방식을 결정합니다
  • 가능한 값:
    • None: 호스트의 후속 마운트가 컨테이너에 표시되지 않음 (기본값)
    • HostToContainer: 호스트의 후속 마운트가 컨테이너에도 표시됨
    • Bidirectional: 호스트와 컨테이너 양방향으로 마운트가 전파됨

사용 예시:

containers:
- name: app
  image: nginx
  volumeMounts:
  # 기본적인 볼륨 마운트
  - name: config-volume
    mountPath: /etc/nginx/conf.d
    
  # 읽기 전용 설정 파일
  - name: ssl-certs
    mountPath: /etc/ssl/certs
    readOnly: true
    
  # 공유 볼륨의 특정 하위 디렉토리 사용
  - name: shared-data
    mountPath: /app/my-data
    subPath: app1/data
    
  # 로그 디렉토리를 호스트와 양방향 공유
  - name: log-volume
    mountPath: /var/log
    mountPropagation: Bidirectional

이러한 설정들을 통해 컨테이너와 볼륨 간의 세밀한 마운트 제어가 가능합니다.

댓글 없음:

댓글 쓰기

구약성서의 구조

공동번역 성경의 구분과 용어로 설명해드리겠습니다. 오경 창세기: 세상과 인류의 시작, 이스라엘 민족의 조상들 탈출기: 이집트 탈출과 십계명 레위기: 예배와 제사 규정 민수기: 광야 생활 신명기: 모세의 마지막 가르침 역사서 ...