前回の記事ではCentOS7にChef Clientを導入し、Chef Server管理下でCookbookを実行しました。今回は、同じことをWindows Server 2016 TP5に対して行います。手順はChefの公式ドキュメントのこちらのサイトをベースにしています。
1. Windows Server 2016 TP5のISO入手とOSインストール
1-1. ISOファイルのダウンロード
Windows Server 2016 TP5は2016年7月24日時点ではこちらのサイト経由で入手可能です。ただし、リリースが2016年9月末ですので、RTM後は評価版ISOが別サイトから入手可能になると思われます。必要な登録などを済ませたうえで、ISOファイルをダウンロードしてください。
1-2. Windows Server 2016 TP5のインストール
Windows 10 Insider Preview (Build 14393)上のHyper-V上の仮想マシンとしてインストールを行いました。ただ、私の環境では仮想マシンバージョンを第2世代かつUEFIセキュアブートを有効にするとISOからの起動はうまくいくものの、その後の再起動でHDDから起動しませんでした。今回は諦めて第1世代でインストールしました。
インストールが完了したら、ホスト名、IPアドレス、DNSまたはhostsファイルの設定を行い、Chef Serverから名前解決ができること、ネットワークがつながることを確認します。
2. Chef Clientインストール前の各種設定とChef Clientインストール
Chef Clientの導入にはknife bootstrap windows
コマンドを使います。このコマンドでは、Windows Serverに対してSSHもしくはWindows Remote Management (WinRM)経由で接続し、操作を行います。
2-1. Windows Remote Managementの設定
今回はSSHではなくWinRMでWindows Serverと接続するための設定を行います。設定はPowerShellを管理者として実行し、winrm quickconfig
を実行するだけです。
2-2. knifeコマンドによるChef ClientのインストールとCookbookの実行
すでに前回の記事で「chef-client」というCookbookが準備済みですので、Chef Workstationから以下のコマンドを実行し、Chef Clientをインストールします。ここでもOrganizationの秘密鍵を削除するRecipe「chef-client::delete_validation」を実行しています。
[chef-admin@chefserver chef-repo]$ knife bootstrap windows winrm win2016tp5-chef -r 'recipe[chef-client::delete_validation]' -x Administrator -P '(Administratorのパスワード)'
Doing old-style registration with the validation key at /home/chef-admin/chef-repo/.chef/takanyan-validator.pem...
Delete your validation key in order to use your user credentials instead
Waiting for remote response before bootstrap.win2016tp5-chef .
win2016tp5-chef Response received.
Remote node responded after 0.0 minutes.
win2016tp5-chef AMD64
Bootstrapping Chef on win2016tp5-chef
(省略)
win2016tp5-chef [2016-07-24T08:05:43+09:00] INFO: Chef Run complete in 8.016426 seconds
win2016tp5-chef [2016-07-24T08:05:43+09:00] INFO: Running report handlers
win2016tp5-chef [2016-07-24T08:05:43+09:00] INFO: Report handlers complete
正常に完了したら、Chef ServerのWeb管理画面で管理対象にWindowsが追加されていることを確認します。
また、Windows側にChef Clientがインストールされていることを確認します。
以上で、Chef Server管理下にWindows Server 2016 TP5を置くことができました。