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

D65bdfdd4762c763f71d08fd4d9fa511?s=47 sky_joker
October 16, 2020

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

D65bdfdd4762c763f71d08fd4d9fa511?s=128

sky_joker

October 16, 2020
Tweet

Transcript

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

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

  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モジュール開発 ナナチスキ
  4. Ansibleと VMware Collections

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

    Ansibleを使う事でインフラのプロビジョニング、構成管理、デプロイメント などが自動化できます ▸ Ansibleは以下の3つの特徴があります 標準化された自動化言語 幅広く対応 セキュア
  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 コミュニティ
  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 <= 正式サポート!
  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
  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などの設定管理を自 動化する ▸ 監視システムなどと連携して障害時は自動復旧させる
  10. 自動化1.0と2.0の世界

  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
  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 やり方ツールもバラバラ ネットワーク/ストレージの 作業が終わるまで開始できない
  13. GitLab履歴管 理で代替 Deploy自動化 Towerの画面 に表示 CIによる自動テスト Playbook/Role の標準化 申請項目の正規化・標準化 パラメーター有効性を自動判定

    自動化2.0(初期)の世界 自動化サービスとしてボタンを提供 13 作業計画 手順書作成 手順書レ ビュー ハンコ 作業実施 (2人) 作業報告 申請書レ ビュー パラメーター 精査 サーバ チーム 作業計画 手順書作成 手順書レ ビュー ハンコ 作業実施 (2人) 作業報告 申請書レ ビュー パラメーター 精査 ネットワーク チーム 作業計画 手順書作成 手順書レ ビュー ハンコ 作業実施 (2人) 作業報告 申請書レ ビュー パラメーター 精査 ストレージ チーム 社内 ユーザー サーバが必要だ 払い出しを頼む 約数分 約数分 約数分 納期: 約数日 各チームの ボタンを押す Ansibleで標準化することでAnsible Towerでボタン化が可能
  14. 自動化2.0の未来世界 人が介在しないフルオートメーション 14 作業計画 手順書作成 手順書レ ビュー ハンコ 作業実施 (2人)

    作業報告 申請書レ ビュー パラメーター 精査 サーバ チーム 作業計画 手順書作成 手順書レ ビュー ハンコ 作業実施 (2人) 作業報告 申請書レ ビュー パラメーター 精査 ネットワーク チーム 作業計画 手順書作成 手順書レ ビュー ハンコ 作業実施 (2人) 作業報告 申請書レ ビュー パラメーター 精査 ストレージ チーム 社内 ユーザー サーバが必要だ ボタン押そう 約数分 約数分 約数分 納期: すぐ 関連ボタンを連携させたボタンによる全自動化(クラウドサービスを作るイメージ)
  15. 自動化サービスの運用・保守(自動化システムやPlaybook/Role、効果測定など) 自動化2.0の世界 チームの役割 15 作業計画 手順書作成 手順書レ ビュー ハンコ 作業実施

    (2人) 作業報告 申請書レ ビュー パラメーター 精査 サーバ チーム 作業計画 手順書作成 手順書レ ビュー ハンコ 作業実施 (2人) 作業報告 申請書レ ビュー パラメーター 精査 ネットワーク チーム 作業計画 手順書作成 手順書レ ビュー ハンコ 作業実施 (2人) 作業報告 申請書レ ビュー パラメーター 精査 ストレージ チーム 約数分 約数分 約数分
  16. デモ(VMデプロイの例) 16 ボタンぽち ワークフロー実行 NetBox IP予約 VMware VMデプロイ VMware Snapshot作成

    NetBox IPアドレス有効 VMware VM削除 NetBox IPアドレス削除 DNS レコード更新 各種パラメータ を入力してボタン ぽち〜! NetBox IP空き確認 VMware VM存在チェック REST API Endpointとして提供可 VMデプロイサービス
  17. 17 自動化2.0への道 自動化2.0ジャーニー ▸ サービスの標準化、アジャイルに進められるようマインドチェンジ、 IaCを実現するためのスキルチェンジ(Git、CI/CDなど)、自動化に適した アーキテクチャー再設計やチームビルディングなどが必要になってくる ため一気に自動化2.0を実現することは難しいです 出来る範囲から小さく初めて徐々に広げていく必要があります ▸

    自動化は目的を明確化してから進めていきましょう! ▸ 部分的に自動化を実装しただけでは、自動化2.0は達成できないため、 周りを巻き込み(連携し)ながら進めていく必要があります ▸ 社内コミュニティの形成、ナレッジ共有、僕/私の自動化自慢話など積 極的に情報を発信して周りを巻き込んでみましょう! 周りを巻き込みながら進める やること、考えることが多い みんなを巻き込んで進める Git CI/CD 標準化 開発 Ansible
  18. 自動化2.0まとめ 18 ▸ 組織間の作業で人が介在しない l 自動化2.0では作業がフルオートメーションされた世界 ▸ 自動化ボタン(API Endpoint)はサービスとして提供 l

    自動化ボタンを用意して安易にPlaybookを実行できる環境を提供する ▸ インフラの仕事内容は自動化システムの開発・運用へ l 自動化された世界ではインフラチームの仕事は自動化サービスの安定提供 ▸ ビジネスアジリティ向上 l サービス化により開発者は柔軟にリソースを入手できるようになるので、開発・ リリース改善サイクルを短期的に回せるようになる
  19. 最後に 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