2019-01-01から1年間の記事一覧
■ はじめに Playbook を書いていく過程で、Ansible の公式ドキュメントを閲覧したり、インターネットで検索したりして、調べることが多いと思います。 しかし、もしインターネットにつながっていない状態で調べことをしたい時はどのようにしたらよいでしょう…
■ はじめに ループするためにリストの変数を渡すときに、以下の2パターンを特に区別なく使ってしまうことがあります(私が)。 pattern1 - name: pattern1 debug: msg: "{{ item }}" with_items: "{{ test_list }}" # ここにリストの変数を渡す pattern2 - n…
■ はじめに Ansible のターゲットホストの情報を定義するインベントリファイルは、INI 形式の他にも YAML 形式でも定義できす。 この記事では、2つの例をとって ini と YAML を比較しながら YAML でのインベントリファイルの書き方を説明します。 動作確認環…
■ はじめに Ansible には 環境変数を取得するための方法として、ansible_env 配下の変数を参照する方法と、 lookup("env", "hoge") のように loopkup プラグインを利用する方法があります。これらは性質が大きく異なります。 この記事では簡単な例で動作を確…
■ はじめに Ansible というより、Jinja2 の機能ですが for によるループの中で、今何番目のループであるかを示すループインデックスなどの特殊な変数を利用できます。 例 変数名 値 loop.index 1 から始まるインデックス loop.index0 0 から始まるインデック…
■ はじめに Ansible では、ホスト名やインターフェースなどのシステムの基本情報を fatcs (ファクト)という単位で収集して管理します。通常、Ansible によって決められた情報が対象になりますが、任意の情報を facts として管理するための local facts (cu…
■ はじめに Ansible には、ファイル属性の設定やディレクトリの作成などができる file モジュール があります。 この記事では、 file モジュールの公式ドキュメントに記載されている使用例をベースにして、使い方を説明します。 なお、公式ドキュメントの使…
■ はじめに Ansible には、Jinja2 というテンプレートエンジンによるテンプレートファイルを利用してファイルを生成してリモートに送れる template モジュール があります。httpd.conf などの設定ファイルを、変数とテンプレートから生成するといった用途に…
■ はじめに Ansible には、ユーザーを管理(作成、削除など)する user モジュール があります。 この記事では、 user モジュールの公式ドキュメントに記載されている使用例をベースにして、使い方を説明します。 なお、公式ドキュメントの使用例は、Playboo…
■ はじめに Ansible には、テキストファイルを行単位で編集する lineinfile モジュール があります。httpd.conf などの設定ファイルの設定項目を書き換えるといった用途に利用できます。 この記事では、 lineinfile モジュールの公式ドキュメントに記載され…
■ はじめに Ansible には、sytemctl や service コマンドなどによるサービスの管理(起動、停止、再起動削除など)をする service モジュール があります。 この記事では、 service モジュールの公式ドキュメントに記載されている使用例をベースにして、使い…
■ はじめに Ansible には、yum によるパッケージの管理(インストール、更新、削除など)をする yum モジュール があります。 この記事では、 yum モジュールの公式ドキュメントに記載されている使用例をベースにして、使い方を説明します。 なお、公式ドキ…
■ はじめに Ansible で管理対象ホストのユーザー名やパスワードを定義する変数名はいくつかあります。 ユーザ名 ansible_ssh_user ansible_user パスワード ansible_ssh_pass ansible_pasword みなさんはどのよいうに使い分けていますでしょうか。 先日たま…
■ はじめに Ansible の管理対象ホストを定義するインベントリは、ansible-playbook コマンドの -i オプションで指定します。スタティックなインベントリでも、ダイナミックインベントリでも同じです。 コマンド例 $ ansible-playbook -i inventory site.yml …
フィードバックがほしい ブログや登壇などのアウトプットをする理由のひとつが、フィードバックが得られることです。 わかりやすかった 自分も始めてめてみようと思った 内容が薄い もっと別のことを聞きたかった こられはすべてフィードバックですので、次…
■ はじめに 【祝】初名古屋開催! 2019/02/15 に名古屋で「Ansible Night in Nagoya 2019.02」が開催されました。 Ansible ユーザー会によるこのイベントは、これまで東京、大阪、福岡で開催されてきましたが、今回ははじめての名古屋開催となりました。 ans…
■ はじめに いままで INI 形式のインベントリファイル内での変数は ansible_host くらいしか定義してなかったので気が付かったのですが、boolean の値を定義する場合は YAML とは異なる事情があるようです。 ansibleで変数に入れたyes/noの扱いに苦しんだ - …
はじめに Ansible 2.4 以上には ansible-config という、設定項目を表示するコマンドがあります。 ansible-config dump --only-changed のように、dumpサブコマンドと --only-changed オプションを付けて実行すると、デフォルトから変更されている設定項目の…
はじめに ネットワーク機器の設定変更を自動化するあたって考慮するポイントの1つは、設定情報のインプットをどのような形式にするかです。 設定情報のインプット形式は? たとえば、機器が解釈できるコマンドを直接インプットする方法もあれば、パラメータ…
はじめに netmiko、NAPALM、Ansible のように、既存のネットワークを自動化できるOSSが増えてきました。 それでもやはり、自動化しやすい機器としにくい機器があるなと考えています。 この記事では機器使用面、環境面含めてそれぞれれまとめます。 (当たり…
はじめに ハッカソン風景 2019/01/23-25 に山梨県甲府市のコラニー文化ホール(山梨県立県民文化ホール)で開催された JANOG43 Meeting in Yamanashi に参加してきました。(ハッカソンは1/22) 本ブログでは、3回に分けてレポートします。 その1 参加編 そ…
はじめに 自動化の行き着く先は? 2019/01/23-25 に山梨県甲府市のコラニー文化ホール(山梨県立県民文化ホール)で開催された JANOG43 Meeting in Yamanashi に参加してきました。(ハッカソンは1/22) 本ブログでは、3回に分けてレポートします。 その1 参…
はじめに 開会宣言 2019/01/23-25 に山梨県甲府市のコラニー文化ホール(山梨県立県民文化ホール)で開催された JANOG43 Meeting in Yamanashi に参加してきました。(ハッカソンは1/22) 本ブログでは、3回に分けてレポートします。 その1 参加編(本記事)…
はじめに 2019/01/ に Ansible のハンズオンイベント「Ansibleもくもく会 2019.01 ネットワーク編 in 富士通」が、 富士通ソリューションスクエア PLYで開催されました。 ansible-users.connpass.com 本イベントに、メンターとして参加させていただいたので…
はじめに サーバーのテスト自動化といえば、 Serverspec や Testinfra 、infrataster などが有名ですが、ネットワークのテスト自動化については、みんなが口をそろえて名前を出すものがないような印象です。一方で、リスクの観点から設定変更の自動化より先…
■ はじめに Ansible は、Juniper Junos のネットワーク機器に対応していて、情報の取得や設定変更ができます。 Junos は設定投入後に commit することによって、実際の動作に反映されます。設定変更の流れの中で、commit 前の candidate config を確認したい…
■ はじめに Visual Studio Code の拡張をはじめて作りました。(自分向け) marketplace.visualstudio.com この記事では、経緯や作る過程などをまとめます。 ■ 経緯 このブログもそうなのですが、Markdown を書くことがよくあります。1つ個人的な悩みがある…
はじめに 近年、ネットワーク機器への作業を自動化するOSS のツールやライブラリが増えてきています。この記事では、こんな観点でツールを検討するのが良いのでは、という自分の案をまとめてみます。 例示するツールとしては、Python で実装されている Ansib…
■ はじめに: Juniper vLabs とは Juniper vLabs とは、Juniper の仮想ネットワーク機器を検証用途でリモートから利用できる、無料のラボサービス(現在BETA版)です。非常にありがたいサービスです。 [2019/07/08 追記] Beta という表記がなくなったようです…