>운영 및 유지보수 >리눅스 운영 및 유지 관리 >오픈 소스 도구인 Packer를 사용하여 사용자 정의 이미지를 쉽게 만드는 방법

오픈 소스 도구인 Packer를 사용하여 사용자 정의 이미지를 쉽게 만드는 방법

坏嘻嘻
坏嘻嘻원래의
2018-09-18 15:45:372089검색

이 기사의 내용은 오픈 소스 도구인 Packer를 사용하여 사용자 정의 이미지를 쉽게 만드는 방법에 대한 것입니다. 이는 특정 참고 가치가 있으므로 도움이 될 수 있습니다.

Packer를 사용하여 사용자 정의 이미지 만들기

오픈 소스 도구인 Packer를 사용하면 사용자 정의 이미지를 쉽게 만들 수 있습니다. 대부분의 주요 운영 체제에서 실행됩니다. Packer를 설치하고 사용하여 사용자 정의 이미지를 쉽게 생성하려면 이 문서를 참조하십시오.

참고

이 문서의 설명은 Linux 운영 체제를 실행하는 서버에만 적용됩니다.

1. Packer 설치

Packer 공식 웹사이트 다운로드 페이지에 들어가 운영 체제에 맞는 버전을 다운로드하거나, 다음 단계를 참조하거나 Packer 공식 설치 지침을 방문하여 Packer를 설치할 수 있습니다.

Linux 서버에 연결하고 로그인하세요. 서버가 ECS Linux 인스턴스인 경우 사용자 이름 및 암호 인증을 사용하여 Linux 인스턴스에 연결하는 방법에 대한 설명서를 참조하십시오.

cd /usr/local/bin 명령을 실행하여 /usr/local/bin 디렉터리로 들어갑니다.

설명

/usr/local/bin 디렉터리는 환경 변수 디렉터리입니다. 이 디렉터리나 환경 변수에 추가된 다른 디렉터리에 Packer를 설치할 수 있습니다.

wget https://releases.hashicorp.com/packer/1.1.1/packer_1.1.1_linux_amd64.zip 명령을 실행하여 Packer 설치 패키지를 얻습니다. Packer 다운로드 페이지를 방문하여 다른 버전의 Packer 설치 패키지를 얻을 수 있습니다.

unzip packer_1.1.1_linux_amd64.zip 명령을 실행하여 파일의 압축을 풉니다.

Packer -v 명령을 실행하여 Packer 설치 상태를 확인하세요. Linux 서버가 Packer 버전 번호를 반환하면 Packer가 올바르게 설치되었음을 의미합니다. Linux 서버에서 명령을 찾을 수 없다는 메시지가 표시되면 Packer가 올바르게 설치되지 않았음을 의미합니다.

2. Packer 템플릿 정의

설명

Packer를 사용하여 사용자 정의 이미지를 생성하는 경우 JSON 형식의 템플릿 파일을 생성해야 합니다. 템플릿 파일에서 사용자 정의 이미지를 생성하려면 Alicloud Image Builder 및 Provisioners를 지정해야 합니다. Packer에는 사용자 정의 이미지의 콘텐츠 생성 방법을 구성하는 데 사용할 수 있는 다양한 구성자가 있습니다. 다음은 Packer 템플릿을 정의하는 예로 일반적으로 사용되는 Shell 구성자를 사용합니다.

Linux 서버에 alicloud라는 json 파일을 만들고 다음 내용을 붙여넣습니다.

{
     "variables": {
       "access_key": "{{env `ALICLOUD_ACCESS_KEY`}}",
       "secret_key": "{{env `ALICLOUD_SECRET_KEY`}}"
     },
     "builders": [{
       "type":"alicloud-ecs",
       "access_key":"{{user `access_key`}}",
       "secret_key":"{{user `secret_key`}}",
       "region":"cn-beijing",
       "image_name":"packer_basic",
       "source_image":"centos_7_02_64_20G_alibase_20170818.vhd",
       "ssh_username":"root",
       "instance_type":"ecs.n1.tiny",
       "internet_charge_type":"PayByTraffic",
       "io_optimized":"true"
     }],
     "provisioners": [{
       "type": "shell",
       "inline": [
         "sleep 30",
         "yum install redis.x86_64 -y"
       ]
     }]
   }

Description

다음 매개변수 값을 맞춤설정해야 합니다.

오픈 소스 도구인 Packer를 사용하여 사용자 정의 이미지를 쉽게 만드는 방법

3. Packer를 사용하여 사용자 정의 이미지 생성

Packer 템플릿 파일을 지정하여 사용자 정의 이미지 생성:

AccessKeyID 가져오기: 내보내기 ALICLOUD_ACCESS_KEY=your AccessKeyID를 실행합니다.

AccessKeySecret 가져오기: 내보내기 ALICLOUD_SECRET_KEY=your AccessKeySecret 을 실행하세요.

packer build alicloud.json 명령을 실행하여 사용자 정의 이미지를 생성합니다.

샘플 실행 결과는 다음과 같습니다. 다음 예에서는 Redis가 포함된 사용자 정의 이미지를 생성합니다.

alicloud-ecs output will be in this color.
==> alicloud-ecs: Prevalidating alicloud image name...
alicloud-ecs: Found image ID: centos_7_02_64_20G_alibase_20170818.vhd
==> alicloud-ecs: Start creating temporary keypair: packer_59e44f40-c8d6-0ee3-7fd8-b1ba08ea94b8
==> alicloud-ecs: Start creating alicloud vpc
---------------------------
==> alicloud-ecs: Provisioning with shell script: /var/folders/3q/w38xx_js6cl6k5mwkrqsnw7w0000gn/T/packer-shell257466182
alicloud-ecs: Loaded plugins: fastestmirror
---------------------------
alicloud-ecs: Total                                              1.3 MB/s | 650 kB 00:00
alicloud-ecs: Running transaction check
---------------------------
==> alicloud-ecs: Deleting temporary keypair...
Build 'alicloud-ecs' finished.
==> Builds finished. The artifacts of successful builds are:
--> alicloud-ecs: Alicloud images were created:
cn-beijing: m-2ze12578be1oa4ovs6r9

다음 단계

사용자 정의 이미지를 사용하여 인스턴스 생성

위 내용은 오픈 소스 도구인 Packer를 사용하여 사용자 정의 이미지를 쉽게 만드는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.