Upgrade to Pro — share decks privately, control downloads, hide ads and more …

NetboxとAnsibleを使ってvSphere環境の管理・作業の自動化をしてみよう

 NetboxとAnsibleを使ってvSphere環境の管理・作業の自動化をしてみよう

sky_joker

July 27, 2022
Tweet

More Decks by sky_joker

Other Decks in Technology

Transcript

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

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

  3. 自己紹介 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モジュール開発 ナナチスキ
  4. 構成管理の課題

  5. 5 課題の一例 Excelなどのパラメーターシートについて ▸ 作成や管理が手間 • 新規で作る場合、フォーマットを設計したり申請量が多いと パラメーターを埋めるのが大変 • ファイル名が日付管理で複数できる

    • 最新版がどれか分からなくなる懸念がある • 担当者しか正しいファイルが分からない(属人化) • 誰がどこを修正したのか記録しておくことが困難 • パラメーターのBefore/Afterなど • 修正漏れが発生した結果、想定外の障害が発生 • それぞれの機器やパラメーターが何と紐付いてるかがぱっと 見分かりにくい
  6. AnsibleとNetBoxで解決できるかも? 6 課題 やってみよう

  7. Ansible/NetBox について

  8. 8 Ansibleとは SIMPLE POWERFUL AGENTLESS ▸ Infrastructure as Codeを実現するOSSツールの一つです ▸

    Ansibleを使う事でインフラのプロビジョニング、構成管理、デプロイメント などの作業自動化ができます ▸ Ansibleは以下の3つの特徴があります 標準化された自動化言語(YAML) 幅広く対応 セキュア
  9. 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管理画面
  10. 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管理画面 サポート範囲 サポート外
  11. AAPとNetBoxの連携

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

  13. AAPからNetBoxにテナントとPrefix作成 13 AAPのボタンぽち ワークフロー実行 ▸ 目的 ▸ IPアドレスとVMを管理するテナントとIPアドレスのPrefix作成 NetBox テナント、Prefix追加メニュー

    テナントとPrefix作成 Gateway登録 インプット情報 • テナント名 • Prefix • ゲートウェイアドレス システム管理者 本来であれば、vSphere環境にテナントの設定を 追加しますが、今回のデモでは省略しています
  14. 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に追加している
  15. 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アドレス 他タスクに共有できる変数を生成 共有変数を参照 利用者
  16. まとめ 16 ▸ Ansible/AAPで作業全体を自動化することで作業の効率化が期待できます ▸ NetBoxでテナントやセグメントおよびVMにアサインしたIPアドレスなどが 管理できます ▸ VMware/NetBoxモジュールが用意されているため、環境が準備できれば誰 でもすぐはじめられます

    ▸ 今日のデモで使用したPlaybookなどは以下に保存しているので興味がある 方は参考にしてみてください • https://github.com/sky-joker/VMUG20220727
  17. 最後に

  18. 18 お知らせ Red Hat Ansible Automates 2022 Japan ▸ 日時

    ▸ 2022年9月8日(木)、9日(金) ▸ 場所 ▸ オンライン ▸ URL ▸ https://www.redhat.com/ja/explore/ansible-automates-2022- japan
  19. Ansiblejp関連情報 19 ▸ teratail l https://teratail.com/tags/Ansible ▸ Slack(ansiblejp) l https://bit.ly/ansiblejp-slack

    ▸ Ansibleユーザー会 l https://ansible-users.connpass.com/
  20. 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