SlideShare a Scribd company logo
1 of 33
Download to read offline
Ansible 2.10 と Collection
株式会社エーピーコミュニケーションズ
技術開発部 自動化グループ
横地 晃
1
2020/10/07 AP Tech Fest
内部構造が変わった Ansible のおはなし
はじめに
 先日、Ansible 2.10.0 がリリースされました。
 Collection によるモジュールの配布が本格的となり、
標準モジュール は 70程度に減りました。
 Ansible 2.10 と Collection の関係や、ポータビリティなどをご紹介します。
2
2.9 2.10
自己紹介
3
所属
(株)エーピーコミュニケーションズ
技術開発部 自動化グループ
業務 ネットワーク自動化の支援、各種アウトプット
コミュニティ Ansible ユーザー会、JANOG など
共著
寄稿
Ansible 実践ガイド 第3版
Software Design 2018年12月号 他
横地 晃 @akira6592
https://book.impress.co.jp/books/1118101094
https://tekunabe.hatenablog.jp/
てくなべ(ブログ)
kindle 版半額!
(10/7現在)
内容
 Ansible 2.10 の基本
 Ansible 2.10 の導入
 Collection の操作
 今までの Playbook は動くの?
 気になるアップデート
 まとめ
4
Ansible 2.10 の基本
標準モジュールが激減
5
Collection の本格運用により標準モジュールが激減
 Ansible 2.9 までは 3000 以上あった標準モジュールは 2.10 では約 70 に
 他のモジュールは「Collection」による配布に移行
 ポータビリティはある程度確保されているため、過度な心配は不要(後述)
6
基本機能
標準モジュール
基本機能
標準モジュール
移行された
Collection 群
移行
※ 標準モジュール: https://docs.ansible.com/ansible/latest/collections/ansible/builtin/index.html#module-plugins
※ Ansible Galaxy や Automation Hub では、2.9 での標準モジュールから移行された Collection だけなく、独自のものも管理されている
2.9 2.10
Ansible Galaxy や
Automation Hub
基本機能と標準モジュールは ansible-base に
 基本機能と標準モジュールは ansible-base と呼ばれる
 「pip install ansible」は ansible-base と 、移行された Collection のセット
7
2.9 ansible-base 2.10
基本機能
標準モジュール
基本機能
標準モジュール
ansible 2.10
移行された
Collection 群
Ansible Galaxy や
Automation Hub
※ ansible-base リリース履歴: 2020/08/14 2.10.0、2020/09/15 2.10.1、2020/10/06 2.10.2
※ ansible リリース履歴: 2020/09/23 2.10.0
Collection
Collection
そもそも Collection とは
 モジュールやプラグインなどをまとめて配布する単位
 Ansible Galaxy や Automation Hub 経由で配布
 リポジトリは https://github.com/ansible-collections 配下や独自管理
 hoge.fuga のような形式の名前空間が設けられる
 含まれるモジュール類は hoge.fuga.piyo という形式(FQCN)
8
例: ansible.netcommon Collection
モジュール例 プラグイン例
ansible.necommon.cli_command
ansible.necommon.cli_config
ansible.necommon.network
ansible.necommon.ipaddr
※ FQCN: Fully Qualified Collection Name
※ Collection を取り巻く概要: https://github.com/ansible-collections/overview
モジュール
プラグイン
:
Ansible Galaxy による Collection の配布
 例: ansible.netcommon Collection
 https://galaxy.ansible.com/ansible/netcommon
9
なんで ansible-base と collection に分かれたの?(私見含む)
 ansible 本体と Collection のリリースサイクルを分類
 本体の安定性と新機能の取捨選択を両立
 「新しいモジュールを使いたいけど ansible のバージョンアップは
影響が大きそうでできない・・」といった悩みがなくなりそう
10
ansible-base 2.10
基本機能
標準モジュール
必要な Collection の
インストール・アップデート
Collection 群
※ FQCN: Fully Qualified Collection Name
※ Collection を取り巻く概要: https://github.com/ansible-collections/overview
※ 参考 Collections signal major shift in Ansible ecosystem https://www.jeffgeerling.com/blog/2020/collections-signal-major-shift-ansible-ecosystem
Ansible 2.10 の導入
インストール、アップグレード
11
インストール
 ansible-base
 ansible 基本機能と標準モジュール
 ansible
 ansible-base と 移行された Collection のセット
12
pip install ansible-base
pip install ansible
基本機能
標準モジュール
移行した
Collection 群
今まで通り
※ pip install ansible でインストールした場合、セットの Collection は <python環境>/lib/python3.X/site-packages/ansible_collections/ 配下にインストールされる
アップグレード
 ansible 2.9 から ansible 2.10 へのアップグレード
 一度アインインストールしてから再インストール
 直接アップグレードできないのは ansible 2.10.0 時点の Known Issue
13
pip uninstall ansible
pip install ansible
venv などで別環境に
したほうがよさそう
Collection の操作
インストール、アップグレード、確認
14
これからは Collection を操作する機会が増えそう
 ansible のセットの Collection をアップグレードしたい場合
 ansible-base をインストールしたあと、標準モジュール以外を利用する場合
 など
15
Collection のインストール
 Ansible Galaxy や Automation Hub で対象の Collection を見つけてインストール
 デフォルトでは ~/.ansible/collections/ansible_collections/ コレクション名/ にインストール
 -p オプションや、ansible.cfg の [defaults] 内 collections_path の指定で変更可能
16
ansible-galaxy collection install コレクション名
※ Installing collections: https://docs.ansible.com/ansible/latest/user_guide/collections_using.html#installing-collections
インストールコマンド
が載っている
Collection のアップグレード
 現状、アップグレード専用コマンドがないため、
-f オプション で強制的に最新をインストール
17
ansible-galaxy collection install コレクション名 -f
※ Installing collections: https://docs.ansible.com/ansible/latest/user_guide/collections_using.html#installing-collections
ポイント
Collection の確認
 インストールした Collection をコマンドで確認可能
 デフォルトでは ~/.ansible/collections/ansible_collections/ 配下を検索
 つまり pip install ansible でセットでインストールされた Collection がある
<python環境>/lib/python3.X/site-packages/ansible_collections/ は検索しない。
 ansible 2.10.0 時点の Known Issue。明示的に検索先を指定する場合は -p オプションなどを利用する
18
ansible-galaxy collection list
※ Listing collections: https://docs.ansible.com/ansible/latest/user_guide/collections_using.html#listing-collections
※ Known Issues: https://docs.ansible.com/ansible/latest/porting_guides/porting_guide_2.10.html#known-issues
(a210) [sakana@centos7 ~]$ ansible-galaxy collection list
# /home/sakana/.ansible/collections/ansible_collections
Collection Version
-------------------- -------
ansible.netcommon 1.1.2
cisco.nxos 1.1.0
netbox.netbox 1.0.0
実行例
補足1: Ansible Tower で利用する Collection を自動インストールする
 プロジェクトの collections/requirements.yml に
必要な Collection 名を指定しておくと自動でインストールされる
19
※ Collections Support: https://docs.ansible.com/ansible-tower/latest/html/userguide/projects.html#collections-support
※ requirements.yml の書き方例 https://docs.ansible.com/ansible/latest/user_guide/collections_using.html#install-multiple-collections-with-a-requirements-file
---
collections:
- ansible.netcommon
例
補足2: Collection と Red Hat サポートなど
 Ansible Supported Collections, Versioning, and Release Strategy
 https://access.redhat.com/articles/4993781
 Ansible Automation Platform Certified Content
 https://access.redhat.com/articles/3642632
20
今までの Playbook は動くの?
気になるポータビリティ
21
サンプル Playbook(準備)
 環境
 python 3.6.8、新規 venv に paramiko インストール
 pip install ansible でインストール
 Playbook
 Ansible 2.9 向けに書いた右記のもの
22
---
- hosts: ios
gather_facts: false
tasks:
- name: show ip route
ios_command:
commands:
- show ip route
register: resgister_show_ip_route
- name: debug route
debug:
msg: "{{ resgister_show_ip_route.stdout_lines }}"
標準ではなくなったモジュール
デモ
サンプル Playbook(実行)
 Playbook の修正なしに動いた
23
(a2100) [root@centos7 stumble]# ansible-playbook -i inventory.ini ios_show.yml
PLAY [ios] ***********************************************************************************
TASK [show ip route] *************************************************************************
ok: [rt01]
TASK [debug route] ***************************************************************************
ok: [rt01] => {
"msg": [
[
"Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP",
...(略)...
"C 10.255.255.1/32 is directly connected, Loopback0",
"O 10.255.255.2/32 [110/2] via 10.0.0.2, 04:59:05, GigabitEthernet0/3",
" 192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks",
"C 192.168.1.0/24 is directly connected, GigabitEthernet0/0",
"L 192.168.1.11/32 is directly connected, GigabitEthernet0/0"
]
]
}
PLAY RECAP ***********************************************************************************
rt01 : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
デモ
動く理由1: Collection がセットだから
 「pip install ansible」で、移行された Collection もセットでインストールされる
 そのため 2.9 までの標準モジュールが 2.10 でも利用できる
 ただし、移行後も開発が進むうえで仕様変更や廃止もあり得る
24
ansible-base 2.10
基本機能
標準モジュール
ansible 2.10
移行された
collection 群
※ セットの Collection の定義 (ansible 2.10.0 の例): https://github.com/ansible-community/ansible-build-data/blob/main/2.10/ansible-2.10.0.deps
動く理由2: リダイレクト機能があるから
 コレクション名を含まないモジュール名の指定(例 ios_command)でも
cisco.ios.ios_command のような FQCN に解決するリダイレクト機能がある
 ansible-base としての機能
 もともと標準でなかったモジュールの定義は含まれない
25※ リダイレクトの定義 (ansible-base 2.10.1 の例): https://github.com/ansible/ansible/blob/v2.10.1/lib/ansible/config/ansible_builtin_runtime.yml
plugin_routing:
# ...(略)...
modules:
# ...(略)...
ios_command:
redirect: cisco.ios.ios_command
ios_static_route:
redirect: cisco.ios.ios_static_route
# ...(略)...
単に ios_command と指定すれば
cisco.ios.ios_command と
解釈してくれる
とはいえ Porting Guide はいつも通り要チェック
 バージョンごとに移行時の注意点などが記載されている
 Ansible-base 2.10 Porting Guide
 https://docs.ansible.com/ansible/latest/porting_guides/porting_guide_base_2.10.html
 Ansible 2.10 Porting Guide
 https://docs.ansible.com/ansible/latest/porting_guides/porting_guide_2.10.html
26
タスクごとの FQCN 指定が推奨
27
引用元: What's new with Ansible Content Collections
https://www.ansible.com/resources/webinars-training/whats-new-with-ansible-content-collections-webinar
FQCN
気になるアップデート
CHANGELOG などから地味に便利、ちょっと注意なアップデートを抜粋
28
地味に便利
 タスクのタイムアウトが設定可能に
 接続時間+処理時間のタイムアウトを指定、デフォルトは0(タイムアウトなし)
 https://docs.ansible.com/ansible/latest/reference_appendices/config.html#task-timeout
 ディレクトリやパスの結合に便利な path_join フィルター追加
 python の os.path.join 相当、ディレクトリ名の後の / ありなしを気にしなくていい
 https://tekunabe.hatenablog.jp/entry/2020/09/17/ansible_path_join
 regexp_replace フィルターがマルチラインサポート
 https://github.com/ansible/ansible/issues/61985
 map や selectattr などのあとの | list が不要に
 https://github.com/ansible/ansible/pull/68014
29※ ansible-base としての changelog: https://github.com/ansible/ansible/blob/stable-2.10/changelogs/CHANGELOG-v2.10.rst
ちょっと注意
 CONDITIONAL_BARE_VARS のデフォルトが False に変更
 assert モジュールや when で 変数名のみを指定してる場合は注意
 2.9で [DEPRECATION WARNING]: evaluating 'hogevar' as a bare variable のような警告があったら特に
 True/False が反転することも
 https://twitter.com/akira6592/status/1294869956891275265
 https://docs.ansible.com/ansible/latest/reference_appendices/config.html#conditional-bare-vars
 hash_behaviour が Deprecated 扱い
 代わりに combine フィルターを利用
 https://docs.ansible.com/ansible/devel/reference_appendices/config.html#default-hash-
behaviour
30※ ansible-base としての changelog: https://github.com/ansible/ansible/blob/stable-2.10/changelogs/CHANGELOG-v2.10.rst
まとめ
31
まとめ
 ansible 2.10 から Collection の本格運用が開始
 ansible-base = 基本機能 + 標準モジュール
 ansible = ansible-base + 移行された Collection
 Collection 移行に伴う影響は、過度に心配する必要はなさそう
 Collection のインストールセットやリダイレクトによりポータビリティは確保
 ゆくゆくは FQCN 表記にするのがよさそう
 その他の機能追加も多々
32
参考
 公式
 Ansible Collections Overview
 https://github.com/ansible-collections/overview
 FAQ: Where did all the modules go?
 https://docs.ansible.com/ansible/latest/reference_appendices/faq.html#where-did-all-the-modules-go
 changelog
 https://github.com/ansible/ansible/blob/stable-2.10/changelogs/CHANGELOG-v2.10.rst
 Ansible-base 2.10 Porting Guide
 https://docs.ansible.com/ansible/latest/porting_guides/porting_guide_base_2.10.html
 Ansible 2.10 Porting Guide
 https://docs.ansible.com/ansible/latest/porting_guides/porting_guide_2.10.html
 個人ブログ
 [Ansible] モジュールの指定などを FQCN 表記に移行する手順
 https://tekunabe.hatenablog.jp/entry/2020/09/19/ansible_fqcn
 [Ansible] role 単位で collections を指定する
 https://tekunabe.hatenablog.jp/entry/2020/09/20/ansible_role_collections
33

More Related Content

What's hot

入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)NTT DATA Technology & Innovation
 
トランザクションをSerializableにする4つの方法
トランザクションをSerializableにする4つの方法トランザクションをSerializableにする4つの方法
トランザクションをSerializableにする4つの方法Kumazaki Hiroki
 
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -onozaty
 
MySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいことMySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいことyoku0825
 
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システムMySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システムKouhei Sutou
 
YugabyteDBを使ってみよう - part2 -(NewSQL/分散SQLデータベースよろず勉強会 #2 発表資料)
YugabyteDBを使ってみよう - part2 -(NewSQL/分散SQLデータベースよろず勉強会 #2 発表資料)YugabyteDBを使ってみよう - part2 -(NewSQL/分散SQLデータベースよろず勉強会 #2 発表資料)
YugabyteDBを使ってみよう - part2 -(NewSQL/分散SQLデータベースよろず勉強会 #2 発表資料)NTT DATA Technology & Innovation
 
iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方歩 柴田
 
AlmaLinux と Rocky Linux の誕生経緯&比較
AlmaLinux と Rocky Linux の誕生経緯&比較AlmaLinux と Rocky Linux の誕生経緯&比較
AlmaLinux と Rocky Linux の誕生経緯&比較beyond Co., Ltd.
 
PHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしようPHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしようShohei Okada
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!mosa siru
 
Pacemakerを使いこなそう
Pacemakerを使いこなそうPacemakerを使いこなそう
Pacemakerを使いこなそうTakatoshi Matsuo
 
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性Ohyama Masanori
 
Dockerイメージ管理の内部構造
Dockerイメージ管理の内部構造Dockerイメージ管理の内部構造
Dockerイメージ管理の内部構造Etsuji Nakai
 
雑なMySQLパフォーマンスチューニング
雑なMySQLパフォーマンスチューニング雑なMySQLパフォーマンスチューニング
雑なMySQLパフォーマンスチューニングyoku0825
 
PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...
PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...
PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...Tatsuya Watanabe
 
トランザクション処理可能な分散DB 「YugabyteDB」入門(Open Source Conference 2022 Online/Fukuoka 発...
トランザクション処理可能な分散DB 「YugabyteDB」入門(Open Source Conference 2022 Online/Fukuoka 発...トランザクション処理可能な分散DB 「YugabyteDB」入門(Open Source Conference 2022 Online/Fukuoka 発...
トランザクション処理可能な分散DB 「YugabyteDB」入門(Open Source Conference 2022 Online/Fukuoka 発...NTT DATA Technology & Innovation
 
Ansibleで始めるインフラ構築自動化
Ansibleで始めるインフラ構築自動化Ansibleで始めるインフラ構築自動化
Ansibleで始めるインフラ構築自動化dcubeio
 

What's hot (20)

入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
 
トランザクションをSerializableにする4つの方法
トランザクションをSerializableにする4つの方法トランザクションをSerializableにする4つの方法
トランザクションをSerializableにする4つの方法
 
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
Vacuum徹底解説
Vacuum徹底解説Vacuum徹底解説
Vacuum徹底解説
 
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
 
MySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいことMySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいこと
 
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システムMySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
 
YugabyteDBを使ってみよう - part2 -(NewSQL/分散SQLデータベースよろず勉強会 #2 発表資料)
YugabyteDBを使ってみよう - part2 -(NewSQL/分散SQLデータベースよろず勉強会 #2 発表資料)YugabyteDBを使ってみよう - part2 -(NewSQL/分散SQLデータベースよろず勉強会 #2 発表資料)
YugabyteDBを使ってみよう - part2 -(NewSQL/分散SQLデータベースよろず勉強会 #2 発表資料)
 
iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方
 
AlmaLinux と Rocky Linux の誕生経緯&比較
AlmaLinux と Rocky Linux の誕生経緯&比較AlmaLinux と Rocky Linux の誕生経緯&比較
AlmaLinux と Rocky Linux の誕生経緯&比較
 
PHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしようPHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしよう
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
 
Pacemakerを使いこなそう
Pacemakerを使いこなそうPacemakerを使いこなそう
Pacemakerを使いこなそう
 
Guide To AGPL
Guide To AGPLGuide To AGPL
Guide To AGPL
 
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
 
Dockerイメージ管理の内部構造
Dockerイメージ管理の内部構造Dockerイメージ管理の内部構造
Dockerイメージ管理の内部構造
 
雑なMySQLパフォーマンスチューニング
雑なMySQLパフォーマンスチューニング雑なMySQLパフォーマンスチューニング
雑なMySQLパフォーマンスチューニング
 
PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...
PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...
PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...
 
トランザクション処理可能な分散DB 「YugabyteDB」入門(Open Source Conference 2022 Online/Fukuoka 発...
トランザクション処理可能な分散DB 「YugabyteDB」入門(Open Source Conference 2022 Online/Fukuoka 発...トランザクション処理可能な分散DB 「YugabyteDB」入門(Open Source Conference 2022 Online/Fukuoka 発...
トランザクション処理可能な分散DB 「YugabyteDB」入門(Open Source Conference 2022 Online/Fukuoka 発...
 
Ansibleで始めるインフラ構築自動化
Ansibleで始めるインフラ構築自動化Ansibleで始めるインフラ構築自動化
Ansibleで始めるインフラ構築自動化
 

Similar to Ansible 2.10 と Collection

Ansible ではじめる ネットワーク自動化(Ansible 2.9版)
Ansible ではじめる ネットワーク自動化(Ansible 2.9版)Ansible ではじめる ネットワーク自動化(Ansible 2.9版)
Ansible ではじめる ネットワーク自動化(Ansible 2.9版)akira6592
 
OpenCV2.2 Install Guide ver.0.5
OpenCV2.2 Install Guide ver.0.5OpenCV2.2 Install Guide ver.0.5
OpenCV2.2 Install Guide ver.0.5Tsukasa Sugiura
 
Ansible troubleshooting 101_2021
Ansible troubleshooting 101_2021Ansible troubleshooting 101_2021
Ansible troubleshooting 101_2021Hideki Saito
 
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(応用編)
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(応用編)Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(応用編)
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(応用編)シスコシステムズ合同会社
 
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門Masahito Zembutsu
 
Ansibleではじめるサーバー・ネットワークの自動化(2018/07/05)
Ansibleではじめるサーバー・ネットワークの自動化(2018/07/05)Ansibleではじめるサーバー・ネットワークの自動化(2018/07/05)
Ansibleではじめるサーバー・ネットワークの自動化(2018/07/05)akira6592
 
Ansible2.9 ネットワーク対応のアップデート #ansiblejp
Ansible2.9 ネットワーク対応のアップデート #ansiblejpAnsible2.9 ネットワーク対応のアップデート #ansiblejp
Ansible2.9 ネットワーク対応のアップデート #ansiblejpakira6592
 
Displaylink : Reloaded
Displaylink : ReloadedDisplaylink : Reloaded
Displaylink : ReloadedMasataka Kondo
 
Ansibleではじめるサーバー・ネットワークの自動化(2018/08/22)
Ansibleではじめるサーバー・ネットワークの自動化(2018/08/22)Ansibleではじめるサーバー・ネットワークの自動化(2018/08/22)
Ansibleではじめるサーバー・ネットワークの自動化(2018/08/22)akira6592
 
Kubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみた
Kubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみたKubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみた
Kubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみたAkihito Inoh
 
Ansible Fest 2020 技術トピックまとめ
Ansible Fest 2020 技術トピックまとめAnsible Fest 2020 技術トピックまとめ
Ansible Fest 2020 技術トピックまとめHideki Saito
 
Open-FCoE_osc2011tokyofall_20111119
Open-FCoE_osc2011tokyofall_20111119Open-FCoE_osc2011tokyofall_20111119
Open-FCoE_osc2011tokyofall_20111119metamd
 
Visual studio 2015 update1 ctpとcsi
Visual studio 2015 update1 ctpとcsiVisual studio 2015 update1 ctpとcsi
Visual studio 2015 update1 ctpとcsiTadahiro Ishisaka
 
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)シスコシステムズ合同会社
 
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号Masahito Zembutsu
 
OpenStack-Ansibleで作るOpenStack HA環境 Mitaka版(期間限定公開)
OpenStack-Ansibleで作るOpenStack HA環境 Mitaka版(期間限定公開)OpenStack-Ansibleで作るOpenStack HA環境 Mitaka版(期間限定公開)
OpenStack-Ansibleで作るOpenStack HA環境 Mitaka版(期間限定公開)VirtualTech Japan Inc.
 
OpenStack-ansibleで作るOpenStack HA環境 Mitaka版
OpenStack-ansibleで作るOpenStack HA環境 Mitaka版OpenStack-ansibleで作るOpenStack HA環境 Mitaka版
OpenStack-ansibleで作るOpenStack HA環境 Mitaka版VirtualTech Japan Inc.
 

Similar to Ansible 2.10 と Collection (20)

Ansible ではじめる ネットワーク自動化(Ansible 2.9版)
Ansible ではじめる ネットワーク自動化(Ansible 2.9版)Ansible ではじめる ネットワーク自動化(Ansible 2.9版)
Ansible ではじめる ネットワーク自動化(Ansible 2.9版)
 
OpenCV2.2 Install Guide ver.0.5
OpenCV2.2 Install Guide ver.0.5OpenCV2.2 Install Guide ver.0.5
OpenCV2.2 Install Guide ver.0.5
 
Ansible troubleshooting 101_2021
Ansible troubleshooting 101_2021Ansible troubleshooting 101_2021
Ansible troubleshooting 101_2021
 
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(応用編)
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(応用編)Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(応用編)
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(応用編)
 
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門
 
Ansibleではじめるサーバー・ネットワークの自動化(2018/07/05)
Ansibleではじめるサーバー・ネットワークの自動化(2018/07/05)Ansibleではじめるサーバー・ネットワークの自動化(2018/07/05)
Ansibleではじめるサーバー・ネットワークの自動化(2018/07/05)
 
Ansible2.9 ネットワーク対応のアップデート #ansiblejp
Ansible2.9 ネットワーク対応のアップデート #ansiblejpAnsible2.9 ネットワーク対応のアップデート #ansiblejp
Ansible2.9 ネットワーク対応のアップデート #ansiblejp
 
Displaylink : Reloaded
Displaylink : ReloadedDisplaylink : Reloaded
Displaylink : Reloaded
 
Ansibleではじめるサーバー・ネットワークの自動化(2018/08/22)
Ansibleではじめるサーバー・ネットワークの自動化(2018/08/22)Ansibleではじめるサーバー・ネットワークの自動化(2018/08/22)
Ansibleではじめるサーバー・ネットワークの自動化(2018/08/22)
 
Kubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみた
Kubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみたKubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみた
Kubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみた
 
What is an Ansible?
What is an Ansible?What is an Ansible?
What is an Ansible?
 
カーネルをmakeしよう! - 第4回つくらぐ勉強会
カーネルをmakeしよう! - 第4回つくらぐ勉強会カーネルをmakeしよう! - 第4回つくらぐ勉強会
カーネルをmakeしよう! - 第4回つくらぐ勉強会
 
Ansible Fest 2020 技術トピックまとめ
Ansible Fest 2020 技術トピックまとめAnsible Fest 2020 技術トピックまとめ
Ansible Fest 2020 技術トピックまとめ
 
Open-FCoE_osc2011tokyofall_20111119
Open-FCoE_osc2011tokyofall_20111119Open-FCoE_osc2011tokyofall_20111119
Open-FCoE_osc2011tokyofall_20111119
 
Visual studio 2015 update1 ctpとcsi
Visual studio 2015 update1 ctpとcsiVisual studio 2015 update1 ctpとcsi
Visual studio 2015 update1 ctpとcsi
 
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)
 
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
 
OpenStack-Ansibleで作るOpenStack HA環境 Mitaka版(期間限定公開)
OpenStack-Ansibleで作るOpenStack HA環境 Mitaka版(期間限定公開)OpenStack-Ansibleで作るOpenStack HA環境 Mitaka版(期間限定公開)
OpenStack-Ansibleで作るOpenStack HA環境 Mitaka版(期間限定公開)
 
OpenStack-ansibleで作るOpenStack HA環境 Mitaka版
OpenStack-ansibleで作るOpenStack HA環境 Mitaka版OpenStack-ansibleで作るOpenStack HA環境 Mitaka版
OpenStack-ansibleで作るOpenStack HA環境 Mitaka版
 
Pdp11 on-fpga
Pdp11 on-fpgaPdp11 on-fpga
Pdp11 on-fpga
 

More from akira6592

新人研修資料 向き合うエンジニア
新人研修資料 向き合うエンジニア新人研修資料 向き合うエンジニア
新人研修資料 向き合うエンジニアakira6592
 
Ansible とネットワーク自動化の概要(SmartCS と Ansible の連携による自動化の可能性を体験!)
Ansible とネットワーク自動化の概要(SmartCS と Ansible の連携による自動化の可能性を体験!)Ansible とネットワーク自動化の概要(SmartCS と Ansible の連携による自動化の可能性を体験!)
Ansible とネットワーク自動化の概要(SmartCS と Ansible の連携による自動化の可能性を体験!)akira6592
 
Ansible 実践ガイド第3版 ネットワーク担当としてのふりかえり #インフラエンジニアBooks
Ansible 実践ガイド第3版 ネットワーク担当としてのふりかえり #インフラエンジニアBooksAnsible 実践ガイド第3版 ネットワーク担当としてのふりかえり #インフラエンジニアBooks
Ansible 実践ガイド第3版 ネットワーク担当としてのふりかえり #インフラエンジニアBooksakira6592
 
Ansible でお世話になっている機能と拡張
Ansible でお世話になっている機能と拡張Ansible でお世話になっている機能と拡張
Ansible でお世話になっている機能と拡張akira6592
 
自動化の下ごしらえ
自動化の下ごしらえ自動化の下ごしらえ
自動化の下ごしらえakira6592
 
向き合うエンジニア 2020年度版
向き合うエンジニア 2020年度版向き合うエンジニア 2020年度版
向き合うエンジニア 2020年度版akira6592
 
はじめてAnsibleのバグ修正に協力してみた
はじめてAnsibleのバグ修正に協力してみたはじめてAnsibleのバグ修正に協力してみた
はじめてAnsibleのバグ修正に協力してみたakira6592
 
CML-Personal (VIRL2)のインストールと基本機能
CML-Personal (VIRL2)のインストールと基本機能CML-Personal (VIRL2)のインストールと基本機能
CML-Personal (VIRL2)のインストールと基本機能akira6592
 
BGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみたBGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみたakira6592
 
自動化ツール Ansible に触れてみよう(技術インターン)
 自動化ツール Ansible に触れてみよう(技術インターン) 自動化ツール Ansible に触れてみよう(技術インターン)
自動化ツール Ansible に触れてみよう(技術インターン)akira6592
 
技術ブログを書こう
技術ブログを書こう技術ブログを書こう
技術ブログを書こうakira6592
 
私たちはRESTCONFでネットワーク自動化的に何が嬉しくなるのか考えてみた
私たちはRESTCONFでネットワーク自動化的に何が嬉しくなるのか考えてみた私たちはRESTCONFでネットワーク自動化的に何が嬉しくなるのか考えてみた
私たちはRESTCONFでネットワーク自動化的に何が嬉しくなるのか考えてみたakira6592
 
show コマンド結果をパースする方法あれこれ #npstudy
show コマンド結果をパースする方法あれこれ #npstudyshow コマンド結果をパースする方法あれこれ #npstudy
show コマンド結果をパースする方法あれこれ #npstudyakira6592
 
はじめた自動化をどう広めるか 書籍「Fearless Change」からのヒント
はじめた自動化をどう広めるか 書籍「Fearless Change」からのヒントはじめた自動化をどう広めるか 書籍「Fearless Change」からのヒント
はじめた自動化をどう広めるか 書籍「Fearless Change」からのヒントakira6592
 
はじめどころを探る自動化アセスメント(JANOG44 ここからはじめよう、運用自動化)
はじめどころを探る自動化アセスメント(JANOG44 ここからはじめよう、運用自動化)はじめどころを探る自動化アセスメント(JANOG44 ここからはじめよう、運用自動化)
はじめどころを探る自動化アセスメント(JANOG44 ここからはじめよう、運用自動化)akira6592
 
向き合うエンジニア
向き合うエンジニア向き合うエンジニア
向き合うエンジニアakira6592
 
ネットワークコンフィグ分析ツール Batfish との付き合い方
ネットワークコンフィグ分析ツール Batfish との付き合い方ネットワークコンフィグ分析ツール Batfish との付き合い方
ネットワークコンフィグ分析ツール Batfish との付き合い方akira6592
 
Ansibleではじめるサーバー・ネットワークの自動化(2019/04版)
Ansibleではじめるサーバー・ネットワークの自動化(2019/04版)Ansibleではじめるサーバー・ネットワークの自動化(2019/04版)
Ansibleではじめるサーバー・ネットワークの自動化(2019/04版)akira6592
 
Ansibleではじめるサーバー・ネットワークの自動化(2019/02版)
Ansibleではじめるサーバー・ネットワークの自動化(2019/02版)Ansibleではじめるサーバー・ネットワークの自動化(2019/02版)
Ansibleではじめるサーバー・ネットワークの自動化(2019/02版)akira6592
 
「自動化の行き着く先は?」をうけて
「自動化の行き着く先は?」をうけて「自動化の行き着く先は?」をうけて
「自動化の行き着く先は?」をうけてakira6592
 

More from akira6592 (20)

新人研修資料 向き合うエンジニア
新人研修資料 向き合うエンジニア新人研修資料 向き合うエンジニア
新人研修資料 向き合うエンジニア
 
Ansible とネットワーク自動化の概要(SmartCS と Ansible の連携による自動化の可能性を体験!)
Ansible とネットワーク自動化の概要(SmartCS と Ansible の連携による自動化の可能性を体験!)Ansible とネットワーク自動化の概要(SmartCS と Ansible の連携による自動化の可能性を体験!)
Ansible とネットワーク自動化の概要(SmartCS と Ansible の連携による自動化の可能性を体験!)
 
Ansible 実践ガイド第3版 ネットワーク担当としてのふりかえり #インフラエンジニアBooks
Ansible 実践ガイド第3版 ネットワーク担当としてのふりかえり #インフラエンジニアBooksAnsible 実践ガイド第3版 ネットワーク担当としてのふりかえり #インフラエンジニアBooks
Ansible 実践ガイド第3版 ネットワーク担当としてのふりかえり #インフラエンジニアBooks
 
Ansible でお世話になっている機能と拡張
Ansible でお世話になっている機能と拡張Ansible でお世話になっている機能と拡張
Ansible でお世話になっている機能と拡張
 
自動化の下ごしらえ
自動化の下ごしらえ自動化の下ごしらえ
自動化の下ごしらえ
 
向き合うエンジニア 2020年度版
向き合うエンジニア 2020年度版向き合うエンジニア 2020年度版
向き合うエンジニア 2020年度版
 
はじめてAnsibleのバグ修正に協力してみた
はじめてAnsibleのバグ修正に協力してみたはじめてAnsibleのバグ修正に協力してみた
はじめてAnsibleのバグ修正に協力してみた
 
CML-Personal (VIRL2)のインストールと基本機能
CML-Personal (VIRL2)のインストールと基本機能CML-Personal (VIRL2)のインストールと基本機能
CML-Personal (VIRL2)のインストールと基本機能
 
BGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみたBGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみた
 
自動化ツール Ansible に触れてみよう(技術インターン)
 自動化ツール Ansible に触れてみよう(技術インターン) 自動化ツール Ansible に触れてみよう(技術インターン)
自動化ツール Ansible に触れてみよう(技術インターン)
 
技術ブログを書こう
技術ブログを書こう技術ブログを書こう
技術ブログを書こう
 
私たちはRESTCONFでネットワーク自動化的に何が嬉しくなるのか考えてみた
私たちはRESTCONFでネットワーク自動化的に何が嬉しくなるのか考えてみた私たちはRESTCONFでネットワーク自動化的に何が嬉しくなるのか考えてみた
私たちはRESTCONFでネットワーク自動化的に何が嬉しくなるのか考えてみた
 
show コマンド結果をパースする方法あれこれ #npstudy
show コマンド結果をパースする方法あれこれ #npstudyshow コマンド結果をパースする方法あれこれ #npstudy
show コマンド結果をパースする方法あれこれ #npstudy
 
はじめた自動化をどう広めるか 書籍「Fearless Change」からのヒント
はじめた自動化をどう広めるか 書籍「Fearless Change」からのヒントはじめた自動化をどう広めるか 書籍「Fearless Change」からのヒント
はじめた自動化をどう広めるか 書籍「Fearless Change」からのヒント
 
はじめどころを探る自動化アセスメント(JANOG44 ここからはじめよう、運用自動化)
はじめどころを探る自動化アセスメント(JANOG44 ここからはじめよう、運用自動化)はじめどころを探る自動化アセスメント(JANOG44 ここからはじめよう、運用自動化)
はじめどころを探る自動化アセスメント(JANOG44 ここからはじめよう、運用自動化)
 
向き合うエンジニア
向き合うエンジニア向き合うエンジニア
向き合うエンジニア
 
ネットワークコンフィグ分析ツール Batfish との付き合い方
ネットワークコンフィグ分析ツール Batfish との付き合い方ネットワークコンフィグ分析ツール Batfish との付き合い方
ネットワークコンフィグ分析ツール Batfish との付き合い方
 
Ansibleではじめるサーバー・ネットワークの自動化(2019/04版)
Ansibleではじめるサーバー・ネットワークの自動化(2019/04版)Ansibleではじめるサーバー・ネットワークの自動化(2019/04版)
Ansibleではじめるサーバー・ネットワークの自動化(2019/04版)
 
Ansibleではじめるサーバー・ネットワークの自動化(2019/02版)
Ansibleではじめるサーバー・ネットワークの自動化(2019/02版)Ansibleではじめるサーバー・ネットワークの自動化(2019/02版)
Ansibleではじめるサーバー・ネットワークの自動化(2019/02版)
 
「自動化の行き着く先は?」をうけて
「自動化の行き着く先は?」をうけて「自動化の行き着く先は?」をうけて
「自動化の行き着く先は?」をうけて
 

Recently uploaded

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 

Recently uploaded (9)

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 

Ansible 2.10 と Collection

  • 1. Ansible 2.10 と Collection 株式会社エーピーコミュニケーションズ 技術開発部 自動化グループ 横地 晃 1 2020/10/07 AP Tech Fest 内部構造が変わった Ansible のおはなし
  • 2. はじめに  先日、Ansible 2.10.0 がリリースされました。  Collection によるモジュールの配布が本格的となり、 標準モジュール は 70程度に減りました。  Ansible 2.10 と Collection の関係や、ポータビリティなどをご紹介します。 2 2.9 2.10
  • 3. 自己紹介 3 所属 (株)エーピーコミュニケーションズ 技術開発部 自動化グループ 業務 ネットワーク自動化の支援、各種アウトプット コミュニティ Ansible ユーザー会、JANOG など 共著 寄稿 Ansible 実践ガイド 第3版 Software Design 2018年12月号 他 横地 晃 @akira6592 https://book.impress.co.jp/books/1118101094 https://tekunabe.hatenablog.jp/ てくなべ(ブログ) kindle 版半額! (10/7現在)
  • 4. 内容  Ansible 2.10 の基本  Ansible 2.10 の導入  Collection の操作  今までの Playbook は動くの?  気になるアップデート  まとめ 4
  • 6. Collection の本格運用により標準モジュールが激減  Ansible 2.9 までは 3000 以上あった標準モジュールは 2.10 では約 70 に  他のモジュールは「Collection」による配布に移行  ポータビリティはある程度確保されているため、過度な心配は不要(後述) 6 基本機能 標準モジュール 基本機能 標準モジュール 移行された Collection 群 移行 ※ 標準モジュール: https://docs.ansible.com/ansible/latest/collections/ansible/builtin/index.html#module-plugins ※ Ansible Galaxy や Automation Hub では、2.9 での標準モジュールから移行された Collection だけなく、独自のものも管理されている 2.9 2.10 Ansible Galaxy や Automation Hub
  • 7. 基本機能と標準モジュールは ansible-base に  基本機能と標準モジュールは ansible-base と呼ばれる  「pip install ansible」は ansible-base と 、移行された Collection のセット 7 2.9 ansible-base 2.10 基本機能 標準モジュール 基本機能 標準モジュール ansible 2.10 移行された Collection 群 Ansible Galaxy や Automation Hub ※ ansible-base リリース履歴: 2020/08/14 2.10.0、2020/09/15 2.10.1、2020/10/06 2.10.2 ※ ansible リリース履歴: 2020/09/23 2.10.0
  • 8. Collection Collection そもそも Collection とは  モジュールやプラグインなどをまとめて配布する単位  Ansible Galaxy や Automation Hub 経由で配布  リポジトリは https://github.com/ansible-collections 配下や独自管理  hoge.fuga のような形式の名前空間が設けられる  含まれるモジュール類は hoge.fuga.piyo という形式(FQCN) 8 例: ansible.netcommon Collection モジュール例 プラグイン例 ansible.necommon.cli_command ansible.necommon.cli_config ansible.necommon.network ansible.necommon.ipaddr ※ FQCN: Fully Qualified Collection Name ※ Collection を取り巻く概要: https://github.com/ansible-collections/overview モジュール プラグイン :
  • 9. Ansible Galaxy による Collection の配布  例: ansible.netcommon Collection  https://galaxy.ansible.com/ansible/netcommon 9
  • 10. なんで ansible-base と collection に分かれたの?(私見含む)  ansible 本体と Collection のリリースサイクルを分類  本体の安定性と新機能の取捨選択を両立  「新しいモジュールを使いたいけど ansible のバージョンアップは 影響が大きそうでできない・・」といった悩みがなくなりそう 10 ansible-base 2.10 基本機能 標準モジュール 必要な Collection の インストール・アップデート Collection 群 ※ FQCN: Fully Qualified Collection Name ※ Collection を取り巻く概要: https://github.com/ansible-collections/overview ※ 参考 Collections signal major shift in Ansible ecosystem https://www.jeffgeerling.com/blog/2020/collections-signal-major-shift-ansible-ecosystem
  • 12. インストール  ansible-base  ansible 基本機能と標準モジュール  ansible  ansible-base と 移行された Collection のセット 12 pip install ansible-base pip install ansible 基本機能 標準モジュール 移行した Collection 群 今まで通り ※ pip install ansible でインストールした場合、セットの Collection は <python環境>/lib/python3.X/site-packages/ansible_collections/ 配下にインストールされる
  • 13. アップグレード  ansible 2.9 から ansible 2.10 へのアップグレード  一度アインインストールしてから再インストール  直接アップグレードできないのは ansible 2.10.0 時点の Known Issue 13 pip uninstall ansible pip install ansible venv などで別環境に したほうがよさそう
  • 15. これからは Collection を操作する機会が増えそう  ansible のセットの Collection をアップグレードしたい場合  ansible-base をインストールしたあと、標準モジュール以外を利用する場合  など 15
  • 16. Collection のインストール  Ansible Galaxy や Automation Hub で対象の Collection を見つけてインストール  デフォルトでは ~/.ansible/collections/ansible_collections/ コレクション名/ にインストール  -p オプションや、ansible.cfg の [defaults] 内 collections_path の指定で変更可能 16 ansible-galaxy collection install コレクション名 ※ Installing collections: https://docs.ansible.com/ansible/latest/user_guide/collections_using.html#installing-collections インストールコマンド が載っている
  • 17. Collection のアップグレード  現状、アップグレード専用コマンドがないため、 -f オプション で強制的に最新をインストール 17 ansible-galaxy collection install コレクション名 -f ※ Installing collections: https://docs.ansible.com/ansible/latest/user_guide/collections_using.html#installing-collections ポイント
  • 18. Collection の確認  インストールした Collection をコマンドで確認可能  デフォルトでは ~/.ansible/collections/ansible_collections/ 配下を検索  つまり pip install ansible でセットでインストールされた Collection がある <python環境>/lib/python3.X/site-packages/ansible_collections/ は検索しない。  ansible 2.10.0 時点の Known Issue。明示的に検索先を指定する場合は -p オプションなどを利用する 18 ansible-galaxy collection list ※ Listing collections: https://docs.ansible.com/ansible/latest/user_guide/collections_using.html#listing-collections ※ Known Issues: https://docs.ansible.com/ansible/latest/porting_guides/porting_guide_2.10.html#known-issues (a210) [sakana@centos7 ~]$ ansible-galaxy collection list # /home/sakana/.ansible/collections/ansible_collections Collection Version -------------------- ------- ansible.netcommon 1.1.2 cisco.nxos 1.1.0 netbox.netbox 1.0.0 実行例
  • 19. 補足1: Ansible Tower で利用する Collection を自動インストールする  プロジェクトの collections/requirements.yml に 必要な Collection 名を指定しておくと自動でインストールされる 19 ※ Collections Support: https://docs.ansible.com/ansible-tower/latest/html/userguide/projects.html#collections-support ※ requirements.yml の書き方例 https://docs.ansible.com/ansible/latest/user_guide/collections_using.html#install-multiple-collections-with-a-requirements-file --- collections: - ansible.netcommon 例
  • 20. 補足2: Collection と Red Hat サポートなど  Ansible Supported Collections, Versioning, and Release Strategy  https://access.redhat.com/articles/4993781  Ansible Automation Platform Certified Content  https://access.redhat.com/articles/3642632 20
  • 22. サンプル Playbook(準備)  環境  python 3.6.8、新規 venv に paramiko インストール  pip install ansible でインストール  Playbook  Ansible 2.9 向けに書いた右記のもの 22 --- - hosts: ios gather_facts: false tasks: - name: show ip route ios_command: commands: - show ip route register: resgister_show_ip_route - name: debug route debug: msg: "{{ resgister_show_ip_route.stdout_lines }}" 標準ではなくなったモジュール デモ
  • 23. サンプル Playbook(実行)  Playbook の修正なしに動いた 23 (a2100) [root@centos7 stumble]# ansible-playbook -i inventory.ini ios_show.yml PLAY [ios] *********************************************************************************** TASK [show ip route] ************************************************************************* ok: [rt01] TASK [debug route] *************************************************************************** ok: [rt01] => { "msg": [ [ "Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP", ...(略)... "C 10.255.255.1/32 is directly connected, Loopback0", "O 10.255.255.2/32 [110/2] via 10.0.0.2, 04:59:05, GigabitEthernet0/3", " 192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks", "C 192.168.1.0/24 is directly connected, GigabitEthernet0/0", "L 192.168.1.11/32 is directly connected, GigabitEthernet0/0" ] ] } PLAY RECAP *********************************************************************************** rt01 : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 デモ
  • 24. 動く理由1: Collection がセットだから  「pip install ansible」で、移行された Collection もセットでインストールされる  そのため 2.9 までの標準モジュールが 2.10 でも利用できる  ただし、移行後も開発が進むうえで仕様変更や廃止もあり得る 24 ansible-base 2.10 基本機能 標準モジュール ansible 2.10 移行された collection 群 ※ セットの Collection の定義 (ansible 2.10.0 の例): https://github.com/ansible-community/ansible-build-data/blob/main/2.10/ansible-2.10.0.deps
  • 25. 動く理由2: リダイレクト機能があるから  コレクション名を含まないモジュール名の指定(例 ios_command)でも cisco.ios.ios_command のような FQCN に解決するリダイレクト機能がある  ansible-base としての機能  もともと標準でなかったモジュールの定義は含まれない 25※ リダイレクトの定義 (ansible-base 2.10.1 の例): https://github.com/ansible/ansible/blob/v2.10.1/lib/ansible/config/ansible_builtin_runtime.yml plugin_routing: # ...(略)... modules: # ...(略)... ios_command: redirect: cisco.ios.ios_command ios_static_route: redirect: cisco.ios.ios_static_route # ...(略)... 単に ios_command と指定すれば cisco.ios.ios_command と 解釈してくれる
  • 26. とはいえ Porting Guide はいつも通り要チェック  バージョンごとに移行時の注意点などが記載されている  Ansible-base 2.10 Porting Guide  https://docs.ansible.com/ansible/latest/porting_guides/porting_guide_base_2.10.html  Ansible 2.10 Porting Guide  https://docs.ansible.com/ansible/latest/porting_guides/porting_guide_2.10.html 26
  • 27. タスクごとの FQCN 指定が推奨 27 引用元: What's new with Ansible Content Collections https://www.ansible.com/resources/webinars-training/whats-new-with-ansible-content-collections-webinar FQCN
  • 29. 地味に便利  タスクのタイムアウトが設定可能に  接続時間+処理時間のタイムアウトを指定、デフォルトは0(タイムアウトなし)  https://docs.ansible.com/ansible/latest/reference_appendices/config.html#task-timeout  ディレクトリやパスの結合に便利な path_join フィルター追加  python の os.path.join 相当、ディレクトリ名の後の / ありなしを気にしなくていい  https://tekunabe.hatenablog.jp/entry/2020/09/17/ansible_path_join  regexp_replace フィルターがマルチラインサポート  https://github.com/ansible/ansible/issues/61985  map や selectattr などのあとの | list が不要に  https://github.com/ansible/ansible/pull/68014 29※ ansible-base としての changelog: https://github.com/ansible/ansible/blob/stable-2.10/changelogs/CHANGELOG-v2.10.rst
  • 30. ちょっと注意  CONDITIONAL_BARE_VARS のデフォルトが False に変更  assert モジュールや when で 変数名のみを指定してる場合は注意  2.9で [DEPRECATION WARNING]: evaluating 'hogevar' as a bare variable のような警告があったら特に  True/False が反転することも  https://twitter.com/akira6592/status/1294869956891275265  https://docs.ansible.com/ansible/latest/reference_appendices/config.html#conditional-bare-vars  hash_behaviour が Deprecated 扱い  代わりに combine フィルターを利用  https://docs.ansible.com/ansible/devel/reference_appendices/config.html#default-hash- behaviour 30※ ansible-base としての changelog: https://github.com/ansible/ansible/blob/stable-2.10/changelogs/CHANGELOG-v2.10.rst
  • 32. まとめ  ansible 2.10 から Collection の本格運用が開始  ansible-base = 基本機能 + 標準モジュール  ansible = ansible-base + 移行された Collection  Collection 移行に伴う影響は、過度に心配する必要はなさそう  Collection のインストールセットやリダイレクトによりポータビリティは確保  ゆくゆくは FQCN 表記にするのがよさそう  その他の機能追加も多々 32
  • 33. 参考  公式  Ansible Collections Overview  https://github.com/ansible-collections/overview  FAQ: Where did all the modules go?  https://docs.ansible.com/ansible/latest/reference_appendices/faq.html#where-did-all-the-modules-go  changelog  https://github.com/ansible/ansible/blob/stable-2.10/changelogs/CHANGELOG-v2.10.rst  Ansible-base 2.10 Porting Guide  https://docs.ansible.com/ansible/latest/porting_guides/porting_guide_base_2.10.html  Ansible 2.10 Porting Guide  https://docs.ansible.com/ansible/latest/porting_guides/porting_guide_2.10.html  個人ブログ  [Ansible] モジュールの指定などを FQCN 表記に移行する手順  https://tekunabe.hatenablog.jp/entry/2020/09/19/ansible_fqcn  [Ansible] role 単位で collections を指定する  https://tekunabe.hatenablog.jp/entry/2020/09/20/ansible_role_collections 33