패커(Packer)

개요

  • 하나의 설정 소스로부터 여러 플랫폼을 지원하는 머신/컨테이너 이미지를 만드는 도구이다.

구성

  • 이미지 : 머신의 특정한 상태를 그대로 저장하고, 나중에 재사용 가능하도록 준비해둔것

    • 한계
      • 사용중인 가상머신을 그대로 저장하기 때문에 구성하는 과정을 알 수 없다.
      • 현재상태를 구현 하기 힘들다.
      • 최신상태를 저장한 이미지를 만들어 관리해야하기 때문에 비용이 비효율 적이다.
    • 대안
      • 비이스 이미지를 기반으로 프로비저너(Provisioner)를 통해 가성머신에 패키지 설치와 환경설정 작업 진행
      • 프로비저닝(Provisioning) 이 끝난 상태를 빌더(Builder)를 통해서 특정 플랫폼에서 사용 가능한 이미지로 저장
      • 최종 결과물을 저장하는 방식이 아닌, 이미지 생성과정에 대한 모든 정보를 코드로 관리한다.
      • 다양한 플랫폼에서 유사한 이미지를 만들어 사용하는것도 가능하다.
  • 빌더(Builder) : 이미지를 생성하는 작업

    • 지원 서비스 : AWS IAM, Google Compute Engine, Open Stack, Docker ..
  • 프로비저너 (Provisioner) : 이미지를 생성 할때 사용하는 빌드 도구

    • 역할
      • 이미지를 원하는 상태로 만들 수 있다.
    • 지원 서비스 : 원격 셀(Remote Shell), 로컬 셀(Local Shell), 파일 업로드(File Upload), 파워 셀(Power Shell), 윈도우 셀(Window Shell), 엔서블(Ansibie), 셰프(Chef), 퍼핏(Puppet)

파일 기본 포멧

{
    "builders": [{
        // ...
    }],
    "provisioners": [{
        // ...
    }]
}

특징

  • 기본 포멧 에서 볼 수 있듯이 빌더(Builder), 프로비저너(Provisioner) 값을 다수로 설정 할 수 있습니다.

설치

WINDOWS 10

  • 다운로드
    https://releases.hashicorp.com/packer/
  • 압축을 풀어 아래 폴더를 만들고 packer.exe를 위치시킨다.
    C:\packer
  • 환경변수에서 [시스템 변수]-[Path] 에 C:\packer 추가시킨다.

+ Recent posts