728x90
반응형
SMALL

2024/03/14 4

Packer Part. 4 (Data Source)

Data Source Terraform에서 알던 Data Source와 정확히 일치한다. 그래서 바로 예제 코드를 실행해보면서 어떻게 동작하는지 보자. versions.pkr.hcl packer { required_version = "~> 1.7" required_plugins { amazon = { version = "~> 1.0" source = "github.com/hashicorp/amazon" } } } sources.pkr.hcl 여기서 data 블록이 Data Source이다. Ubuntu AMI를 Data Source로 가져오는 방식을 취했다. 이 방법의 이점은 source가 많아지는데 같은 Ubuntu AMI를 사용할 때 중복 코드를 제거해줄 수 있겠다. data "amazon-ami" ..

Packer Part. 3 (Provisioner)

Provisioner Provisioner는 머신 이미지 내부에 필요한 설정이나 소프트웨어를 설치할 때 사용한다. 예를 들면 필요 패키지 설치, 사용자 생성 등 이런 머신 이미지 내 필요한 작업을 Provisioner를 통해서 할 수 있다. 그리고 이 Provisioner의 종류가 굉장히 많다. 문서를 참조하면 더 많은 정보를 알 수 있다. 그럼 직접 사용해보자. versions.pkr.hcl 각 버전 정보들을 기입한 파일이다. 특이 사항은 없다. packer { required_version = "~> 1.7" required_plugins { amazon = { version = "~> 1.0" source = "github.com/hashicorp/amazon" } } } sources.pkr.hc..

Packer Part. 2 (Builder)

Builder Packer에서 Builder는 어떤 이미지를 만들것이냐?에 대한 물음이다. 예를 들어 Amazon EBS에 대한 이미지를 만들고 싶다면 Builder는 Amazon EBS가 된다. 그래서 Builder에 대해 간략하게 알아보자. Null Builder null 빌더는 말 그대로 아무것도 만들어내지 않겠다는 의미이다. 이걸 그럼 왜쓰냐? 일반적으로 디버깅이 필요할 때 사용한다고 한다. (공식문서 참조) 우리도 이 Null builder로 각종 테스트를 해보자. versions.pkr.hcl packer { required_version = "~> 1.7" required_plugins { amazon = { version = "~> 1.0" source = "github.com/hashic..

Packer Part. 1

Packer hashicorp에서 제공하는 Packer라는 도구를 사용해보자. 우선 Packer는 멀티 플랫폼 이미지 빌드 도구이다. 예를 들면 AMI, Docker 등 여러 가상 머신위에 올리기 위해 사용되는 머신 이미지를 HCL 문법으로 만들어 낼 수 있다. 간단하게 EBS가 내재된 AMI를 만들어보는 예제를 통해 시작해보자. main.pkr.hcl packer { required_version = "~> 1.7" required_plugins { amazon = { version = "~> 1.0" source = "github.com/hashicorp/amazon" } } } source "amazon-ebs" "ubuntu" { ami_name = "cwchoiit-packer" instance..

728x90
반응형
LIST