Chef

CentOS7でChefの環境構築を行う

Chefを触ってみたいと思い、CentOS7でChefの環境構築を行ったときのメモを残しておきます。

環境

VirtualBoxをインストールする

VirtualBoxは、MacやWindowsの中にLinuxなど別のOSを立ち上げられる仮想化ソフトウェアです。今回は、Mac上にCentOS7を立ち上げ、CentOS7の中でChefの環境構築を行います。VirtualBoxは以下ページからダウンロードできます。

Oracle VM VirtualBox - Downloads | Oracle Technology Network | Oracle

Vagrantをインストールする

Vagrantは、VirtualBoxなどの仮想化ソフトウェアをコマンドで操作できるツールです。vagrantコマンドを使って、仮想OSの起動や停止などが行えます。Vagrantは以下ページからダウンロードできます。

Download - Vagrant by HashiCorp

CentOS7を起動する

以下コマンドで、CentOS7を起動し、CentOS7にログインします。

参考までに、仮想OSを停止したり、破棄したりするコマンドも載せておきます。

こちらも参考までに、ホストマシン(Mac)から直接IPアドレスを指定して仮想OSに接続できるようにするためのネットワーク設定も載せておきます。以下の例だと、ホストマシンから仮想OSに対して192.168.33.10で接続できるようになります。

Vagrantfile

ネットワーク設定を反映するには以下コマンドで仮想OSの再起動を行う必要があります。

ここからは、CentOS7上でコマンドを実行していきます。

ChefDKをインストールする

以下コマンドで、Chefを動作させるための開発キットであるChefDKをインストールします。インストールするバージョンはChef Downloadsを参考に、適宜変更してください。

以下コマンドで、Chefのバージョン情報が表示されればOKです。これでChefを使う準備が完了しました。

Chefを動かしてみる

試しにクックブックを作成し、Chefを動かしてみます。ログに「Hello, World!」を出力するだけの簡単なレシピです。

つまづいたポイントを載せておきます。

  • クックブックはcookbooksディレクトリ配下に作成しないとクックブック実行時にエラーが起きる
  • knife cookbook createはChef Client 13.0以降使えなくなった。代わりにchef generate cookbookを使おう(参考: knife cookbook — Chef Docs
  • chef-soloは古い。chef-client --local-modeを使おう(参考: chef-solo — Chef Docs

まとめ

CentOS7でChefの環境構築を行う方法でした。参考書やネットの記事は古くて参考にならず、Chefの公式ページも見づらく環境構築に苦戦しました。。

参考リンク

-Chef

© 2024 Reasonable Code