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

    View Slide

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

    View Slide

  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モジュール開発
    ナナチスキ

    View Slide

  4. 構成管理の課題

    View Slide

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

    View Slide

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

    View Slide

  7. Ansible/NetBox
    について

    View Slide

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

    View Slide

  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管理画面

    View Slide

  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管理画面
    サポート範囲 サポート外

    View Slide

  11. AAPとNetBoxの連携

    View Slide

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

    View Slide

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

    View Slide

  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に追加している

    View Slide

  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アドレス
    他タスクに共有できる変数を生成
    共有変数を参照
    利用者

    View Slide

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

    View Slide

  17. 最後に

    View Slide

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

    View Slide

  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/

    View Slide

  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

    View Slide