Our Girl saison 4 episode 6 streaming | DeepBassNine | DB9 | Music/DnB | 2017 Review | Télécharger Part 12

もっと気軽に始めるAnsible

All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
 11
 
  JANOG41.5 Interim Meeting での LT 資料です http://janog.connpass.com/event/82865/ Ansible はネットワーク機器にも対応しています。 YAML形式の処理定義ファイル(Playbook)を書かずに、 もっと気軽に始められる Ad-Hoc な Ansible の使い方をご紹介します。
Share
Transcript
  • 1. 株式会社 エーピーコミュニケーションズ 横地 晃(@akira6592) 2018/04/20 JANOG41.5 Interim Meeting LT
  • 2. はじめに  構成管理ツールの Ansible は ネットワーク機器にも対応しています。  YAML形式の処理定義ファイル(Playbook) を書かずに、もっと気軽に始められるAd-Hocな 使い方をご紹介します。 2 本資料は Ansible 2.5.1 を利用した独自の調査に基づくものです
  • 3. 自己紹介 3 名前 横地 晃 @akira6592 所属 株式会社エーピーコミュニケーションズ 担当 ネットワークの設計構築 最近の出来事 会議室の名前が Kingyo になった
  • 4. 本日の内容 4  Ansible のネットワーク対応  2つの実行方式  ansible コマンド利用例1:参照系  ansible コマンド利用例2:設定系  まとめ  【付録】 環境構築
  • 5. 5 Ansible の ネットワーク対応
  • 6. Ansible のネットワーク対応 6 SSH NETCONF など 対応機種 参照 設定 など 接続方式 操作 Juniper Cisco Arista F5 など
  • 7. 7 2つの実行方式 ansible コマンド ansible-playbookコマンド
  • 8. 2つの実行方式  ansible コマンド • 単体タスクの処理に向いている • Playbook(※1)を作らなくても気軽に始められる • Ad-Hoc コマンドとも呼ばれる  ansible-playbook コマンド • Playbook(※1)を作って実行 • 複数タスクの処理に向いている 8 今回はこちら> > ※1: YAML形式の処理定義ファイル
  • 9. 今回のポリシー 9 意地でも コマンドだけ で済ませる 設定ファイル(ansible.cfg)は作らない インベントリファイル(操作対象ホスト情報)は作らない Playbook(YAML)は作らない sw1 sw2 sw3
  • 10. ansible コマンドの基本 10 ansible -i [インベントリ] [対象ホスト] ¥ -m [モジュール名] –a [モジュール引数] ¥ [その他オプション] どこに なにを ansible コマンド オプションの説明 http://docs.ansible.com/ansible/latest/network/getting_started/first_playbook.html#run-your-first-network-ansible-command
  • 11. 11 ansible コマンド利用例1 参照系 > show ・・・・
  • 12. 利用例1:コンフィグの取得(準備) 12 export ANSIBLE_STDOUT_CALLBACK=json (2) ansible コマンドでも(1)の設定を有効にする (ansible-playbookコマンドだけなく) 設定ファイルを作る代わりに環境変数で設定 ※接続対象ホストキーがAnsibleホストに未登録の場合は、準備として「export ANSIBLE_HOST_KEY_CHECKING=False」が必要 export ANSIBLE_LOAD_CALLBACK_PLUGINS=True (1) 実行結果を json にする
  • 13. 利用例1:コンフィグの取得(実行) 13 ansible -i 172.16.0.1, all ¥ -m junos_command -a "commands='show configuration'" ¥ -c netconf -u user1 -k -e ansible_network_os=junos ¥ | jq -r ".plays[0].tasks[0].hosts[].stdout[0]" > config.txt ・Junosホスト「172.16.0.1」に「user1」でログイン ・「show configuration」を実行した結果をjqで抽出 ・「config.txt」に保存する ansible コマンド オプションの説明 http://docs.ansible.com/ansible/latest/network/getting_started/first_playbook.html#run-your-first-network-ansible-command show 保存
  • 14. 利用例1:コンフィグの取得(結果) 14 [[email protected] vagrant]$ cat config.txt ## Last changed: 2018-04-05 02:43:22 UTC version 12.1X47-D15.4; system { host-name vsrx1; root-authentication { encrypted-password "$1$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; ssh-rsa "ssh-rsa (略) vagrant"; } login { user vagrant { uid 2000; class super-user; authentication { ssh-rsa “ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAA (略) "; } } } services { ssh { root-login allow; } netconf { ssh; } web-management { http { (略) 保存した config.txt の内容を cat で確認
  • 15. 15 ansible コマンド利用例2 設定系 # set ・・・・
  • 16. 利用例2:参照NTPサーバーの追加 16 ansible -i 172.16.0.1,172.16.0.2 all ¥ -m junos_config ¥ -a "lines='set system ntp server 172.16.0.123'" ¥ -c netconf -u user1 -k -e ansible_network_os=junos ・Junosホスト「172.16.0.1」「.2」に「user1」でログイン ・「set system ntp server 172.16.0.123」を実行 【実行】 172.16.0.1 172.16.0.2 set ※接続対象ホストキーがAnsibleホストに未登録の場合は、準備として「export ANSIBLE_HOST_KEY_CHECKING=False」が必要 set
  • 17. 利用例2:参照NTPサーバーの追加 17 $ ansible -i 172.16.0.1,172.16.0.2 all ¥ -m junos_config ¥ -a "lines='set system ntp server 172.16.0.123'" ¥ -c netconf -u user1 -k -e ansible_network_os=junos SSH password: (パスワード入力) 172.16.0.1 | SUCCESS => { "changed": true } 172.16.0.2 | SUCCESS => { "changed": true } 【結果】
  • 18. 18 まとめ
  • 19. まとめ 19 Ansible には Playbook を作る実行方法と、 作らない実行方法がある 複雑なことをしたくなったら Playbook を作る 作らない実行方法(ansibleコマンド)なら もっと簡単に Ansible を始められる
  • 20. 参考資料 20 公式ドキュメント  ansible コマンドでネットワークモジュール を使う (Run Your First Network Ansible Command)  http://docs.ansible.com/ansible/latest/network/getting_started/first_playbook.html#run-your-first-network-ansible-command  その他 仮想Junos4台とAnsibleホストをVagrantで構築するVagrantfile  http://tekunabe.hatenablog.jp/entry/2017/08/26/junos-ansible-vagrant  仮想ネットワーク機器のオンラインラボサービスの使い方  http://tekunabe.hatenablog.jp/entry/2018/01/05/ntc_labs  Ansible でNW機器を操作したい時に参考になりそうな日本語情報  http://tekunabe.hatenablog.jp/entry/2017/04/06/231243
  • 21. 21 【付録】環境構築
  • 22. 【付録】環境構築 22 (a25) [[email protected] ~]$ pip install ansible (-略-) (a25) [[email protected] ~]$ ansible –version # 確認 ansible 2.5.1 (-略-) ・Ansible のインストール (a25) [[email protected] ~]$ pip install ncclient jxmlease (-略-) Successfully installed jxmlease-1.0.1 lxml-4.2.1 ncclient-0.5.3 ・Junosモジュールで必要なpythonモジュールのインストール 補足: - ncclient: NETCONF対応のpythonモジュール - jxmlease: 今回の利用例の範囲では必要なかったが、Junosモジュールの 公式ページの Requirements に記載があっためインストール junos_commandモジュール ttp://docs.ansible.com/ansible/latest/modules/junos_command_module.html
  • Similar documents
    We Need Your Support
    Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

    Thanks to everyone for your continued support.

    No, Thanks