Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ベンダー開発モジュールの使い方
Search
yascaim
November 20, 2019
Technology
2.5k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ベンダー開発モジュールの使い方
20191120 Ansiblejp ネットワーク部 LTで使用
yascaim
November 20, 2019
More Decks by yascaim
See All by yascaim
Ansible Towerでやってること、やれること、やりたいこと
yascaim
3
2.3k
Other Decks in Technology
See All in Technology
国家プロジェクトを支える「さくらONE」 大規模LLM開発におけるGPU障害を乗り越えるクラスター運用戦略
gpuunite_official
0
280
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
5k
[potatotips #96] Give Your AI Agent the Flutter Playbook
korodroid
0
160
Master Dataグループ紹介資料
sansan33
PRO
1
4.8k
2026-08-15 JAWS-UG 茨城 #16 Secrets ManagerにおけるSecret値の管理(Terraformの場合) / Secrets Manager Secrets
masasuzu
0
590
Netflix の裏側に何があるのか...その謎を解明すべく、我々は Amazon の奥地へと向かった
kentosuzuki
0
110
同じWAFが、攻撃の“形”は弾く── 正当な“形”の不正は通す
kuroneko13
0
270
AI駆動開発はどこまで来たのか? ファインディの最新実態調査で読み解く現在地 Devin Con Tokyo
akiratom
1
460
フィジカルAIの知識ゼロの僕でも AIを使えばここまでできた
tatsuya1970
0
170
Kiro入門|仕様駆動開発で変わるAI時代の開発スタイル
cmkudo
0
350
平文パスワードはログに“残り” ── 肝心の侵入は“痕跡すら残らない”
kuroneko13
0
130
LLM Internals: 언어 모델의 계보와 알고리즘 진화 (2023~2026)
inureyes
PRO
1
910
Featured
See All Featured
Odyssey Design
rkendrick25
PRO
2
770
Mobile First: as difficult as doing things right
swwweet
225
10k
Agile that works and the tools we love
rasmusluckow
331
22k
Designing for humans not robots
tammielis
254
26k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
280
Fireside Chat
paigeccino
42
4k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
240
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
620
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
2.5k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.4k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
Transcript
1 ベンダー開発の モジュールの使い方 (オマケ) 手順書をPlaybook化 するときに気にしてる事 @yascaim1
2 仕事:DCNWの設計、構築? 好きなもの: - Ansible - ボードゲーム - 数学
- ケーキ Ansible歴:1年6か月 自己紹介
3 A10製品とAnsible
4 A10networksとは 製品概要: - ロードバランサー、セキュリティプラットフォームなど - CLI,GUI,APIが揃ってて ”Cisco” 触った人なら馴染み易い -
まだ商用で使えてないけど面白い機能が結構ある
5 https://docs.ansible.com/ansible/latest/modules/list_of_network_modules.html モジュールはどうなの?
6 あるところにはある 大体1,600くらい(やべー https://github.com/a10networks/a10-ansible
7 用法用量を守らない使い方
8 Ansibleもくもく会 また企画したろ。 モジュール増えたなぁ とりあえずgit clone したろ。 検証環境で ワークショップの復習だ!
9 Playbook全部動かない...ッ!
10 今のところ見つけた差分: - NW機器の接続プロトコルの書き方が違う - パラメータの名前が変わってて”undefined” - パラメータの型が変わってる - パラメータで指定できる値が変わってる
tasks: - name: Enable ethernet interfaces a10_interface_ethernet: a10_host: "{{ a10_host }}" a10_port: "{{ a10_port }}" a10_username: "{{ a10_username }}" a10_password: "{{ a10_password }}" ifnum: "{{ item.ifnum }}" action: enable state: present partition: test with_items: - { ifnum: 1 } - { ifnum: 2 } tasks: - name: Enable ethernet interfaces a10_interface_ethernet: a10_host: "{{ a10_host }}" a10_port: "{{ a10_port }}" a10_username: "{{ a10_username }}" a10_password: "{{ a10_password }}" a10_protocol: “https” ifnum: "{{ item.ifnum }}" action: enable state: present a10_partition: name: test shared: 0 with_items: - { ifnum: 1 } - { ifnum: 2 } プロトコル指定が requiredなパラメータで増えた パラメータの名前が変わってる 気付いたら辞書型になってる shared指定の仕方が変わってる
11 メリデメの整理
12 メリット: - やりたいこと:モジュール が 1:1で大体ある - YAMLで書くため、機器初心者でも可読性が高い - 強制的にモジュールのコードを読むことになる デメリット:
- Ansible docのリリースノートに載ってない - OSのリリースノートにも載ってない - モジュールを使ったサンプルコードが落ちてない 用法用量は模索中
13 まとめ
14 - 当然ですが商用環境でいきなりアップデートはやらない - github見て何かが違う!?って思ったらサポートに聞く - 極力、変数はPlaybookの外で管理する - library を別の
directoryで管理する(ansible.cfgで切替える)
ご清聴ありがとうございました! 15
16 おまけ(気を付けてること編)
17 動作確認 事前ログ取得 事後ログ取得 設定変更 ・どこから何を確認するかを明記 ・「異常がないこと」という記載を一切排除 ・作業前との比較結果 ↑全て比較、一致、含む、含まない で記述 ・設定変更/追加する順序を考える
- script投入の順番 - 作業機器の順番 ・作業を切り戻す際の順序を考える ・検証環境で絶対試す 最初からAnsible化することを想定し、 Playbookにし易い手順書を常に心がける。