vHoge

VMwareのアレコレ備忘録。CLIでがんばるネタ多め。

VMware DevOps Meetup #2

こちらに参加してきました。
VMware DevOps Meetup #2 - connpass
G-7ビルディング
会場
場所は東銀座、富士通クラウドテクノロジーズ社のイベント会場 NIFcLounge 。 (コピペ というわけで、5月に VM Meetup Tokyo #1 を開催した場所で開催。
VMware イベントおなじみの場所となるのか?
にしても会場は大体銀座駅から歩いていくのだが、行き帰りはいつも迷いそうになる…

今回はこちらも LT 枠が設けられたので LT 枠で申し込み。

オープニング

CaaS は現在 β 公開ということでなんと無償提供中。
色々遊べるかも?

ConcourseとBOSHであれこれ自動化しよう

www.slideshare.net
発表(とほぼ同じ内容)の資料だそうです。

  • 突然の自宅サーバ故障、bosh + NSX-T デモ しようと思ったのに…
    • なので Concourse 中心のお話に
  • Concourse デモ
    • php アプリを git へ push
    • yaml を concourse へアップロード
    • Concourse が git の更新を検知して pipeline を回す
      • PaaS へデプロイ
      • Docker ビルドされ、k8s へデプロイ
  • シンプル UI、scalable CI、設定は全部 yaml
  • Cloud Foundry 用開発ツールとして作成
  • Cloud Foundry 以外でも汎用的に使える
    • インフラ運用こそ Concourse を
      • PAS も Concourse でデプロイ
      • NSX-T も公式 Pipeline が存在
  • 4月の技術書展で github を使って執筆
    • 原稿を github に push → Pipeline 回って PDF / EPUB 発行、slack 通知
  • yaml で任意の docker-image + 任意のコマンド
    • つまりなんでもできる
  • ojichat on Concourse デモw
    • 「地獄のようなパイプライン」www
  • pyVmomi on Concourse
    • create snapshot pipeline
      • 非同期タスクなので完了はしてない
    • 定期的に timer リソースで動かすとか
  • はじめよう Concourse
    • まずは tutorial
    • 簡単に始めるなら docker-compose
    • 本気でやるなら bosh
    • k8s で helm もあるけど stable は半分くらい動かない
  • Have a safe flight
    • 〆がかっこいい

Concourse の紹介とデモ。会社ではやってるけど使ったことは無い…
とりあえず見た目いいよなーってのと PaaS やコンテナだとこちらが主だなという印象。

インフラ運用でという話もあったが、結局ツールやコードを整備して 1 とか 2 vCenter 管理だと割に合わないかなぁという気も…
恩恵が受けられそうな規模やユースケースを具体的に知りたい。

vSphere環境での自動化とテスト

www.slideshare.net

  • 運用基盤はいろんなところを自動化 (jenkins とか)
    • pyvmomi, PowerCLI, nsxramlclient, nsxansible
  • 自動化で書いたコードをメンテナンスしていく
  • そうだ!テストを書こう! → つらい
  • 安定したテスト環境がない
    • 共用環境は汚れがち
    • 変更がテストを壊す
    • テストごとの設定入れ替えも面倒
  • テスト環境作成も自動化
    • Nested ESXi!
  • Nested ESXi
    • VM に ESXi をインストール
    • ESXi なので API 制御可能
    • LinkedClone が早くて良い
  • Clone は IP や Mac がかぶりがちなのでネットワーク分離
    • 外から Nested ESXi へは踏み台経由で
    • Nested ESXi のスイッチの uplink は接続しない
  • 大事なポイント
    • テスト環境は常にキレイに
    • Nested ESXi はおすすめ
    • Linked Clone で高速化(または snapshot)
    • 複数並行で動かす場合はネットワーク分離に注意
  • 活用例
    • ツールとか ansible
    • dhcp サーバ
  • 自動化の継続のためにはテスト
  • きれいなテスト環境を要する
  • vSphere にとどまらず、インフラ全般のテストに

テスト環境として Nested ESXi を利用する話。
Nested でのテスト環境は言われると確かになぁというもので、それを Linked Clone 利用して自動化で実践している辺りさすがニフクラさん。
自分もこれを参考に取り組んでいきたい。

LT1 : pyvmomiで始めるvSphere API生活(初級編)

speakerdeck.com

  • pyvmomi
    • vSphere APIPythonSDK
    • 過去 4つのバージョン下位互換をサポート
    • pipでインストールは楽々
  • Managed Object
    • データ構造
  • Managed Object つらみ
    • 数千 VM になってくるとやばたにえん
      • govmomi で対処
    • 中身わからん、MOB でも見切れない…やばたにえん
  • オブジェクトは慣れ
  • 自動化できる
  • ansible モジュールが作れる

お世話になっております pyvmomi の紹介話。
最初はオブジェクト構造がとにかくとっつき難いので、Inventory Hierarchies を一読しておくのと MOB の存在を知っておくと良い。

  • Inventory Hierarchies and ServiceInstance
  • MOB

    LT2 : Developer Center と Code Capture で楽々 PowerCLI 生活

    www.slideshare.net

  • Onyx

    • vSphere 操作を PowerCLI のコードで出力してくれる
    • Flings で始まった
    • vSphere Client → Flash Client → HTML5 Client
  • vCenter 6.7u2 より Code Capture として同梱&サポート
    • API Exploer と vCenter View の2通りで実装
    • 操作を記録し、オブジェクトや vSphere API をコードとして出力
  • 諸々デモ
  • PowerCLI は PowerShell Gallery から入れる

Onyx、Code Capture の紹介。知らなかったけどこれは良さそう。
PowerCLI を触ることもないが、PowerCLI のコードで出てくればオブジェクトやメソッドを把握でき、pyvmomi に置き換えるだけでよいので色々捗りそう。

LT3 : OVF Environment を使って VM デプロイ

speakerdeck.com

OVF Env でしゃべりました。
アプライアンスでやってるとこもあるけど、実装されてないアプライアンスも多いよね。
そんなに難しいことしてないので広まってほしいもの。
(VMware Studio でやれが推奨?)
スライド中で出てくる実装したみたのコードは ↓ vhoge.hateblo.jp

Appendix としては、VM 側が Linux ベースで話したけど、Win でもvmtoolsdとは他のコマンドだが、同じよう取得はできるみたいなので、あとはその値を基に PowerShell あたりでゴリゴリやれば同じことができそうです。

あと、Nested の話に感銘を受けたので ESXi で試してみようかと。
ESXi 中にも vmtoolsd はあり、python もひとまず入っているのでなんとかなりそう?

LT4 : Ansible x NSX-T の可能性を探る

speakerdeck.com

  • DMM.com で IaaS やってる
    • VMware 半年ぐらい
    • VIO + NSX-T 使う予定で検証、調査、構築もろもろ最中
  • ansible for NSX-T
  • VIO 管理外のところを自動化したい
    • NSX-T User / Role 管理
      • playbook まだなさそう
    • EDGE インストール
      • 物理 EDGE になるので PXE
      • インストール後の設定はいけそう
    • T1/T0 はまだ対応中?
  • まだ足りてないところもある(発展途上)
    • PR 出せたら出す

ansibles for NSX-T を試してみた話。
まだ発展途上で未対応な部分が多いが開発としては活発なのでそのうちに期待という印象。

そういえば VIO も内部の展開で ansible 動いてたような…
VMware だと ansible が圧倒的?

LT5 : Photon OS 3.0 でのパッケージ管理の様子。

onedrive.live.com

  • go さん
    • vExpert
    • VMTN モデレータ
      • 「VMTN は永続クッキーなので良いです。」
  • Photon のパッケージ管理 tdnf
    • yum 互換
    • 使ってみたら「これはシンドイな」
  • リポジトリ参照先は JFrog Bintray
  • yumほどしっかり依存関係できてない
    • インストール成功しても rpm が足りているとは限らない
    • rpm --last
      • awk が入っていない!
    • ansible をインストール
      • jinja2 が足りない! → 追加でインストール
        • yaml モジュールが足りない! → 追加でインストール
          • ElementTree が足りない! → 追加でインストール
            • ようやく動く
  • デフォルトだと/usr/bin/python がない
    • /usr/bin/python3
    • リンクがない
  • 依存関係の意識が必要
    • spec ファイルの requires を追記すれば…
  • Photon は今のところコンテナホスト / 仮想アプライアンスOS として割り切る

Photon OS のパッケージ管理ツールの話。tdnf。
依存関係が解決できず、rpm を localinstall で構築していっているような状態。つらみ。
docker 使って何とかする方に倒した方がよいとのこと。

LT6 : vFORUM Developers Day での Idea Hackathon について

www.slideshare.net

  • 2019/11/11 vForum Day0 として Developers Day 開催決定!
    • 11/12 ~ 13 で vForum
    • それと 9/18 VMware DevOps Meetup #3
  • Developers Day session 予定
    • Keynote
    • Blackout Session
    • Power Session
    • Maker Space
    • Training
    • DevOps Meetup #4
    • Idea Hackathon
  • Idea Hackathon
    • テーマを設けてアイディアを出し、競いあう
    • アイディアと Mock を評価
      • 実装は後日
  • 実施についてリアルタイムアンケート
    • 興味あり優勢
    • 前向きに検討

Developers Day の発表と Idea Hackathon、Meetup #3 についての発表。
Developers Day は「おぉ!」というものだが、よくよく予定見たら 11/11 って参加できない可能性が…
決定ではないけど…うーん、なんとかなるかなぁ…

余談

今回の 8セッションあったんですが、
そのうち 5セッションに"ansible"というキーワードが含まれていたりw

逆に登場しなかったセッションは Kawamitsu さん、@motonori_shindo、そして自分…
こ、これは…?w