「Ansible Night in Osaka 2019.05」 に参加してきました

f:id:toshis0307:20190602164118p:plain

5/31に「Ansible Night in Osaka 2019.05」が開催されました。
参加したので、レポートを書きたいと思います。

目次

Ansible Night とは

構成管理ツールである Ansible のユーザー会です。
connpassで3ヶ月に1回くらいの頻度で開催されています。

ansible-users.connpass.com

Ansible Night以外に、Ansibleもくもく会(ハンズオン形式)や、Slackなどの活動を行っています。

Slackはこちら:http://bit.ly/slack-ansiblejp

「Ansible Night in Osaka 2019.05」 参加レポート

簡単ですが、参加レポートを書きます。

オープニング

@fideleruuth さんから、ユーザー会の紹介など行われました。

  • ユーザー会のメンバー数は、5/30時点で3412人
  • 最近の活動報告

リモート参加も可能。運営、企画などをサポートしてくれる方、募集中です。

Ansible 2.8 アップデート @akira6592 さん

www.slideshare.net

  • Ansible 2.8 の全変更の中から、一部を紹介
  • 7月 JANOG@神戸に登壇します 

仕様変更

  • 【便利】Python Interpreter Discovery
    • RHEL8など、Pythonのパスを特定して実行できる
  • 【地味に便利】PLAY RECAPにskippded、rescued、Ignoredが追加された
  • 【地味に便利】retry fileの生成がデフォルトで無効に
  • 【ちょっと注意】--su/--sudo--becomeに統一
  • 【地味に便利】jinja2でnow()取得可能に
  • 【ちょっと注意】register変数名等でテンプレートが使用不可になった、警告がでるが、続いちゃう
  • 【ちょっと注意】paramikoが同梱されなくなる
    • 内部でparamikoを使用しているnetwork moduleがある。この場合は手動でpip install paramikoが必要
  • 【便利】WindowsホストへのSSH接続サポート
  • 【ちょっと注意】グループ名に使用できる文字の厳格化。数字始まりや、ハイフンなどの記号は不正扱いにされる

新規モジュール

Ansible 2.7 2078個 → Ansible 2.8 2832個

  • read_csvCSVファイルをリストやディクショナリとして読み込む
  • *_bgpモジュール
  • クラウド系モジュール:Alibaba、podmanなどは新規追加
  • Porting Guide(移行ガイド):Updateの度に書かれている、おすすめ

質問

  • NativeのSSHとWSLのSSH、どちらを使用するのか?
    • NativeのSSH、ひよこ大佐の資料参照

speakerdeck.com

普段から触り、情報収集を行っているからこそのアウトプットだと感じました。
多くのアップデートの中から、利用者側の視点で要約されているため、
今後2.8以降を触る際、スライドを参照することになりそうです。

Happy Windows Automation with Ansible @aabbss757 さん

www.slideshare.net

AnsibleとWindowsの歴史

  • Windows対応は1.7から、2.8で88 module、徐々に増えている

Windowsのちょっと大変なとこ

  • RDP接続はお手軽さ ×
  • ログイン時の長さ(ようこそ、みたいな画面)
  • Windows Updateの適用にはそこそこ時間がかかる
  • 設定変更手段が多い(GUI、OSコマンド、PowerShell、レポジトリ、グループポリシー)

人それぞれ手順が違うと、後から追いにくい
手順(設計)の標準化 → Ansibleで自動化

更に大変なのは、
Excel手順書(Excelスクショ職人)
Uncomfortable → やめよう

Ansibleで実現可能なWindows自動化

大変だったこと、ハマったこと、良かったこと

  • win_packageモジュール
    • 冪等性担保のためにProduct(GUID)の指定が必要
      • .msiファイルの場合は指定不要
      • 一旦インストールしてみないとわからない
  • win_chocolatey(チョコラティ、チョコレーティ)
    • Linuxに比べてパッケージ管理機能は貧弱
    • インストールのみではなく、アップデートできる
    • インターネット環境が必要(proxy環境の場合は注意)
  • win_regeditバグ
    • Issue投げたら8日で修正された
  • wind_updateバグ
    • state: searchedにしたのに、Updateが適用された
      • 2.3.2で解消済

良かったこと

  • Windows Updateが楽になった
    • win_updatesの実行結果をresisterで取得、debugで表示できる
    • 作業をAnsibleに任せて、他の業務ができる
  • 初期構築:3~4時間 → 15分くらい
    • Excelスクショ職人を卒業(!)

Ansible 2.8 Update

  • 16 module増えた
    • Diskのパーティション作成、フォーマットができるようになった
      • これまではPowerShellで頑張っていた
      • ただし、ディスクの初期化はできないので、PowerShellで実行

質問

  • Local Group Policy編集はどうしている?
    • レジストリを編集するしかないが、GUIに紐付かないのであきらめた
  • Drive Letterはどうしてる?
    • パラメータで指定できる

Ansible界隈では貴重なWindowsの実利用例だと思います。
苦労話も多く、今後Windowsを触る人の役に立つ発表だと感じました。
また、SSH話は個人的に参考になりました。
こちらでも可能だったら使ってみようと思います。

LT:Ansibleやらかし話2 m.shika さん

今回は、「jinja2に悩まされた話」

  • きっかけは、ユーザー管理をAnsibleでやろうとした時
  • vars配下のmain.ymllogin_usersを定義
    • jinja2の手前にスペースを入れていた
    • List型を期待していたので、実行するとStr型になっており、失敗
  • jinja2を複数行で記載していて、インデント入れていたのが影響
    • {% ~ %}{%- ~ -%}へ変更すると解決

参考 qiita.com

実際に使っていると苦労することは多いですが、隠さず正直ベースで発表されているのが有り難いなと思います。
同じところでハマる可能性があるので、頭の片隅…では忘れてしまうので、ブログに残すことで今後の参考にしたいと思います。

LT:もっと使える !? Ansible kobayashiyosh さん

  • Ansibleは便利、基盤構築や運用が楽になった
    • ただ、社内ITの構築や運用に閉じてて良いのか?
  • IT以外の領域でも利用できるのでは?
    • Ansibleの特徴は「冪等性」・・・誰が実施しても結果は同じ
      • オフィス・フロア環境設定、とか
      • 製造ラインの初期設定、とか
      • イベント会場の機材設定・操作、とか

最近では組み込みのOSを利用して、制御している場合がある

  • 組み込みWindowsだったり、Linuxだったり
    • SSHログインしたら、Ansibleで制御できるのでは?

Ansibleを紹介しても、情報システム部門しかメリット無いよね、という話
Ansibleをもっともっと広げたい!
ITだけでなく、もっともっと領域が広げれるのは?と思っている

インフラばかりやっていて、その発想はなかったな…というのが感想です。
組み込みタイプにWindows or Linuxが入っている事例はあるので、活かせる機会はあるよな、と感じています。

Ansibleカタリバ!

新企画です。下記の流れで進めていきました。

  • 班分け(Ansible… おいしいの?、チョットワカル、バリバリ使ってる)
  • 自己紹介(1人、1分くらい)
  • チームテーマ 15分くらい(班ごとに体験談や、突っ込んだ話とか)
  • 共有:各班5分くらい

私はチョットワカル班に参加しました。主な話は、

  • JenkinsでAnsible実行話
  • DNSインフラのUpdate自動化話
  • サーバ、ネットワークエンジニアの壁
    • Windowsで実行できないかという話。Linuxサーバ用意の敷居が高い
    • viできない、YAMLわからない話

などなど。各メンバー触ってきた人が中心で、経験話が多かったです。
こういう話はAnsible飯で会話することが多かった印象ですが、
Ansible Nightで会話できたという点は有意義と感じました。

Ansible飯

Ansible Night後は恒例のAnsible飯(懇親会)が開催されました。
参加者は20人程度と、多くの方が参加されました。

  • 普段の情報収集どうされているか
  • RHEL8をはじめとして、日本語の翻訳頑張っていらっしゃる話
  • 各メンバーの取り組み紹介など
  • Ansibleユーザー会や、Red Hat Tech Nightなど、Red Hatさんの取り組みについて

他にも色々会話しましたが、大変有意義で、勉強になりました。

最後に

Ansible Nightが大阪で開催されましたが、名古屋や東京から参加して発表を行って頂くなど、Ansible熱の高さを感じました。
開催&飲み物をご提供頂いたRed Hatさん、ユーザー会の皆様、そして会場をご提供頂いたGMOホスコンさんに感謝致します。

f:id:toshis0307:20190603012851j:plain