1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

DevOpsAdvent Calendar 2018

Day 16

Hashicorp Packer が対応している Provisioner

Posted at

Hashicorp Packer が対応している Provisioner

Packer が対応しているプロビジョナーにどのようなものがあるか調べてみました。
プロビジョナーが何かというと「設定」するやつですね。
つまり、イメージを作る際に、仮想マシンを立ち上げて作りますが、その途中でサーバの設定を行うことですね。

Ansible Local

VM 上の Ansible をローカルで動かします。
VM 上に Ansible が入っている必要があります。

Ansible Remote

Ansible をリモートサーバで動かします。
SSH 経由で Ansible を動かすので、VM 上にAnsible が入ってる必要がありません。

Breakpoint

これはユーザが「エンター」を押すまで、イメージの作成が止まるモードです。
ドキュメントにはデバッグ用途だと書かれています。

Chef Client

イメージを作る際に、Chef サーバとやり取りをしながら作成するモードです。

Chef Solo

Chef を Packer で構築しているマシンにインストールして使うモードです。

Converge

Converge もサーバ設定を行うツールの一つで、それを動かします。

File

ファイルをアップロードして使います。
/etc 配下に設定ファイルを置きたい時などに使えそうですね。

PowerShell

これは、Windows の設定用ですね。
ドキュメントには、SSH 経由でも使えるとは書いてあります。

Puppet Masterless

これは、Puppet を VM 上だけで動かすようです。
Puppet がインストールされているのが前提のようですね。

Puppet Server

これは Puppet が入っている VM が Puppet master と通信をして設定するようです。

Salt Masterless

単体で Salt states を使用して設定をする感じのようです。
見たところ、Ansible や Chef のような設定ソフトのようですね。

Shell

これは、VM 上で Shell を動かすものです。

Shell (Local)

これは、VM 上ではなくビルドしているマシンやデスクトップなどの上で Shell を動かすようです。
コメント出したい時とかに使う感じなんでしょうかね。

Windows Shell

これは、Windows のコマンドを使用するものです。
Powershell とはまた違いますが、どちらにしろ Windows の設定を行います。

Windows Restart

なぜこれだけ独立しているのか不思議なとこですが、Windows の場合、再起動は特殊なのかもしれませんね。
Windows で再起動を行うだけのものです。
と思って、ちゃんと読んでみたら、Windows の場合、構築にあたって何度も再起動が走ることがあるので・・・ということのようです。

Custom

これはカスタムでプロビジョナーを作成できるものです。
ちょっと初心者にはハードルが高そうですが、使いこなせるようになれば便利かもしれません。

まとめ

Packer で作成するイメージに対して、色々な設定を行う手段を提供してくれるのがプロビジョナーですが、さわり程度には説明できたかと思います。
これを使いこなすことで、色々と独自のイメージが作成できるようになります。

参照

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?