てくなべ (tekunabe)

ansible / network automation / 学習メモ

「3社共催 Ansible セミナー "経験から学ぶ Ansible の活用方法" Part 3」参加メモ

2017/10/06 にレッドハットさんを会場として開催された 「3社共催 Ansible セミナー "経験から学ぶ Ansible の活用方法" Part 3」 に参加してきました、参加メモを掲載いたします。

殴り書きに近い箇所もあるため、貼り付け付けたPDF資料もあわせてご参照していただければと思います。 (資料の掲載も主催の方から許可をいただいております。)

[目次]


■ 1. Ansible 最新情報 (by レッドハット)

【発表資料】

Ansible 最新情報 (PDF)

Ansible とは

  • 自動化の目的
    • 生産性と品質を継続的に改善し、陳腐化を防止
  • 自動化実現のポイント
    • 統一的な手法であること
    • 再利用、共有できること
    • 権限付与と集中管理できること
      • Ansbile Towerでセルフサービス化できる
  • 特定のユースケースにしか使えないツールもあるが、Ansible はあらゆる状況・ものを対象

9/7 Ansible Fest での発表

  • Red Hat Ansible Engineの発表
  • AWX Project の発表
  • Ansible Tower 3.2 のリリース予定

いままで

  • OSSのコードを含んでいた
  • これではサポートしきれない

これから

  • Ansible Engine
  • Red Hat Ansible Automation
    • 以下二つ
    • ラインナップ
      • Engine のみ
      • Tower と Engine の組み合わせ

Ansible Engine とは

  • いままでとは提供方法、インストール方法が変更になる
  • Red Hat 提供のリポジトリから取得
  • サポート可能な精査済みのソースコード
  • Ansible (core) 2.4 をベース

Ansible 2.4

  • Python 2.6 からのサポートに変更(2.5 とそれ以前はサポートしない)
  • 今後は 3 へ移行予定
    • 基本的なモジュールは Python 3 で動く
  • ネットワークモジュールのトピック
    • ios_vrf での例
      • コマンドベースではなく宣言的に記述できる
      • 冪統性もある
      • なにをする、ではなく、どういう状態かを定義
      • aggregate オプションでまとめて定義できる

Ansible Tower 3.2 新機能

  • Ansible Tower インスタンスグループ
    • Cluster の進化形
  • Ansible Tower 分離ノード
    • Web UI も持たない、Headless ノード
  • Red Hat Insights 連携
    • Insights の診断結果を Tower に表示できる
    • 問題に対処するための Playbook が提供される
  • カスタムクレデンシャル
    • いままでは特定の型のみだったが柔軟になる
  • SCM インベントリ
    • Tower に直接登録しなくても、git上等のインベントリファイルを取り込めるようになる
  • Built-in Fact Caching
    • ジョブ開始が早くなる

トレーニング

  • DO407/408
    • 資格試験ありのコースもあり

■2. みんなで使おう Ansible 応用編 (by ライトウェル)

【発表資料】

みんなで使おうAnsible 〜応用編〜 (PDF)

インベントリ

  • インベントリファイル単体での課題
    • 手動のメンテナンスは大変
  • ダイナミックインベントリ
    • 動的に生成できる
    • AWS EC2 のように IPアドレスがころころ変わるケースでも対応できる

kintone との連携の概要

  • 流れ
    • kintone上で必要な情報を入力
    • Ansibleが定期的な情報を取得
    • VMware テンプレートへの展開
    • kintone はホスト情報DB、操作UIとして利用
  • きっかけ
    • 検証環境がほしいときにVM担当者がいなくて作れなくて困ることがあった
    • 他の人でも検証環境を構築できるようにしたかった

Dnyamic Inventory

  • 作り方のルール
    • 実行可能
    • 言語は何でもいい(今回はbash
    • jsonで返す

Ansible/kintone運用後の効果

  • 仮想マシンVM担当者外でも作れるようになった
  • VM担当者の負担が減った

課題・小ネタ

  • kintone から動的にAnsibleをキックできない
    • Ansible側のスケジュール機能を使って対処
  • replace モジュール
    • 漢字の検索・置換ができない

まとめ

  • kintone は簡単にWebアプリを作れる
    • Ansible と組み合わせればインフラエンジニアでも業務アプリがつくれそう

■ 3. 使ってみよう Ansible コミュニティ版(by サイオステクノロジー

【発表資料】

使ってみよう Ansibleコミュニティ版 (PDF)

AWX の位置づけ

  • Ansible Tower のOSS
  • RHELFedoraでいうと
    • RHEL が Ansible Tower
    • Fedora が Ansible AWX(upstream)
  • AWXでは新しい機能が入ってくるので安定性ではTowerのほうが勝る
  • 見つけた問題はコミュニティーにフィードバックできる

インストール

  • docker が必要なので敷居が高いように思われるが、やってみると簡単
  • docker-py が必要なのを忘れがちなので気を付ける
  • インストール用のPlaybookがあるので簡単
    • Docker の設定など含む
  • 手順詳細
  • はまるポイント
    • いくつかのコンテナが起動するので、スペック不足だと起動エラーになりがち
    • 4コア以上は必要では
    • 管理画面は80/TCPなのでFWで空ける

Tower との違い

  • メニューの表示は異なるが、中身は出方はだいたい同じ

■ 感想など

  • ここ最近、Ansibleのラインナップに大きな変化があったを改めて確認できた助かりました。
  • kintone は使用したことがなかったのですが、簡易的なWebアプリを画面から作成できる点が興味深かったです。インベントリとして活用するアイディアも面白いと思いました。
  • AWX はマシンスペックさえ気を付ければ思ったよりは簡単にインストールできそうだと感じました。