はじめに
2020/11/10 開催の Ansible もくもく会は、はじめて Windows 編が登場しました。
普段はメンターで参加しているのですが、今回は Windows 編に普通の参加者として参加しました。
教材と環境
コンテンツはこちら(翻訳ありがとうございます!)。
Ansible Tower と Web 版の VSCode?(正式名称なんというのでしょう)、Windows サーバー、GitLabのセットが各参加者に割り当てられて、ハンズオンができます。
WinRM の接続設定もされていたようです。
やったこと
演習2ではまず手始めに、Ansible Tower で win_shell
モジュールなどを利用してアドホック実行をしました。
アドホック実行してから、ブラウザの戻るボタンでもどって再度実行しようとすると「制限」が all
となり、Windows 以外のホストにも実行してしまう点がちょっとはまりました。インベント画面から再度Windows ホストのみ選択して再実行するとうまくいきました。
アドホック実行できるモジュールは、予め設定で決まっているのですが、この環境ではいくつか win_*
モジュールが追加されているようでした。(設定方法)
アドホックで打てる win モジュール。この環境だとデフォルトからいくつか追加されてるみたい。#ansiblejp pic.twitter.com/DHGw5ZPcvi
— よこち(yokochi) (@akira6592) 2020年11月10日
演習3では、IIS をインストール、起動、コンテンツのデプロイをPlaybookを作りました。IIS というあたりが Windows らしいですね。
Ansible で Windows への IIS のインストール、起動と index.html 置くやつできました。#ansiblejp pic.twitter.com/QY7B2mWcnD
— よこち(yokochi) (@akira6592) 2020年11月10日
その後、ロール化もおこないました。
演習7では、Windows Update を実行する Playbook を作成しました。
アップデート対象を教材通り、CriticalUpdates
、SecurityUpdates
のままにすると、今回のタイミングでは特にアップデートが適用されなくて面白くなかったので、全カテゴリを選択したら、アップデートがあたりました。
Windwos Update のジョブですが、デフォルトだと何もアップデートなかったようなので、カテゴリ全部選択したらアップデートがはいりました。Updates がきいたようです。#ansiblejp pic.twitter.com/CLt2FazzZW
— よこち(yokochi) (@akira6592) 2020年11月10日
脱線しますが、VSCode の小技です。
ブラウザ版の VSCode ? でも、ディレクトリとファイルいっぺんに作るのできました #ansiblejp pic.twitter.com/McAFWMdoFK
— よこち(yokochi) (@akira6592) 2020年11月10日
なお、RDP で接続した感じですと Windows Core のようでした。予め準備されているのは助かります。
もくもく会の Windows 環境、Server Core かな pic.twitter.com/iMV7ELNJRo
— よこち(yokochi) (@akira6592) 2020年11月10日
プロジェクトの更新忘れがち
GitLab に git push して、Ansible Tower のプロジェクトで 最新ファイルを持ってくるという流れがサーバー編や、ネットワーク編とは異なりました。
新しいファイルを追加するとプロジェクトを更新するというのを忘れると、ジョブテンプレートでPlaybookを選択できない、というのが割と罠です。
対策1: Webhook
対策2: コマンドツールで効率化
おわりに
はじめての Windows 編でのもくもく会でした。ニーズはだいぶあるようなのでまた開催されるといいなと思います。
次回は 12/17 開催で、サーバー・ネットワーク編です。