본문 바로가기

리눅스

[draft] 우분투에서 Packer를 설치하고 CentOS 7 이미지를 생성하는 방법

우분투에서 Packer를 설치하고 CentOS 7 이미지를 생성하는 방법

Packer 설치

ATP 패키지 매니저로 설치

sudo apt-get update
sudo apt-get install packer

바이너리 파일로 최신 버전을 설치 Packer의 공식 다운로드 페이지에서 바이너리를 다운로드

wget https://releases.hashicorp.com/packer/1.7.4/packer_1.7.4_linux_amd64.zip

다운로드한 압축 파일 해제

unzip packer_1.7.4_linux_amd64.zip

Packer 실행 파일 이동

sudo mv packer /usr/local/bin/

Packer 버전 정보 확인

packer --version

CentOS 7 이미지 생성

CentOS 7 이미지를 생성하는 템플릿 생성

vim centos7.json
{
  "variables": {
    "ami_name": "packer-centos7"
  },
  "builders": [
    {
      "type": "amazon-ebs",
      "region": "us-east-1",
      "ami_name": "{{user `ami_name`}}",
      "instance_type": "t2.micro",
      "ssh_username": "ec2-user",
      "ssh_port": 22,
      "ssh_wait_timeout": "10000s"
    }
  ],
  "provisioners": [
    {
      "type": "shell",
      "inline": [
        "sudo yum install -y httpd",  // Apache 패키지 이름을 수정
        "sudo systemctl enable httpd"
      ]
    },
    {
      "type": "shell",
      "execute_command": "sudo {{.Path}}",
      "script": "scripts/base.sh"
    }
  ]
}

템플릿 빌드

packer build centos7.json
  • CentOS 7 이미지를 생성하고 Amazon S3 버킷에 저장합니다.

생성된 이미지 확인

aws ec2 describe-images --region us-east-1 --filters Name=tag:Name,Values=packer-centos7
  • 생성된 이미지에 대한 정보를 표시합니다.

Packer는 정의한 대로 CentOS 7 이미지를 생성하고 설정된 경로에 이미지 파일을 저장합니다.