Memo/Packer

http://dexlab.net/pukiwiki/index.php?Memo%2FPacker
 

Packer

  • https://www.packer.io/
    • CHANGELOG.md
    • HashiCorp?製ツール(Vagrant, packer, Serfの開発元)
    • 仮想マシンイメージ作成をスクリプト化できる
      • AMIs for EC2
      • VMDK/VMX files for VMware
      • OVF exports for VirtualBox?
      • Docker

不具合


AMIをAnsibleでカスタマイズする

shellだと記述するのが面倒だがMemo/Ansibleならyamlで簡単に書ける。

  • Ansible Remote
    • おすすめ。localのansibleからリモートのEC2へssh接続するだけ。
  • Ansible Local
    • EC2のAMIにansibleをインストールしてplaybookを実行するので、AMIにansibleが入ってしまう。
  • awsの資格情報ファイルを用意する
    1. vi ~/.aws/example.json
    2. --
    3. {
    4.   "aws_access_key": "[YOUR_AWS_ACCESS_KEY]",
    5.   "aws_secret_key": "[YOUR_AWS_SECRET_KEY]",
    6.   "ami_modified_by": "[YOUR_NAME]"
    7. }
    8. --
  • ami作成のjsonを用意する
  • 検証
    1. packer validate packer.json
  • ビルド
    1. packer build -var-file=$HOME/.aws/example.json aws.ami.centos.6.x86_64.HVM.ap-northeast-1.json

インストール

  • CentOS6.x 64bitの場合。alternativesで複数バージョンを切り替えられるようにする。
    1. PACKER_VER=1.1.3
    2. sudo mkdir -p /opt/packer.${PACKER_VER}
    3. sudo wget -O /opt/packer.${PACKER_VER}/packer_${PACKER_VER}_linux_amd64.zip https://releases.hashicorp.com/packer/${PACKER_VER}/packer_${PACKER_VER}_linux_amd64.zip
    4. sudo unzip -d /opt/packer.${PACKER_VER}/ /opt/packer.${PACKER_VER}/packer_${PACKER_VER}_linux_amd64.zip
    5. sudo alternatives --install /usr/local/bin/packer packer /opt/packer.${PACKER_VER}/packer 110
  • バージョンの切り替え
    1. sudo alternatives --display packer
    2. sudo alternatives --set packer /opt/packer.${PACKER_VER}/packer
  • MacOSX
    1. brew install packer

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-02-23 (金) 19:28:25 (62d)