Ansibleもくもく会が2019/8/13に開催され、通算5回目で初めて現地で参加(成果共有枠)することができました。
快く有休取得に首を縦に振ってくれた会社のメンバーや、送り出してくれた奥さんには本当に感謝です。
会場では、RedHatのすぎむらさん、Teihiさんとご挨拶することもできました。 お会いできて本当にうれしかったです。今後ともよろしくお願いいたします。
感謝の意味も込めて、今回はだいぶマシマシな内容にしたいと思います。
- はじめに
- Ansibleもくもく会のNW編のサービス寄りトポロジ
- Ansibleもくもく会のNW編のルータ寄りトポロジ
- 実際にやったこととかログとか
- 次回もくもく会の日程について
- 成果発表の内容について
- Ansible飯への参加について
- 今後について
- おまけ
はじめに
論理構成とか知りたくない!!自分で調べたい!!という人がいましたら、完全にネタバレなのでご注意ください。なお、論理構成図は今回も「draw.io」を利用しています。超便利。
一応、スペーサーとして翌日に再度立ち寄った、ハリネズミカフェの癒し写真を挟んでおきます。(人によっては邪魔かもですが)
追加( ˘ω˘)スヤァ pic.twitter.com/vb9Tc0Lmqo
— tatematsu_san (@tk4_jj) August 14, 2019
Ansibleもくもく会のNW編のサービス寄りトポロジ
推測も含みますが、大体こんな感じだと思います。2019/8/13時点での情報なので、更新される可能性はあります。
EIPの部分は、利用者の割り当て環境によってアドレスそのものは異なると思いますが、後述するルータ寄りトポロジは皆さん共通だと思います。
いまだにDNSって書かれたサーバが何やってるのかよくわかってません… 53番ポートもlistenしてなかったし…
Ansibleもくもく会のNW編のルータ寄りトポロジ
Configからひも解いてざっくり書くと、こんな感じだと思います。
あんまりIPIPやGRE使わないので、どっちがデフォルトかわかりませんが、とりあえずカプセル化はIPIPって書いてあります。間違ってたらすみません。
最初に出てくるトポロジでは、RTR1~RTR3間とRTR2~RTR4間でOSPFが設定されてる、というような形で書いてあるのですが、実態としてはRTR3/RTR4側は「ほぼ初期状態」です。ホスト名も設定されてませんでした。単純に、fxp0(RTR3/Juniper)やEth1(RTR4/Arista)でIPをDHCPで受け取っていて、それに対してEIPを割り当てられている、というだけの構成になっていました。
なので、最初のトポロジ信じて設定を見てみると、configの行数が非常に少なくて????となる罠がありました。
実際にやったこととかログとか
以下URLの教材に従って、課題1~課題9までなんとか完走することができました。
ざっと課題内容を記載しておきます。なお、8/13時点では英語版だったので、題名の部分は適当に和訳してます。
課題番号 | 題名 | 概要 | 操作対象ホスト |
---|---|---|---|
1 | ラボ環境の説明 | ルータへの入り方の確認、Ansibleホストのansible.cfgの中身やインベントリ情報の確認 | なし(Towerのみ) |
2 | Ansible Playbookを作ってみよう | Cisco機器に対してSNMPコミュニティの設定(冪等性の確認含む)、--checkや--vオプションをCLIで試してみる | RTR1(Cisco)のみ |
3 | NW機器向けのAnsible factの説明 | debug/ansible-docコマンドの説明、gather_factsとベンダ固有factsとの違いの説明、ios_fact出力の実践 | RTR1(Cisco)のみ |
4 | NW機器でJinja2テンプレートを使ってみよう | Jinja2テンプレートの使い方の説明、group_varsを用いたLoopback100へのアドレス設定の実施 | RTR1(Cisco)、RTR2(Arista) |
5 | Ansible Towerを使ってみよう | インベントリ、クレデンシャル、プロジェクト(SCM)設定の確認 | なし(TowerのWebUIでの操作のみ) |
6 | JobTemplateを使ってJobを作ってみよう | NW機器のConfigバックアップ用Playbookを使ったJobTemplateの作成、実行、結果確認 | RTR1~4すべて(TowerのWebUIでの操作のみ) |
7 | Surveyを使ってみよう | NW機器のログインバナー設定について、Surveyで設定内容を求めるJobTemplateの作成、実行、結果確認 | RTR1~4すべて(TowerのWebUIでの操作のみ) |
8 | RBACを使ってみよう | 既存設定の説明、ログインユーザを切り替えてRBACが実際に動くのかどうかの確認、最低権限でのJobの実行(showコマンド系のみ) | RTR1~4すべて(TowerのWebUIでの操作のみ) |
9 | WorkflowTemplateを使ってworkflowを作ってみよう | Workflow Visualizerを用いた各Jobの連続実行や結果確認、前ジョブの結果に応じたWorkflowを作成してみて実際にどこまで動くのかの確認 | RTR1~4すべて(TowerのWebUIでの操作のみ) |
RTR3/RTR4はほぼ初期状態ですが、関係する課題6以降の内容はとりあえず管理IPにアクセスさえできれば実施できる内容なので、特に問題はありませんでした。
最初に各機器のConfigを見てみて、課題HPに書いてあるトポロジと実態が異なることにも気づかず、「なんか設定少ないように見えるなー」程度で流していました…
参考までに、RTR1/RTR2で取ったRouteTableの情報はこんな感じです。(課題完了後のもの)
RTR1(Cisco)側RouteTable
rtr1#show ip rou (中略) Gateway of last resort is 172.16.0.1 to network 0.0.0.0 S* 0.0.0.0/0 [1/0] via 172.16.0.1, GigabitEthernet1 10.0.0.0/8 is variably subnetted, 8 subnets, 2 masks C 10.1.1.0/24 is directly connected, Loopback1 L 10.1.1.101/32 is directly connected, Loopback1 B 10.2.2.0/24 [20/0] via 10.200.200.2, 1d11h C 10.100.100.0/24 is directly connected, Tunnel0 L 10.100.100.1/32 is directly connected, Tunnel0 B 10.101.101.0/24 [20/0] via 10.200.200.2, 1d11h C 10.200.200.0/24 is directly connected, Tunnel1 L 10.200.200.1/32 is directly connected, Tunnel1 172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks C 172.16.0.0/16 is directly connected, GigabitEthernet1 L 172.16.23.35/32 is directly connected, GigabitEthernet1 B 172.17.0.0/16 [20/0] via 10.200.200.2, 1d11h 192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks C 192.168.1.0/24 is directly connected, Loopback0 L 192.168.1.101/32 is directly connected, Loopback0 B 192.168.2.0/24 [20/0] via 10.200.200.2, 1d11h 192.168.100.0/32 is subnetted, 1 subnets C 192.168.100.1 is directly connected, Loopback100
RTR2(Arista)側RouteTable
rtr2#show ip rou VRF: default (中略) Gateway of last resort: DH 0.0.0.0/0 [254/0] via 172.17.0.1, Ethernet1 B E 10.1.1.0/24 [200/0] via 10.200.200.1, Tunnel1 C 10.2.2.0/24 is directly connected, Loopback1 B E 10.100.100.0/24 [200/0] via 10.200.200.1, Tunnel1 C 10.101.101.0/24 is directly connected, Tunnel0 C 10.200.200.0/24 is directly connected, Tunnel1 B E 172.16.0.0/16 [200/0] via 10.200.200.1, Tunnel1 C 172.17.0.0/16 is directly connected, Ethernet1 B E 192.168.1.0/24 [200/0] via 10.200.200.1, Tunnel1 C 192.168.2.0/24 is directly connected, Loopback0 C 192.168.100.2/32 is directly connected, Loopback100
次回もくもく会の日程について
次回の日程や場所は以下の通りとのこと。来週くらいには募集が始まると思われます。
- 日程: 2019/9/13(Fri)
- 場所:Softbankさん
- 内容:A10 Newtorks社製品を使ったAnsible(!!!)
成果発表の内容について
地方に勤務しているということもあり、首都圏に比べて勉強会の数も限られており、なかなか外に出るチャンスも作れていませんでした。
そんな自分ですが、Ansibleもくもく会はリモートで参加できることもあり、可能な限り参加するようにしてみた結果、コミュニティの方々とも知り合えたり、外に出ることに対して積極的になれたりと、いろいろな良いことがありました。
そんな自分になれたことが一番の成果です、ということを話したつもりです。 (若干緊張していたのと、あまり通る声ではないので聞き取れていない方は申し訳ありません。)
Ansible飯への参加について
合計11名の方と一緒にAnsible飯に行くことができました。
いろいろとお話しできればよかったのですが、Ansibleに関する実績もないのであまり持ちネタ的な感じが出せずでした。また今後参加できたら、濃ゆいネタが話ができればな、と思っています。
今後について
次回のもくもく会は別コンテンツということもあり、可能な限り参加をしたいと考えています。
それ以降については、やっと下期から「もくもく会を除いた時間でAnsibleを触ること」を解禁できそうなので、もくもく会そのものへの参加は控えめにしつつ、コミュニティで得られた皆様の知見を活かしながら、いろいろ試して、その結果をまたフィードバックしたいなと考えています。
私はどちらかというとオンプレNW寄りの何でも屋なので、そういう系統のカテゴリのチャレンジになると思います。
出来れば、業務の環境で利用できるのが一番なのですが、それはなかなか時間がかかりそうです。 まずはPoC環境からスタートできるよう、いろいろと挑戦していきたいと思います。
おまけ
今回頂いたもので、カバンやPCがこんな感じにアップグレードしました!感謝!!
●カバン
アクセサリ「Ansibleタグ」をそうびした。
— tatematsu_san (@tk4_jj) 2019年8月13日
かしこさが1あがった。 pic.twitter.com/WRvcoHVnj2
●PC(とその他)