Slide 1

Slide 1 text

www.goodpello.com NetboxとAnsibleを使って vSphere環境の管理・作業の 自動化をしてみよう Japan VMUG vExpertが語る #17

Slide 2

Slide 2 text

今日話す事 01. 構成管理の課題について 02. Ansible Automation PlatformとNetBoxの紹介 03. 動作デモ

Slide 3

Slide 3 text

自己紹介 3 --- - 名前: 大嶋 健容 Twitter: @sky_jokerxx GitHub: sky-joker 所属: Red Hat K.K. 仕事: コンサルタント コントリビュート: ansible: collaborator: - VMware - Zabbix molecule: owner: - molecule-vmware 浸かってる沼: - 小型PCクラスタ構築 @sky_jokerxx 得意: - ansible - VMware(vSphere, NSX) - vSphere/NSX APIを使った開発 - OSSとVMwareの組み合わせ 興味: - 自動化 - コンテナ(k8s, OpenShift) - CICD - アジャイル/スクラム 趣味: - 自宅ラックで検証 - Ansibleモジュール開発 ナナチスキ

Slide 4

Slide 4 text

構成管理の課題

Slide 5

Slide 5 text

5 課題の一例 Excelなどのパラメーターシートについて ▸ 作成や管理が手間 • 新規で作る場合、フォーマットを設計したり申請量が多いと パラメーターを埋めるのが大変 • ファイル名が日付管理で複数できる • 最新版がどれか分からなくなる懸念がある • 担当者しか正しいファイルが分からない(属人化) • 誰がどこを修正したのか記録しておくことが困難 • パラメーターのBefore/Afterなど • 修正漏れが発生した結果、想定外の障害が発生 • それぞれの機器やパラメーターが何と紐付いてるかがぱっと 見分かりにくい

Slide 6

Slide 6 text

AnsibleとNetBoxで解決できるかも? 6 課題 やってみよう

Slide 7

Slide 7 text

Ansible/NetBox について

Slide 8

Slide 8 text

8 Ansibleとは SIMPLE POWERFUL AGENTLESS ▸ Infrastructure as Codeを実現するOSSツールの一つです ▸ Ansibleを使う事でインフラのプロビジョニング、構成管理、デプロイメント などの作業自動化ができます ▸ Ansibleは以下の3つの特徴があります 標準化された自動化言語(YAML) 幅広く対応 セキュア

Slide 9

Slide 9 text

9 Ansible Automation Platformとは IT自動化を実現するためのエンタープライズフレームワーク ▸ Red Hat Ansible Automation Platform(以下、AAP)は、開発、サーバ、ネッ トワーク、運用チームが組織横断での自動化を実現可能 ▸ エンタープライズで自動化を導入するために必要な機能・ツールが含ま れている ▸ Red Hat Developer Programに登録して使用することも可能 ▸ https://rheb.hatenablog.com/entry/developer-program ▸ OSS(アップストリーム版)ではAWXがある 機能例 ▸ WebUIからPlaybookの実行、ログ記録・確認、インベントリ管理 ▸ ジョブのスケジュール実行、ワークフロー化 ▸ 組織、チーム、ユーザー、権限管理(RBAC)、外部認証連携 ▸ Git連携 ▸ 認証情報管理(管理ノードへログインするユーザー、パスワードなど) ▸ AAPのクラスタ化、実行ノードのフルメッシュ化 ▸ REST API Red Hat Ansible Automation Platform https://www.redhat.com/ja/technologies/management/ansible awx https://github.com/ansible/awx AAP管理画面

Slide 10

Slide 10 text

10 NetBoxとは ネットワーク自動化を促進するために設計されたアプリケーション ▸ NetBoxはネットワークとインフラリソースを管理するOSSツール ▸ REST APIが実装されており自動化との親和性が高くAnsibleで操作をする ためのモジュールが提供されている ▸ コンテナイメージも用意されており、お試し利用は簡単にできる NetBoxで出来ること、出来ないことの例 ▸ IPAM ▸ Equipment racks ▸ Devices ▸ Connections ▸ Virtualization ▸ Data circuits ▸ Network monitoring ▸ DNS Server ▸ RADIUS Server ▸ Configuration management ▸ Facilities management NetBox Documentation https://docs.netbox.dev/en/stable/ Ansible netboxモジュール https://docs.ansible.com/ansible/latest/collections/netbox/netbox/ index.html NetBox管理画面 サポート範囲 サポート外

Slide 11

Slide 11 text

AAPとNetBoxの連携

Slide 12

Slide 12 text

デモ内容 12 ▸ デモストーリー ▸ システム管理者がAAPからNetBoxにテナントとPrefixの作成 ▸ 利用者がAAPからVMのデプロイ ▸ 利用者がAAPからVMの削除

Slide 13

Slide 13 text

AAPからNetBoxにテナントとPrefix作成 13 AAPのボタンぽち ワークフロー実行 ▸ 目的 ▸ IPアドレスとVMを管理するテナントとIPアドレスのPrefix作成 NetBox テナント、Prefix追加メニュー テナントとPrefix作成 Gateway登録 インプット情報 • テナント名 • Prefix • ゲートウェイアドレス システム管理者 本来であれば、vSphere環境にテナントの設定を 追加しますが、今回のデモでは省略しています

Slide 14

Slide 14 text

AAPからVMのデプロイ 14 ▸ 目的 ▸ VMをデプロイために必要なネットワーク、ホスト名を自動採番する ▸ それらの値を元にVMをデプロイする 参考情報: ホスト命名規則 [テナント名]-[IPアドレス(.抜き)] AAPのボタンぽち ワークフロー実行 NetBox アクティベートIPアドレス IPアドレス採番 ホスト名採番 Gateway取得 VMware vCenter NetBox VM作成 VM登録 VMにIPアドレス紐付け VMware VM作成 VMデプロイ IPアドレス、ホスト名、 Gateway値 他タスクに共有できる変数を生成 共有変数を参照 インプット情報 • テナント名 • データセンター名 • クラスタ名 • テンプレート名 • VMデプロイ数 • VMのサイズ • ポートグループ名 • ゲストパスワード 利用者 ※事前にClusterとDevice Typeを NetBoxに追加している

Slide 15

Slide 15 text

AAPからVMの削除 15 ▸ 目的 ▸ 不要なVMとNetBoxから情報を削除する AAPのボタンぽち ワークフロー実行 VMware VM情報取得 VMware vCenter VMware VM削除 NetBox アンアクティベートIPアドレス NetBox VM削除 VMware vCenter VMの存在確認 情報取得 VM削除 PrefixからIPアドレス 削除 VM削除 インプット情報 • テナント名 • データセンター名 • 削除するIPアドレスレンジ(正規表現可) ホスト名、IPアドレス 他タスクに共有できる変数を生成 共有変数を参照 利用者

Slide 16

Slide 16 text

まとめ 16 ▸ Ansible/AAPで作業全体を自動化することで作業の効率化が期待できます ▸ NetBoxでテナントやセグメントおよびVMにアサインしたIPアドレスなどが 管理できます ▸ VMware/NetBoxモジュールが用意されているため、環境が準備できれば誰 でもすぐはじめられます ▸ 今日のデモで使用したPlaybookなどは以下に保存しているので興味がある 方は参考にしてみてください • https://github.com/sky-joker/VMUG20220727

Slide 17

Slide 17 text

最後に

Slide 18

Slide 18 text

18 お知らせ Red Hat Ansible Automates 2022 Japan ▸ 日時 ▸ 2022年9月8日(木)、9日(金) ▸ 場所 ▸ オンライン ▸ URL ▸ https://www.redhat.com/ja/explore/ansible-automates-2022- japan

Slide 19

Slide 19 text

Ansiblejp関連情報 19 ▸ teratail l https://teratail.com/tags/Ansible ▸ Slack(ansiblejp) l https://bit.ly/ansiblejp-slack ▸ Ansibleユーザー会 l https://ansible-users.connpass.com/

Slide 20

Slide 20 text

Thank you For listening https://twitter.com/sky_jokerxx https://qiita.com/sky_jokerxx https://sky-joker.tech https://github.com/sky-joker @sky_jokerxx