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

VMwareとAnsible_Towerで実現する自動化2.0の世界

sky_joker
October 16, 2020

 VMwareとAnsible_Towerで実現する自動化2.0の世界

sky_joker

October 16, 2020
Tweet

More Decks by sky_joker

Other Decks in Technology

Transcript

  1. www.goodpello.com
    VMwareとAnsible Towerで
    実現する自動化2.0の世界
    Japan VMUG #4

    View Slide

  2. 今日話す事
    01. AnsibleとCollectionsについて
    02. 自動化1.0と2.0の世界(デモあり)

    View Slide

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

    View Slide

  4. Ansibleと
    VMware Collections

    View Slide

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

    View Slide

  6. VMware Collection
    6
    ▸ VMware Collection
    l https://github.com/ansible-collections/vmware
    ▸ 従来通り!
    l 今までAnsibleで使っていたSOAPモジュール!
    ▸ モジュール数
    l 170モジュール以上
    ▸ 動作に必要なpythonライブラリ
    l pyvmomi >= 6.7.1.2018.12
    l vSphere Automation SDK for Python
    ▸ サポート
    l コミュニティ

    View Slide

  7. VMware REST Collection
    7
    ▸ VMware REST Collection
    l https://github.com/ansible-collections/vmware_rest
    ▸ 新登場!
    l vCenter 6.5から実装されたREST APIを元に作られたモジュールです
    l REST APIの仕様を元に自動でモジュールが生成されるようになりました
    https://github.com/ansible-collections/vmware_rest_code_generator
    l コードもシンプル化且つ高速化が図られています
    ▸ モジュール数
    l 52モジュール
    ▸ 動作に必要なPythonライブラリおよびバージョン
    l aiohttp
    l Python 3
    ▸ サポート
    l Red Hat <= 正式サポート!

    View Slide

  8. VMware Collections 使用する際の注意点
    8
    ▸ ESXi 無償版では使えません
    l VMwareモジュールはESXi単体でも限定的ですが操作することができ
    ます
    l ただし、ESXi無償版の場合はAPIがリードオンリーになってしまうた
    め使えません(60日間評価の場合は可能)
    l 個人で検証する場合は VMUG Advantage を購入することで可能です
    VMUG Advantageは$200/年で検証ライセンスが入手できます
    https://community.vmug.com/vmug2019/membership/evalexperience

    View Slide

  9. ユースケース
    9
    ▸ ESXiにテンプレートを使ってVMを自動デプロイする
    ▸ ESXiに新規VMを作成してKickstartでOSのインストールを自動化する
    ▸ ESXiの順次パッチ当てを自動化する(ローリングアップデート) https://is.gd/J9ApT7
    ▸ 複数のESXiからサポートログの取得を自動化する https://is.gd/S6uKzE
    ▸ vCenter経由でゲストOSにファイルのアップロード/ダウンロードを自動化する
    ▸ vCenter/ESXiの設定を自動化する
    ▸ SCM(GitHub/GitLabなど)やCMDBなどと連携してvCenter/ESXi/VMなどの設定管理を自
    動化する
    ▸ 監視システムなどと連携して障害時は自動復旧させる

    View Slide

  10. 自動化1.0と2.0の世界

    View Slide

  11. Ansible Towerとは
    11
    11
    エンタープライズ向け自動化プラットフォーム
    ▸ セルフポータルGUI、ワークフロー、Git連携、実行履歴ログ管理、
    ロールベースのACL、REST API、冗長構成などエンタープライズ
    の組織全体で自動化を実現する機能がサポートされいる製品です
    ▸ 標準化されたジョブテンプレートをワークフローで繋げて自動化
    サービスを作成しHTTP(S) REST API Endpointとして提供が可能です
    インフラのマイクロサービス化を実現
    Get Started
    〜はじめてみよう、Ansible〜
    https://www.redhat.com/ja/explore/ansible
    awx
    https://github.com/ansible/awx
    ▸ Ansible TowerのOSS版(アップルトリーム)ではAWXがあります
    AWXはコンテナで提供されています
    OSS版(アップストリーム)のAWX

    View Slide

  12. 一部自動化
    自動化1.0の世界
    部分的に自動化されている
    12
    作業計画 手順書作成
    手順書レ
    ビュー
    ハンコ
    作業実施
    (2人)
    作業報告
    申請書レ
    ビュー
    パラメーター
    精査
    サーバ
    チーム
    作業計画 手順書作成
    手順書レ
    ビュー
    ハンコ
    作業実施
    (2人)
    作業報告
    申請書レ
    ビュー
    パラメーター
    精査
    ネットワーク
    チーム
    作業計画 手順書作成
    手順書レ
    ビュー
    ハンコ
    作業実施
    (2人)
    作業報告
    申請書レ
    ビュー
    パラメーター
    精査
    ストレージ
    チーム
    社内
    ユーザー
    申請書
    サーバが必要だ
    払い出しを頼む
    ネットワークとストレージが必要だ
    各チームに依頼しよう
    1 week
    1 week
    1 week
    納期: 最大3週間
    Ansibleで
    自動化
    Pythonで
    自動化
    手動作業
    1.0d 1.0d 1.0d 1.0d 1.0d 1.0d 0.5d 0.5d
    1.0d 1.0d 1.0d 1.0d 1.0d 1.0d 0.5d 0.5d
    1.0d 1.0d 1.0d 1.0d 1.0d 1.0d 0.5d 0.5d
    やり方ツールもバラバラ
    ネットワーク/ストレージの
    作業が終わるまで開始できない

    View Slide

  13. GitLab履歴管
    理で代替
    Deploy自動化 Towerの画面
    に表示
    CIによる自動テスト
    Playbook/Role
    の標準化
    申請項目の正規化・標準化
    パラメーター有効性を自動判定
    自動化2.0(初期)の世界
    自動化サービスとしてボタンを提供
    13
    作業計画 手順書作成
    手順書レ
    ビュー
    ハンコ
    作業実施
    (2人)
    作業報告
    申請書レ
    ビュー
    パラメーター
    精査
    サーバ
    チーム
    作業計画 手順書作成
    手順書レ
    ビュー
    ハンコ
    作業実施
    (2人)
    作業報告
    申請書レ
    ビュー
    パラメーター
    精査
    ネットワーク
    チーム
    作業計画 手順書作成
    手順書レ
    ビュー
    ハンコ
    作業実施
    (2人)
    作業報告
    申請書レ
    ビュー
    パラメーター
    精査
    ストレージ
    チーム
    社内
    ユーザー
    サーバが必要だ
    払い出しを頼む
    約数分
    約数分
    約数分
    納期: 約数日
    各チームの
    ボタンを押す
    Ansibleで標準化することでAnsible Towerでボタン化が可能

    View Slide

  14. 自動化2.0の未来世界
    人が介在しないフルオートメーション
    14
    作業計画 手順書作成
    手順書レ
    ビュー
    ハンコ
    作業実施
    (2人)
    作業報告
    申請書レ
    ビュー
    パラメーター
    精査
    サーバ
    チーム
    作業計画 手順書作成
    手順書レ
    ビュー
    ハンコ
    作業実施
    (2人)
    作業報告
    申請書レ
    ビュー
    パラメーター
    精査
    ネットワーク
    チーム
    作業計画 手順書作成
    手順書レ
    ビュー
    ハンコ
    作業実施
    (2人)
    作業報告
    申請書レ
    ビュー
    パラメーター
    精査
    ストレージ
    チーム
    社内
    ユーザー
    サーバが必要だ
    ボタン押そう
    約数分
    約数分
    約数分
    納期: すぐ
    関連ボタンを連携させたボタンによる全自動化(クラウドサービスを作るイメージ)

    View Slide

  15. 自動化サービスの運用・保守(自動化システムやPlaybook/Role、効果測定など)
    自動化2.0の世界
    チームの役割
    15
    作業計画 手順書作成
    手順書レ
    ビュー
    ハンコ
    作業実施
    (2人)
    作業報告
    申請書レ
    ビュー
    パラメーター
    精査
    サーバ
    チーム
    作業計画 手順書作成
    手順書レ
    ビュー
    ハンコ
    作業実施
    (2人)
    作業報告
    申請書レ
    ビュー
    パラメーター
    精査
    ネットワーク
    チーム
    作業計画 手順書作成
    手順書レ
    ビュー
    ハンコ
    作業実施
    (2人)
    作業報告
    申請書レ
    ビュー
    パラメーター
    精査
    ストレージ
    チーム
    約数分
    約数分
    約数分

    View Slide

  16. デモ(VMデプロイの例)
    16
    ボタンぽち ワークフロー実行
    NetBox
    IP予約
    VMware
    VMデプロイ
    VMware
    Snapshot作成
    NetBox
    IPアドレス有効
    VMware
    VM削除
    NetBox
    IPアドレス削除
    DNS
    レコード更新
    各種パラメータ
    を入力してボタン
    ぽち〜!
    NetBox
    IP空き確認
    VMware
    VM存在チェック
    REST API Endpointとして提供可
    VMデプロイサービス

    View Slide

  17. 17
    自動化2.0への道
    自動化2.0ジャーニー
    ▸ サービスの標準化、アジャイルに進められるようマインドチェンジ、
    IaCを実現するためのスキルチェンジ(Git、CI/CDなど)、自動化に適した
    アーキテクチャー再設計やチームビルディングなどが必要になってくる
    ため一気に自動化2.0を実現することは難しいです
    出来る範囲から小さく初めて徐々に広げていく必要があります
    ▸ 自動化は目的を明確化してから進めていきましょう!
    ▸ 部分的に自動化を実装しただけでは、自動化2.0は達成できないため、
    周りを巻き込み(連携し)ながら進めていく必要があります
    ▸ 社内コミュニティの形成、ナレッジ共有、僕/私の自動化自慢話など積
    極的に情報を発信して周りを巻き込んでみましょう!
    周りを巻き込みながら進める
    やること、考えることが多い
    みんなを巻き込んで進める
    Git
    CI/CD
    標準化
    開発
    Ansible

    View Slide

  18. 自動化2.0まとめ
    18
    ▸ 組織間の作業で人が介在しない
    l 自動化2.0では作業がフルオートメーションされた世界
    ▸ 自動化ボタン(API Endpoint)はサービスとして提供
    l 自動化ボタンを用意して安易にPlaybookを実行できる環境を提供する
    ▸ インフラの仕事内容は自動化システムの開発・運用へ
    l 自動化された世界ではインフラチームの仕事は自動化サービスの安定提供
    ▸ ビジネスアジリティ向上
    l サービス化により開発者は柔軟にリソースを入手できるようになるので、開発・
    リリース改善サイクルを短期的に回せるようになる

    View Slide

  19. 最後に
    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