ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Packer 용어 정리
    IaC/Packer 2021. 3. 26. 22:21
    반응형

    이번 장에서는 Packer 관련 용어들을 정리한다. Packer 관련 전반적으로 사용하는 용어들이니까 한 번쯤은 정리해볼 필요가 있다. 하지만 매우 간단하니까 쭉 훑는 느낌으로 공부해보자.

     

    이 장을 진행하더라도 알쏭달쏭한 용어들이 있을 것이다. 하지만 추후 진행되는 장에서 Packer를 함께 사용하고 익혀나가다 보면 자연스럽게 용어들이 익혀질 것이니 걱정하지 말라.

    Artifact

    Artifact는 단일 Build의 결과물이며, 보통 머신 이미지를 나타내는 ID 혹은 File 세트이다. 모든 Builder들은 한 개의 Artifact를 생성한다. 예를 들어 Amazon EC2 Builder의 경우, 결과물인 Artifact는 "AMI ID(리전 당 1개) 세트"이다. VMware Builder의 경우엔, 생성된 가상 머신을 구성하는 파일의 디렉토리가 Artifact가 된다.

    Build

    Build는 단일 플랫폼에서 이미지를 생성하는 단일 작업이라고 볼 수 있다. Packer는 여러 개의 Build를 병렬적으로 실행할 수 있다. 즉, 단일 플랫폼에서 여러 개의 이미지를 동시에 생성할 수 있으며, 여러 플랫폼에서 각 이미지들을 동시에 생성할 수 있다.

    Builder

    Builder는 단일 플랫폼에서 머신 이미지를 생성할 수 있는 Packer의 구성 요소이다. Builder는 몇몇 설정을 읽고, 그것을 머신 이미지를 생성하고 실행하는데 사용한다. Builder는 실제 결과 이미지를 생성하기 위해서, Build 작업의 일부로써 호출된다. Builder의 대표적인 예는 VirtualBox, VMware, Amazon EC2이다.

    Command(=명령어)

    PackerCommand Line Interface Tool에 속한다. 즉, 명령어를 통해서 여러 작업을 수행할 수 있다. Packer가 제공하는 명령어는 다음과 같다.

     

    • init - Packer Plugin을 설치
    • build - 머신 이미지를 생성
    • console - Packer variable에 대해 테스트하는데 쓰임
    • fix - 버전 호환성을 맞춰줌
    • fmt - 표준 문법과 스타일로 맞춰줌.
    • inspect - 템플릿에 정의된 다양한 구성요소를 출력함.
    • validate - 설정/문법 확인
    • hcl2_upgrade - .json 파일을 .hcl 파일로 변경

    보통 많이 쓰는 명령어는 Template의 설정이나 문법에 이상이 없는지 확인하는 validate 그리고 실제 이미지를 만들어내는 build가 있다.

    Data Source

    Data SourcePakcer의 구성요소로써, Packer 밖에서 정의된 데이터를 가져와서 Template 안에서 사용한다. 예를 들어 amazon-ami, amazon-secretsmanager가 있다.

    Post Processor

    Packer의 구성 요소 중 하나로, 새로운 Artifact를 만들기 위해서 Builder 혹은 다른 post-proceesor의 결과를 가져오고 처리한다. 대표적인 post-processor의 예는 Artifact들을 압축하기 위한 압축, Artifact를 업로드 하는 것들이 있다.

    Provisioner

    Packer의 구성 요소 중 하나로, 머신 이미지가 만들어지기 전에, 머신을 실행하여, 소프트웨어 설치 및 설정을 진행한다. 구성하는 머신 이미지에 대해서 유용한 소프트웨어를 설치하는데 필수적인 작업이다. 대표적인 Provisoner의 예는 shell script, Chef, Ansible 등이 있다.

    Template

    TemplatePacker의 구성 요소로써, JSON(.json) 파일 혹은 HCL(.pkr.hcl) 파일로 만들어지며, 하나 이상의 Build가 설정된다. PackerTemplate을 읽을 수 있으며, 해당 정보를 이용하여 여러 머신 이미지를 병렬적으로 생성한다.

    참고

    'IaC > Packer' 카테고리의 다른 글

    pkenv 설치하기  (0) 2021.10.23
    Packer 설치하기  (0) 2021.10.18
Designed by Tistory.