ssmjp2018/10 Ansible回参加レポート

ご無沙汰しております。らいるです。
ssmjpでAnsible回があると見てブログ枠で突撃しました。

・当日の概要とアップされた発表資料のリンク
https://ssmjp.connpass.com/event/99879/:ssmjp募集

https://www.slideshare.net/akira6592/ansiblesvnwautomation20181012ssmjp-119201162/akira6592/ansiblesvnwautomation20181012ssmjp-119201162:Ansibleではじめるサーバー・ネットワークの自動化
https://www.slideshare.net/yasuyukisugai/ansiblenw-ciscovirl-119349060:AnsibleではじめるNW設定の自動化について - Cisco(VIRL)編 -
https://twitter.com/togakushi/status/1050982899950841856:togakushiさんのツイート
togakushiさんの資料はssmjpのslackチャンネルに上がっているようです。

・参加動機
数年前からAnsibleの名前はインフラ界隈で話題になっていた時期があり聞き及んでいたが、
名前を知っている止まりだったのでこの機会にどのようなものか知りたかった

・Ansibleとは?
ネットワーク、サーバの構築自動化、テストの自動化もできる優れもの。
RedHadが買収したから名が知れてなくとも上にも説明しやすい。
pythonで実行する、エージェント等は必要なくSSHでつなげられる環境を準備すればそのまま
クライアント側からネットワーク越しに設定を流し込める。

発表曰く、Windowsではうまく動作しないらしい?(要確認)

・ssmjpでの内容(を、簡潔に紹介)
@akira6592さん
Ansibleを使ったことない人向けに紹介とデモ。つい最近出た新しいバージョン「2.7」の変更点を紹介。
Ansibleを用いたwebサーバ構築デモ、apacheを入れてコンテンツを入れ込む。
私もAnsible使用したことはなかったが設定の書き方を一から説明していただき使用イメージがつかみやすかった。

すがいやすゆきさん
VIRLというciscoのシミュレーションソフトを用いたネットワーク機器に対するAnsibleによる設定デモ
設定台数がある場合にVLANいちいち設定して回ったりというのを手元の設定ファイルをいじってやる
だけで良いのは効率的。使う機会は無いかもしれないけれど、紹介できる程度には学んでおきたい。
詰まりやすいポイント等も紹介されていたのでぜひ資料を参照していただきたい。

@togakushiさん
とある現場でAnsibleを使って効率的に環境構築したお話。オフレコなことも多かったですが
古い考えの現場を説き伏せたり、Ansibleの応用的使い方を聞けて良かった。
資料はssmjpのslackにあるそうですので、実運用している方も是非見てみると良いと思います。

・感想
ベースとなる設定を用意して作業することで円滑に作業を行える。また、人に依存せずに
この設定流しておいてーと依頼できるので他人のスキルセットに関わらず作業依頼が可能。
ネットワークやサーバ構築で人手が足りてないところは導入検討、というか導入すべきなのでは。

注意すべき点としてモジュールの選定や、実際に動かして設定ができるかの検証は念入りに。
設定機器のバージョンに依存するところがあるため検証機による確認は必須だろう。

・当日とったメモ
@tigerszk 前説
Ansible回、やはり初めてくる方も多いですね。
ssmjp では LT やる人を絶賛募集中です。

DMM.com様 諸注意など
開場運営がいないため?なし

@akira6592さん Ansible ではじめるサーバー・ネットワークの自動化 (Ansible2.7情報つき)
エーピーcom横地さん
サーバやネットワーク機器の作業自動化ツール。概要と利用例。
なんとなく使い方をご紹介。資料アップします
ネットワーク側の人間
つい最近2.7が出た、どの点が新しいか紹介します。
シンプルパワフルエージェントレスとよく言われる。
プログラムは書かない。構成定義ファイルyamlなどで定義していく。実行するとその通りになる
モジュール自作もできる(これにはプログラム力いる)
zabbixのようにエージェントはいらん、pythonssh接続ができればOK

シェルスクリプトとの違い
コマンドすら書かなくてもいい。エラー処理がモジュールで用意されているので上手い事止まってくれる
何度実行してもその定義のままになる。

python上で動くが、windowsでは動かない
pipでインストールするほうが新しいバージョンを得やすい。

インベントリ
init形式のipアドレスなどの一覧

playbookを操作していることが多い
ansible.cfgなくてもいい、デフォルトでもよい。
グループ名を指定して対象とすることが可能

モジュールはいっぱいある、まだまだ増えている。vyattaとかもある。

playbook
スペースの数が構造を示しているので、下手に削るとだめだぞ
apacheのインストールしてhtml送る設定例

ansible.cfg
knownhostエラーになるのでよくやるのがサンプル例、それを無視するというやつ

gcpめっちゃ増えとる
ansible、python2.6サポートやめたってよ
公式ドキュメントにちょこっと書いてあったけどリスト指定でバージョン指定できるようになった、超いい
今まで通りwarningにしろって設定を書けるが、デフォルトはエラーになって止まります

become(sudoの意)
name(何をインストールするか)
state(最新版 state)
ansibleでwebサーバ用意のデモ

junosのntp設定デモ動画

ansibleは専用ソフト無くても始められるので始めやすいツール
英語が多いので日本語は書籍。
ansible slackもあるよ!


すがいさん Ansibleで始めるNW設定の自動化について ?Cisco(VIRL)編?
すがいやすゆきさん
サーバアプリの人。java有償化つらい
nw機器の設定
virl ciscoのシミュレーションソフト。
年間200$。
何がすごいか。virlだけでネットワークを組めそうだが、規約でやっちゃだめです
仮想OSもカスタマイズできる
もうこいつだけでいいんじゃないかな・・でもやっちゃだめです(大事なことなので)
ngrok、ローカルのポートをSSHでトンネル公開可能。
vlan切ってるコンフィグでしゃべります(草)
ansibleのmoduleディレクトリを探すとほしそうなmoduleを見つけられる。
サンプルを見ながらやりたい設計を作る

VMエストロを使ったデモ

  • vvv やっていることを詳細に出力する

vlan120を作りました
2回やってみるとべきとうせいの確認ができる

trunkにするのはどうやるの?モジュールを探す。あった
l2port_for_nxos
l3で動いているのでl2にしろって怒られる
できない・・コマンドを自分で撃ってしまえ→できました
show runと照合して差分を検出している。(iosモジュールは)

playbookは固定したい。定型化するには変数化して変数を変更していく。ツール自動生成がベスト

net_で始まるやつが親玉っぽいが、バージョンや機種に依存するものが多いためまとめるのが難しいのだろう。


@togakushiさん 残念な現場にAnsibleを適応してみた過去と現在と未来
とある現場でansibleした事例
とがくしです、openssh本買ってくれ
残念のお話(一部オフレコ)
名前だけ踏襲して中身を全部作り替えた

テストの自動化する発想無かった(草

仮想化統合プロジェクト。
64台、合計448台
redhatつよい(こなみ

評価環境と作業用ノートPC
mercurialで管理。
kickstart使ってインストール。ansibleで設定。
仮想環境はpower shellでデプロイ
sphinxで手順やノウハウをドキュメントに。