매니페스트 파일 (Manifest File)

artp·2024년 12월 31일

kubernetes

목록 보기
3/18
post-thumbnail

매니페스트 파일(Manifest File)이란?

쿠버네티스에서는 YAML 파일을 작성하여 리소스를 정의하고 생성합니다. 이러한 YAML 파일을 매니페스트 파일(Manifest File)이라고 부릅니다.

매니페스트 파일의 역할

  • 쿠버네티스 리소스 생성 및 관리:
    • 파드(Pod), 서비스(Service), 볼륨(Volume), 디플로이먼트(Deployment) 등 다양한 리소스를 정의합니다.
  • 리소스의 원하는 상태를 정의:
    • 매니페스트 파일은 "어떤 리소스가 어떤 상태로 존재해야 하는지"를 표현(정의)합니다.
    • 쿠버네티스는 이 파일을 기준으로 리소스가 정의된 상태를 유지하도록 관리합니다.

매니페스트 파일의 특징

  • YAML 형식 사용:
    • 읽기 쉽고 가독성이 높아, 복잡한 설정도 직관적으로 표현 가능합니다.
  • 버전 관리 가능:
    • Git과 같은 도구를 사용해 매니페스트 파일의 변경 이력을 관리할 수 있습니다.
  • 반복적인 작업 간소화:
    • 같은 파일을 여러 환경에서 재사용 가능하며, 수정된 매니페스트 파일을 다시 적용하여 리소스를 업데이트할 수 있습니다.

매니페스트 파일 vs Dockerfile

특징매니페스트 파일 (쿠버네티스)Dockerfile
주요 목적쿠버네티스 리소스(파드, 서비스 등)를 정의하고 관리컨테이너 이미지를 생성하기 위한 설정 파일
사용 대상쿠버네티스 클러스터Docker 컨테이너
포맷YAML텍스트 파일
역할클러스터 내부에서 리소스 상태를 정의컨테이너 이미지를 빌드하는 지침 제공
버전 관리가능 (Git 등으로 관리)가능

매니페스트 파일 예시

nginx-pod.yaml

apiVersion: v1
kind: Pod
metadata:
  name: nginx-pod
spec:
  containers:
    - name: nginx-container
      image: nginx
  • apiVersion: 리소스를 정의할 때 사용할 API 버전.
  • kind: 정의할 리소스의 종류 (Pod, Service, Deployment 등).
  • metadata: 리소스의 이름, 라벨 등 정보를 담음.
  • spec: 리소스의 상세 설정.

매니페스트 파일의 장점

  1. 자동화 및 일관성: YAML 파일을 통해 정의된 설정을 기반으로 리소스를 자동 생성.
  2. 복제 및 배포 용이: 동일한 설정 파일을 여러 환경(개발, 스테이징, 프로덕션)에서 재사용 가능.
  3. 가시성 및 관리 용이: YAML 파일을 통해 리소스 구성을 명확히 이해하고 쉽게 관리.

정리

  • 매니페스트 파일쿠버네티스의 구성 요소를 설정하고 관리하는 핵심 도구입니다.
  • 즉, 매니페스트 파일은 쿠버네티스의 리소스를 정의하고 관리하기 위한 YAML 파일로, Docker의 Dockerfile처럼 핵심적인 역할을 합니다. 이를 통해 클러스터의 상태를 효율적으로 관리할 수 있습니다.
profile
donggyun_ee

0개의 댓글