Soumettre la recherche
Mettre en ligne
Ansible npstudy-shtsuchi
•
3 j'aime
•
3,884 vues
Shishio Tsuchiya
Suivre
ネットワークプログラマビリティ勉強会 #12
Lire moins
Lire la suite
Technologie
Signaler
Partager
Signaler
Partager
1 sur 34
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
Open wrtでwired likeなwifinwを作ってみた。
Open wrtでwired likeなwifinwを作ってみた。
m_masataka
ConfD で Linux にNetconfを喋らせてみた
ConfD で Linux にNetconfを喋らせてみた
Akira Iwamoto
ネットワーク機器のAPIあれこれ入門(NetOpsCoding#2)
ネットワーク機器のAPIあれこれ入門(NetOpsCoding#2)
Kentaro Ebisawa
Dockerと外部ルータを連携させる仕組みを作ってみた
Dockerと外部ルータを連携させる仕組みを作ってみた
npsg
Webアプリケーションによる電源管理システムのご紹介
Webアプリケーションによる電源管理システムのご紹介
npsg
自動でできるかな?
自動でできるかな?
_norin_
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chef
npsg
OpenDaylightを用いた次世代ネットワーク構成管理の考察
OpenDaylightを用いた次世代ネットワーク構成管理の考察
Naoto MATSUMOTO
Recommandé
Open wrtでwired likeなwifinwを作ってみた。
Open wrtでwired likeなwifinwを作ってみた。
m_masataka
ConfD で Linux にNetconfを喋らせてみた
ConfD で Linux にNetconfを喋らせてみた
Akira Iwamoto
ネットワーク機器のAPIあれこれ入門(NetOpsCoding#2)
ネットワーク機器のAPIあれこれ入門(NetOpsCoding#2)
Kentaro Ebisawa
Dockerと外部ルータを連携させる仕組みを作ってみた
Dockerと外部ルータを連携させる仕組みを作ってみた
npsg
Webアプリケーションによる電源管理システムのご紹介
Webアプリケーションによる電源管理システムのご紹介
npsg
自動でできるかな?
自動でできるかな?
_norin_
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chef
npsg
OpenDaylightを用いた次世代ネットワーク構成管理の考察
OpenDaylightを用いた次世代ネットワーク構成管理の考察
Naoto MATSUMOTO
show コマンド結果をパースする方法あれこれ #npstudy
show コマンド結果をパースする方法あれこれ #npstudy
akira6592
Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続
Tomoya Hibi
Mk network programmability-03
Mk network programmability-03
Miya Kohno
スマホのセンサーでネットワークを操る ~Ansible TowerによるレガシーNW機器のAPI化~
スマホのセンサーでネットワークを操る ~Ansible TowerによるレガシーNW機器のAPI化~
akira6592
plotnetcfg入門 | Introduction to plotnetcfg
plotnetcfg入門 | Introduction to plotnetcfg
Kentaro Ebisawa
Webサーバの基礎知識【編集済み】
Webサーバの基礎知識【編集済み】
Kikunaga Taishi
VIRLとPyATSで実現するネットワークCI
VIRLとPyATSで実現するネットワークCI
tetsusat
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線
Motonori Shindo
Lagopus & NFV with Vhost (Tremaday#9)
Lagopus & NFV with Vhost (Tremaday#9)
Tomoya Hibi
st2-docker ことはじめ
st2-docker ことはじめ
Shu Sugimoto
今さら聞けない人のためのDocker超入門 - KOF
今さら聞けない人のためのDocker超入門 - KOF
VirtualTech Japan Inc.
Openflow超解釈
Openflow超解釈
Hiroaki Kawai
Ansible2とOpenStackの関係
Ansible2とOpenStackの関係
Hideki Saito
自動化ハンズオン
自動化ハンズオン
VirtualTech Japan Inc.
OpenContrailのソースコードを探検しよう!
OpenContrailのソースコードを探検しよう!
Takashi Sogabe
VyOSでMPLS
VyOSでMPLS
雄也 日下部
「さくらのクラウド」スタートアップスクリプトを作ってみよう! - concrete5を題材に -(オープンソースカンファレンス2014 Shimane)
「さくらのクラウド」スタートアップスクリプトを作ってみよう! - concrete5を題材に -(オープンソースカンファレンス2014 Shimane)
さくらインターネット株式会社
さくらのクラウドでVyOS使ってみた
さくらのクラウドでVyOS使ってみた
SAKURA Internet Inc.
Container Networking Deep Dive
Container Networking Deep Dive
Hirofumi Ichihara
統合監視ソフトウェア Zabbix新バージョン2.0の紹介
統合監視ソフトウェア Zabbix新バージョン2.0の紹介
takanori suzuki
API イントロダクション APIC-EM, Prime Infrastructure & CMX
API イントロダクション APIC-EM, Prime Infrastructure & CMX
npsg
自動化と画面を考えてみました
自動化と画面を考えてみました
skipping classes
Contenu connexe
Tendances
show コマンド結果をパースする方法あれこれ #npstudy
show コマンド結果をパースする方法あれこれ #npstudy
akira6592
Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続
Tomoya Hibi
Mk network programmability-03
Mk network programmability-03
Miya Kohno
スマホのセンサーでネットワークを操る ~Ansible TowerによるレガシーNW機器のAPI化~
スマホのセンサーでネットワークを操る ~Ansible TowerによるレガシーNW機器のAPI化~
akira6592
plotnetcfg入門 | Introduction to plotnetcfg
plotnetcfg入門 | Introduction to plotnetcfg
Kentaro Ebisawa
Webサーバの基礎知識【編集済み】
Webサーバの基礎知識【編集済み】
Kikunaga Taishi
VIRLとPyATSで実現するネットワークCI
VIRLとPyATSで実現するネットワークCI
tetsusat
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線
Motonori Shindo
Lagopus & NFV with Vhost (Tremaday#9)
Lagopus & NFV with Vhost (Tremaday#9)
Tomoya Hibi
st2-docker ことはじめ
st2-docker ことはじめ
Shu Sugimoto
今さら聞けない人のためのDocker超入門 - KOF
今さら聞けない人のためのDocker超入門 - KOF
VirtualTech Japan Inc.
Openflow超解釈
Openflow超解釈
Hiroaki Kawai
Ansible2とOpenStackの関係
Ansible2とOpenStackの関係
Hideki Saito
自動化ハンズオン
自動化ハンズオン
VirtualTech Japan Inc.
OpenContrailのソースコードを探検しよう!
OpenContrailのソースコードを探検しよう!
Takashi Sogabe
VyOSでMPLS
VyOSでMPLS
雄也 日下部
「さくらのクラウド」スタートアップスクリプトを作ってみよう! - concrete5を題材に -(オープンソースカンファレンス2014 Shimane)
「さくらのクラウド」スタートアップスクリプトを作ってみよう! - concrete5を題材に -(オープンソースカンファレンス2014 Shimane)
さくらインターネット株式会社
さくらのクラウドでVyOS使ってみた
さくらのクラウドでVyOS使ってみた
SAKURA Internet Inc.
Container Networking Deep Dive
Container Networking Deep Dive
Hirofumi Ichihara
統合監視ソフトウェア Zabbix新バージョン2.0の紹介
統合監視ソフトウェア Zabbix新バージョン2.0の紹介
takanori suzuki
Tendances
(20)
show コマンド結果をパースする方法あれこれ #npstudy
show コマンド結果をパースする方法あれこれ #npstudy
Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続
Mk network programmability-03
Mk network programmability-03
スマホのセンサーでネットワークを操る ~Ansible TowerによるレガシーNW機器のAPI化~
スマホのセンサーでネットワークを操る ~Ansible TowerによるレガシーNW機器のAPI化~
plotnetcfg入門 | Introduction to plotnetcfg
plotnetcfg入門 | Introduction to plotnetcfg
Webサーバの基礎知識【編集済み】
Webサーバの基礎知識【編集済み】
VIRLとPyATSで実現するネットワークCI
VIRLとPyATSで実現するネットワークCI
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線
Lagopus & NFV with Vhost (Tremaday#9)
Lagopus & NFV with Vhost (Tremaday#9)
st2-docker ことはじめ
st2-docker ことはじめ
今さら聞けない人のためのDocker超入門 - KOF
今さら聞けない人のためのDocker超入門 - KOF
Openflow超解釈
Openflow超解釈
Ansible2とOpenStackの関係
Ansible2とOpenStackの関係
自動化ハンズオン
自動化ハンズオン
OpenContrailのソースコードを探検しよう!
OpenContrailのソースコードを探検しよう!
VyOSでMPLS
VyOSでMPLS
「さくらのクラウド」スタートアップスクリプトを作ってみよう! - concrete5を題材に -(オープンソースカンファレンス2014 Shimane)
「さくらのクラウド」スタートアップスクリプトを作ってみよう! - concrete5を題材に -(オープンソースカンファレンス2014 Shimane)
さくらのクラウドでVyOS使ってみた
さくらのクラウドでVyOS使ってみた
Container Networking Deep Dive
Container Networking Deep Dive
統合監視ソフトウェア Zabbix新バージョン2.0の紹介
統合監視ソフトウェア Zabbix新バージョン2.0の紹介
En vedette
API イントロダクション APIC-EM, Prime Infrastructure & CMX
API イントロダクション APIC-EM, Prime Infrastructure & CMX
npsg
自動化と画面を考えてみました
自動化と画面を考えてみました
skipping classes
ラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよ
npsg
CDP Indicator
CDP Indicator
npsg
ネットワークプログラマビリティ勉強会 これまでのおさらい
ネットワークプログラマビリティ勉強会 これまでのおさらい
npsg
「ITエンジニアリングの本質」を考える
「ITエンジニアリングの本質」を考える
Etsuji Nakai
物理ネットワーク受け入れテストの自動化を考える
物理ネットワーク受け入れテストの自動化を考える
skipping classes
いんふらフレンズ
いんふらフレンズ
Miho Yamamoto
Apache Spark+Zeppelinでアドホックなネットワーク解析
Apache Spark+Zeppelinでアドホックなネットワーク解析
npsg
VPP事始め
VPP事始め
npsg
Contiv
Contiv
Shogo Katsurada
ネットワークプログラマビリティ勉強会
ネットワークプログラマビリティ勉強会
Tomoya Hibi
ラズパイ2で動く Docker PaaS
ラズパイ2で動く Docker PaaS
npsg
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Etsuji Nakai
ELK ではじめる自宅ネットワーク監視
ELK ではじめる自宅ネットワーク監視
npsg
Ansible x napalm x nso 解説・比較パネルディスカッション nso
Ansible x napalm x nso 解説・比較パネルディスカッション nso
Akira Iwamoto
NetOpsCoding#5 introduction
NetOpsCoding#5 introduction
Taiji Tsuchiya
Telemetry事始め
Telemetry事始め
npsg
ネットワーク運用とIoT
ネットワーク運用とIoT
cloretsblack
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy
Yahoo!デベロッパーネットワーク
En vedette
(20)
API イントロダクション APIC-EM, Prime Infrastructure & CMX
API イントロダクション APIC-EM, Prime Infrastructure & CMX
自動化と画面を考えてみました
自動化と画面を考えてみました
ラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよ
CDP Indicator
CDP Indicator
ネットワークプログラマビリティ勉強会 これまでのおさらい
ネットワークプログラマビリティ勉強会 これまでのおさらい
「ITエンジニアリングの本質」を考える
「ITエンジニアリングの本質」を考える
物理ネットワーク受け入れテストの自動化を考える
物理ネットワーク受け入れテストの自動化を考える
いんふらフレンズ
いんふらフレンズ
Apache Spark+Zeppelinでアドホックなネットワーク解析
Apache Spark+Zeppelinでアドホックなネットワーク解析
VPP事始め
VPP事始め
Contiv
Contiv
ネットワークプログラマビリティ勉強会
ネットワークプログラマビリティ勉強会
ラズパイ2で動く Docker PaaS
ラズパイ2で動く Docker PaaS
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
ELK ではじめる自宅ネットワーク監視
ELK ではじめる自宅ネットワーク監視
Ansible x napalm x nso 解説・比較パネルディスカッション nso
Ansible x napalm x nso 解説・比較パネルディスカッション nso
NetOpsCoding#5 introduction
NetOpsCoding#5 introduction
Telemetry事始め
Telemetry事始め
ネットワーク運用とIoT
ネットワーク運用とIoT
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy
Similaire à Ansible npstudy-shtsuchi
FD.io VPP事始め
FD.io VPP事始め
tetsusat
Trema での Open vSwitch
Trema での Open vSwitch
kazuyas
「さくらのクラウド」におけるVyattaの活用事例
「さくらのクラウド」におけるVyattaの活用事例
SAKURA Internet Inc.
巨大ポータルを支えるプライベート・クラウド構築事例から学べ!~攻める情シスのためのインフラ構築、その極意とは?~
巨大ポータルを支えるプライベート・クラウド構築事例から学べ!~攻める情シスのためのインフラ構築、その極意とは?~
Brocade
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
Akihiro Kuwano
Vyatta: The Virtual Router for Cloud Computing Enviroment
Vyatta: The Virtual Router for Cloud Computing Enviroment
Naoto MATSUMOTO
Brocade SDN Controller -Sample Code for Brocade vRouter-
Brocade SDN Controller -Sample Code for Brocade vRouter-
Brocade
20170329 container technight-第一回勉強会
20170329 container technight-第一回勉強会
Minehiko Nohara
20170329 container technight-第一回勉強会
20170329 container technight-第一回勉強会
Minehiko Nohara
2010 04クラウド技術講座
2010 04クラウド技術講座
sisawa
配布用Beginnerならきっと役立つmaster slave環境
配布用Beginnerならきっと役立つmaster slave環境
yut148atgmaildotcom
Bird in show_net
Bird in show_net
Tomoya Hibi
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Tomoya Hibi
OpenStack with OpenFlow
OpenStack with OpenFlow
Toshiki Tsuboi
VlanManagerを使ってみた
VlanManagerを使ってみた
Hiroki Ishikawa
JOSUG 9th Study
JOSUG 9th Study
irix_jp
Antenna 20180306 AzureのIaaSで構築する、シンプルなWebサーバ環境
Antenna 20180306 AzureのIaaSで構築する、シンプルなWebサーバ環境
akio doi
20150715 xflow kikuta_final
20150715 xflow kikuta_final
Kazumasa Ikuta
データセンター進化論:SDNは今オープンに ~攻めるITインフラにの絶対条件とは?~
データセンター進化論:SDNは今オープンに ~攻めるITインフラにの絶対条件とは?~
Brocade
Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像
Sho Shimizu
Similaire à Ansible npstudy-shtsuchi
(20)
FD.io VPP事始め
FD.io VPP事始め
Trema での Open vSwitch
Trema での Open vSwitch
「さくらのクラウド」におけるVyattaの活用事例
「さくらのクラウド」におけるVyattaの活用事例
巨大ポータルを支えるプライベート・クラウド構築事例から学べ!~攻める情シスのためのインフラ構築、その極意とは?~
巨大ポータルを支えるプライベート・クラウド構築事例から学べ!~攻める情シスのためのインフラ構築、その極意とは?~
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
Vyatta: The Virtual Router for Cloud Computing Enviroment
Vyatta: The Virtual Router for Cloud Computing Enviroment
Brocade SDN Controller -Sample Code for Brocade vRouter-
Brocade SDN Controller -Sample Code for Brocade vRouter-
20170329 container technight-第一回勉強会
20170329 container technight-第一回勉強会
20170329 container technight-第一回勉強会
20170329 container technight-第一回勉強会
2010 04クラウド技術講座
2010 04クラウド技術講座
配布用Beginnerならきっと役立つmaster slave環境
配布用Beginnerならきっと役立つmaster slave環境
Bird in show_net
Bird in show_net
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
OpenStack with OpenFlow
OpenStack with OpenFlow
VlanManagerを使ってみた
VlanManagerを使ってみた
JOSUG 9th Study
JOSUG 9th Study
Antenna 20180306 AzureのIaaSで構築する、シンプルなWebサーバ環境
Antenna 20180306 AzureのIaaSで構築する、シンプルなWebサーバ環境
20150715 xflow kikuta_final
20150715 xflow kikuta_final
データセンター進化論:SDNは今オープンに ~攻めるITインフラにの絶対条件とは?~
データセンター進化論:SDNは今オープンに ~攻めるITインフラにの絶対条件とは?~
Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像
Ansible npstudy-shtsuchi
1.
Copyright © Arista
2016. All rights reserved.Copyright © Arista 2016. All rights reserved.1 ネットワーク運用者の為のAnsible Shishio Tsuchiya shtsuchi@arista.com
2.
Copyright © Arista
2016. All rights reserved. Agenda • Ansible基礎 • デモ • Ansibleハッカソンイベントレポート 2
3.
Copyright © Arista
2016. All rights reserved. 自前 インテグレーションの為の カスタム開発 ソフトウェア開発のリソー スと考え方 DevOps 既存のツールを活用 (Puppet, Chef,Ansibleな ど) スクリプトベースの統合 とカスタマイズ ターンキー 現状は選択肢は少ない レガシー・モデル 顧客はクラウド・オートメーショ ンの為にもターンキー・ソリュー ションが必要 クラウド・ネットワーキングへのアプローチ 大規模クラウド 事業者 先進エンタープライズ / サービスプロバイダー 従来型エンタープライズ / サービスプロバイダー 10,000エンジニア1人あたりネットワーク機器 … … … … … 1,000エンジニア1人あたりネットワーク機器 100エンジニア1人あたりネットワーク機器
4.
Copyright © Arista
2016. All rights reserved. Ansibleとは何か? • Red hatのオープンソースの構成管理ツール • 読みやすい - タスク内容を記述するPlaybookはテキスト形式(YAML) • エージェンスレス - Chef/Puppetとは違いクライアントにエージェントが要らない • 他のオープンソースとの連携が可能 4
5.
Copyright © Arista
2016. All rights reserved. Playbook • YAML形式で書かれた設定構成ファイル • hosts:ターゲット • tasks:実施する項目 • handlers:変更があった時の動作 5 --- - hosts: webservers vars: http_port: 80 max_clients: 200 remote_user: root tasks: - name: ensure apache is at the latest version yum: name=httpd state=latest - name: write the apache config file template: src=/srv/httpd.j2 dest=/etc/httpd.conf notify: - restart apache - name: ensure apache is running (and enable it at boot) service: name=httpd state=started enabled=yes handlers: - name: restart apache service: name=httpd state=restarted
6.
Copyright © Arista
2016. All rights reserved. プレイブック 6 右サイド!すぐ上がって 10番! 裏側に走って シュート打ったら、すぐ戻る!! hosts:右サイド、10番 group:右サイド(7番と5番) tasks:すぐ上がって、裏側走って handler:すぐ戻る
7.
Copyright © Arista
2016. All rights reserved. YAML(YAML Ain't a Markup Language) • 読みやすい(インデントで階層構造) • わかりやすい • 一般的な拡張子は.yml 7 --- - hosts: pod1_leafs connection: local gather_facts: no tasks: - name: Configure Arista Vlans eos_template: src: vlans.j2 provider: "{{ eos_connection }}" --- で始まる - で始まる Key: Value ネストの時は半角スペース “{{変数}}”
8.
Copyright © Arista
2016. All rights reserved. Ansibleバージョン/その他 • Ansible, Inc をRed hadが買収 2015年10月 • 2.0.0 - Red hatとして初めてのリリース - それまでのコミュニティハブ(Ansible Galaxsy)を保つ • 2.1.0 - ネットワーク機器のサポート拡大 - Cisco/HPE/Juniper/Arista/Cumulus • 2.2.0 - ネットワーク機器サポート拡大(Nokia/Vyos/F5 etc) - Docker/クラウドサービス • 2.3.0 - Netconf追加 - Persistent Connection追加 • Ansible Tower - ユーザインターフェース提供やスケジューリング管理などを行う有料ツール - https://www.ansible.com/tower • Jinjya2 - 組み込みのテンプレートエンジン 8
9.
Copyright © Arista
2016. All rights reserved. Ansible Network Module • 標準モジュールとして提供 http://docs.ansible.com/ansible/list_of_network_modules.html • 各ベンダー機器毎にモジュールを提供 - eos_command – Arista EOSの為の管理コマンド実行 - eos_config – Arista EOSの設定コマンド - eos_eapi – Arista EOS eAPI管理と設定コマンド - eos_facts –Arista EOSを実行してるリモートデバイスの情報を収集 - eos_template (D) – Arista EOSデバイスの管理 *重複(D) eos_configを使用する事 9
10.
Copyright © Arista
2016. All rights reserved. Ansibleデモ 10 > vEOS1 vEOS2 Management 10.10.1.0/24.100 .1 .2
11.
Copyright © Arista
2016. All rights reserved. 初期状態 11 > vEOS1 vEOS2 Management 10.10.1.0/24.100 .1 .2 vEOS1#show running-config ! Command: show running-config ! device: vEOS1 (vEOS, EOS-4.16.9M) ! ! boot system flash:/vEOS-lab.swi ! transceiver qsfp default-mode 4x10G ! hostname vEOS1 ! spanning-tree mode mstp ! no aaa root ! username admin role network-admin secret 5 $1$R/oUJCiz$/Ezl61/NxHyLhyHSfayJj/ ! interface Ethernet1 ! interface Ethernet2 ! interface Management1 ip address 10.10.1.1/24 ! no ip routing ! management api http-commands protocol http no shutdown ! ! end • managementの設定のみ - http/https/sshなどが設定可能
12.
Copyright © Arista
2016. All rights reserved. 初期状態 12 > vEOS1 vEOS2 Management 10.10.1.0/24.100 .1 .2 vEOS1#show management api http-commands Enabled: Yes HTTPS server: running, set to use port 443 HTTP server: running, set to use port 80 Local HTTP server: shutdown, no authentication, set to use port 8080 Unix Socket server: shutdown, no authentication VRF: default Hits: 0 Last hit: never Bytes in: 0 Bytes out: 0 Requests: 0 Commands: 0 Duration: 0.000 seconds SSL Profile: none QoS DSCP: 0 URLs ----------------------------------- Management1 : https://10.10.1.1:443 Management1 : http://10.10.1.1:80 • vlan設定の追加 • インターフェース設定 • OSPF設定
13.
Copyright © Arista
2016. All rights reserved. Playbook for inventory 13 > vEOS1 vEOS2 Management 10.10.1.0/24.100 .1 .2 arista@ubuntu:~/eos_central_demo$ more showver.yaml --- - hosts: pod1_leafs connection: local gather_facts: yes vars: eos_connection: host: "{{ inventory_hostname }}" username: admin password: admin tranport: eapi use_ssl: false authorize: true tasks: - name: Gather info from Show Version eos_command: commands: - show version provider: '{{ eos_connection }}' register: result - debug: var=result
14.
Copyright © Arista
2016. All rights reserved. Playbook execute 14 > vEOS1 vEOS2 Management 10.10.1.0/24.100 .1 .2 arista@ubuntu:~/eos_central_demo$ ansible-playbook -i hosts showver.yaml PLAY [pod1_leafs] ************************************************************** TASK [setup] ******************************************************************* ok: [vEOS2] ok: [vEOS1] TASK [Gather info from Show Version] ******************************************* ok: [vEOS2] ok: [vEOS1] TASK [debug] ******************************************************************* ok: [vEOS2] => { "result": { "changed": false, "stdout": [ "Arista vEOS¥nHardware version: ¥nSerial number: ¥nSystem MAC address: 0800.2745.50af¥n¥nSoftware image version: 4.16.9M¥nArchitecture: i386¥nInternal build version: 4.16.9M-3799680.4169M¥nInternal build ID: 5dc3cc62-22ea-4df1-b501- 5761ced5f183¥n¥nUptime: 58 minutes¥nTotal memory: 1897540 kB¥nFree memory: 39020 kB¥n" ], "stdout_lines": [ [ "Arista vEOS", "Hardware version: ", "Serial number: ", "System MAC address: 0800.2745.50af", "", "Software image version: 4.16.9M", "Architecture: i386", "Internal build version: 4.16.9M-3799680.4169M", "Internal build ID: 5dc3cc62-22ea-4df1-b501-5761ced5f183", "", "Uptime: 58 minutes", "Total memory: 1897540 kB", "Free memory: 39020 kB", "”
15.
Copyright © Arista
2016. All rights reserved. テンプレートの作り方 15 vEOS1 ! vlan 39 name JANOG39 ! interface Ethernet1 description vEOS1-vEOS2 no switchport ip address 10.1.1.1/30 ! interface Loopback0 ip address 10.255.255.1/32 ! router ospf 1 network 10.0.0.0/8 area 0.0.0.0 vEOS2 ! vlan 39 name JANOG39 ! interface Ethernet1 description vEOS1-vEOS2 no switchport ip address 10.1.1.2/30 ! interface Loopback0 ip address 10.255.255.2/32 ! router ospf 1 network 10.0.0.0/8 area 0.0.0.0 vlanテンプレート インターフェース テンプレート
16.
Copyright © Arista
2016. All rights reserved. vlan設定の追加 16 > vEOS1 vEOS2 .100 .1 .2 ! vlan 39 name JANOG39 ! ! vlan 39 name JANOG39 ! configure_eos.yaml tasks: - name: Configure Arista Vlans eos_template: src: vlans.j2 provider: "{{ eos_connection }}" templates/vlans.j2 {% for vlan in vlans %} vlan {{ vlan.vlanid }} name {{ vlan.name }} {% endfor %} group_vars/pod1_leafs vlans: - vlanid: 39 name: JANOG39 やりたい コンフィグ 共通項目 jinjya2テンプレート 呼び出し 共通項目の読み出し
17.
Copyright © Arista
2016. All rights reserved. インターフェース設定の追加 17 > vEOS1 vEOS2 .100 .1 .2 interface Ethernet1 description vEOS1-vEOS2 no switchport ip address 10.1.1.1/30 interface Ethernet1 description vEOS1-vEOS2 no switchport ip address 10.1.1.2/30 configure_eos.yaml - name: ConfigureArista Eth Interfaces eos_template: src: intf.j2 provider: "{{ eos_connection }}" templates/intf.j2 {% for intf in interfaces %} interface {{ intf.name }} description {{ intf.description }} no switchport ip address {{ intf.address }} {% endfor %} host_vars/vEOS1 interfaces: - name: Ethernet1 description: 'vEOS1-vEOS2' address: 10.1.1.1/30 ノード毎に差分 jinjya2テンプレート 呼び出し host_vars/vEOS2 interfaces: - name: Ethernet1 description: 'vEOS1-vEOS2' address: 10.1.1.2/30
18.
Copyright © Arista
2016. All rights reserved. --- - hosts: pod1_leafs connection: local gather_facts: no tasks: - name: Configure Arista Vlans eos_template: src: vlans.j2 provider: "{{ eos_connection }}" - name: ConfigureArista Eth Interfaces eos_template: src: intf.j2 provider: "{{ eos_connection }}" Playbook 18 誰がプレイをするのか? ./hosts [pod1_leafs] vEOS1 vEOS2 groupには誰が所属する のか? groupの変数 group_vars/pod1_leafs vlans: - vlanid: 39 name: JANOG39 host毎の変数 host_vars/vEOS1 interfaces: - name: Ethernet1 description: 'vEOS1-vEOS2' address: 10.1.1.1/30 host_vars/vEOS2 interfaces: - name: Ethernet1 description: 'vEOS1-vEOS2' address: 10.1.1.2/30 taskを実行
19.
Copyright © Arista
2016. All rights reserved. Playbook実行 19 > vEOS1 vEOS2 Management 10.10.1.0/24.100 .1 .2 arista@ubuntu:~/eos_central_demo$ ansible-playbook -i hosts configure_eos.yaml PLAY [pod1_leafs] ************************************************************** TASK [Configure Arista Vlans] ************************************************** ok: [vEOS2] ok: [vEOS1] TASK [ConfigureArista Eth Interfaces] ****************************************** ok: [vEOS1] ok: [vEOS2] TASK [Configure Loopback] ****************************************************** changed: [vEOS2] changed: [vEOS1] TASK [Configure Routing] ******************************************************* changed: [vEOS2] changed: [vEOS1] PLAY RECAP ********************************************************************* vEOS1 : ok=4 changed=2 unreachable=0 failed=0 vEOS2 : ok=4 changed=2 unreachable=0 failed=0
20.
Copyright © Arista
2016. All rights reserved. 実行後アウトプット 20 > vEOS1 vEOS2 Management 10.10.1.0/24.100 .1 .2 vEOS1#show management api http-commands Enabled: Yes HTTPS server: running, set to use port 443 HTTP server: running, set to use port 80 Local HTTP server: shutdown, no authentication, set to use port 8080 Unix Socket server: shutdown, no authentication VRF: default Hits: 34 Last hit: 450 seconds ago Bytes in: 5700 Bytes out: 10628 Requests: 32 Commands: 103 Duration: 14.547 seconds SSL Profile: none QoS DSCP: 0 User Requests Bytes in Bytes out Last hit ----------- -------------- -------------- --------------- --------------- admin 32 5700 10628 450 seconds ago URLs -------------------------------------- Ethernet1 : https://10.1.1.1:443 Ethernet1 : http://10.1.1.1:80 Loopback0 : https://10.255.255.1:443 Loopback0 : http://10.255.255.1:80 Management1 : https://10.10.1.1:443 Management1 : http://10.10.1.1:80
21.
Copyright © Arista
2016. All rights reserved. 実行後アウトプット 21 > vEOS1 vEOS2 Management 10.10.1.0/24 vEOS1#show ip route VRF name: default Codes: C - connected, S - static, K - kernel, O - OSPF, IA - OSPF inter area, E1 - OSPF external type 1, E2 - OSPF external type 2, N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type2, B I - iBGP, B E - eBGP, R - RIP, I L1 - ISIS level 1, I L2 - ISIS level 2, A B - BGP Aggregate, A O - OSPF Summary, NG - Nexthop Group Static Route, V - VXLAN Control Service Gateway of last resort is not set C 10.1.1.0/30 is directly connected, Ethernet1 C 10.10.1.0/24 is directly connected, Management1 C 10.255.255.1/32 is directly connected, Loopback0 O 10.255.255.2/32 [110/20] via 10.1.1.2, Ethernet1 vEOS2#show ip route VRF name: default Codes: C - connected, S - static, K - kernel, O - OSPF, IA - OSPF inter area, E1 - OSPF external type 1, E2 - OSPF external type 2, N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type2, B I - iBGP, B E - eBGP, R - RIP, I L1 - ISIS level 1, I L2 - ISIS level 2, A B - BGP Aggregate, A O - OSPF Summary, NG - Nexthop Group Static Route, V - VXLAN Control Service Gateway of last resort is not set C 10.1.1.0/30 is directly connected, Ethernet1 C 10.10.1.0/24 is directly connected, Management1 O 10.255.255.1/32 [110/20] via 10.1.1.1, Ethernet1 C 10.255.255.2/32 is directly connected, Loopback0
22.
Copyright © Arista
2016. All rights reserved. まとめ • Ansibleは読みやすく、エージェントレス • ネットワーク機器の対応も幅広くなってきた • またサーバーやクラウド対応も増え、連携がしやす い 22
23.
Copyright © Arista
2016. All rights reserved.Copyright © Arista 2016. All rights reserved. Ansibleハッカソン @沖縄オープンラボ 23
24.
Copyright © Arista
2016. All rights reserved. イベント情報 • 場所: 沖縄オープンラボ - http://www.okinawaopenlabs.org/ • 期間: - 2017年2月9日-11日 • コーディネーター: - 齊藤 秀喜さん(IIJ) - 元木 顕弘さん(NEC) - 西野 大さん(BroadBand Tower) 24
25.
Copyright © Arista
2016. All rights reserved. 参加企業 • Arista Networks • APCommunications • BroadBand Tower • NTT Neomate • IIGA • NEC 25 • OKIT • Temp Stuff Forum • NTT PC Communications • NTT Communications • NEC Solution Innovators
26.
Copyright © Arista
2016. All rights reserved. Ansibleハッカソン風景 26
27.
Copyright © Arista
2016. All rights reserved. スケジュール • 1日目 - Ansibleベーシック by斉藤さん・本木さん - ラボセットアップ - Ansibleテスト on Cumulus Linux • 2日目 - Ansibleテスト on VNF ≫ Arista vEOS ≫ Cisco CSR1000v/IOS-XRv ≫ Juniper vSRX - 実施内容や失敗談を共有、もしくはその場でトラ ブルシューティング ≫ ほとんどのケースが環境トラブル 27 • Day3 - Ansible テスト on PNF ≫ Arista 7050TX ≫ Juniper EX4200 ≫ IPinfusion OcNOS - セキュリティについての議論
28.
Copyright © Arista
2016. All rights reserved. Ansible Network Module http://docs.ansible.com/ansible/list_of_network_modules.html 28 Vender Arista Cisco Cisco Cumulus Juniper OS EOS IOS/IOS-XE IOS-XR Cumulus Linux JUNOS メモ eos_config はauthorize: true が必要 設定を保存するた めにはsave:yes ios_config authorize: true が 必要 設定を保存するた めにはsave:yes commit がデフォルトで動く formalコマンドもサポート インターフェースを変え た時にはrestartが必 要 localアクションではなく、 リモート NETCONF で動作する ためjunos- ezncが必要 commit が デフォルトで 動く
29.
Copyright © Arista
2016. All rights reserved. connection=local 29 SSH 実行 eAPI(http/https) CLI(SSH)
30.
Copyright © Arista
2016. All rights reserved. ベンダー毎の違い 30 shtsuchi:AnsibleHackson shtsuchi$ more arista- config.yaml --- - hosts: Arista connection: local gather_facts: yes vars: eos_connection: host: "{{ inventory_hostname }}" username: ool password: Okinawa2017# tranport: eapi use_ssl: false authorize: true tasks: - debug: var=inventory_hostname - name: loopback config eos_config: lines: - interface loopback 440 - ip address 10.255.255.44/32 - description configure from ansible provider: '{{ eos_connection }}' save: yes register: result - debug: var=result shtsuchi:AnsibleHackson shtsuchi$ more junos- config.yaml --- - hosts: JUNOS connection: local gather_facts: yes vars: junos_connection: host: "{{ inventory_hostname }}" username: ool password: Okinawa2017# tasks: - debug: var=inventory_hostname - name: config loopback junos_config: lines: - set interfaces lo0.0 family inet address 10.255.255.44/32 provider: '{{ junos_connection }}' #register: result - debug: var=result shtsuchi:AnsibleHackson shtsuchi$ more xr-config.yaml --- - hosts: IOS-XR connection: local gather_facts: yes vars: xr_connection: host: "{{ inventory_hostname }}" username: ool password: Okinawa2017# tasks: - debug: var=inventory_hostname - name: config loopback iosxr_config: commands: - interface loopback440 - description create by ansible - interface Loopback440 ipv4 address 10.255.255.4/32 provider: '{{ xr_connection }}' #register: result - debug: var=result
31.
Copyright © Arista
2016. All rights reserved. セキュリティtips • playbooksはusername/passwordを表示してしまう • ansible-vaultは暗号化出来る 31 shtsuchi:AnsibleHackson shtsuchi$ ansible-vault encrypt arista-config.yaml Vault password: Encryption successful shtsuchi:AnsibleHackson shtsuchi$ more arista-config.yaml $ANSIBLE_VAULT;1.1;AES256 63356232333930313137393130303563663535303264386630313561336133626565396339333936 3562333238663533356330346436333238333065663636650a393765616662636431613665396238 --
32.
Copyright © Arista
2016. All rights reserved. 議論まとめ • ほとんどの機器がlocal コネクション • PNFとVNFの違いはない • ansible-vaultはパスワード管理に有効 - http://docs.ansible.com/ansible/playbooks_vault.html 32
33.
Copyright © Arista
2016. All rights reserved. 参考URL • Why Ansible? https://www.ansible.com/it-automation • Network Automation with Ansible https://www.ansible.com/network-automation • Arista + Ansible – Getting Started https://eos.arista.com/arista-ansible-getting-started/ 33
34.
Copyright © Arista
2016. All rights reserved.Copyright © Arista 2016. All rights reserved. www.arista.com Thank You
Télécharger maintenant