vHoge

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

vExpert ノススメ

vExpert 2019 Second Half Award Announcement がありました。
受賞されました皆様はおめでとうございます!
blogs.vmware.com ざーっと見る限り、知っている方が数名いらっしゃいました。

Second Half だと受賞者の一覧が HP 上に掲載されるみたいで、
自分のとき(1st Half)は受賞者数が多いからかどこにも掲載されず、メールだけ来ていたので本当に受賞しているのか?と若干あやしがってた記憶…w

ところで、vExpert って何ぞや?という人向けにざっくり紹介。

昨今は VMware DevOps Meetup / VM Meetup Tokyo とコミュニティが立ち上がり、vExpert を目指す上での場が広がっているので、機会があれば挑戦してみると良い。

vExpert とは

VMware 社が認定する公式エヴァンジェリストプログラム。

要は VMware 社の製品やテクノロジーの普及や発展に貢献した人を表彰するもので、執筆活動やプレゼンなどの活動を年次で申請し、認められることで得られるものです。

試験や実技などはありません。
扱いも資格ではなく表彰といった感じ。(手当とかつくところないのかな…?)

vExpert 受賞者 = VMware 製品のスーパーハッカー かと言われとそうではなかったりしますが、一方でエヴァンジェリストとして貢献できるだけの知見を持ち合わせている人なので、経験則的には技術を語れる人がほとんどだと思います。

と言っても範囲が広いので、
技術的ものさしでベースラインを見るなら VCP とか VCAP の方が良いかな。

余談

ここ最近、VMware 社の競合企業社員は申請がはじかれるようになったらしく、某なんたらnix 社とかは軒並みいなくなった。

この競合って他にどの辺の会社なんでしょう?
例えば MS とか RedHat なんかはパッと見だと HV の OS で競合しそうなものだが、それよりパートナーという関係の方が強そう(なので社員でも取れる?)。

vExpert のメリット

個人的には NFR ライセンスが一番大きいかな。
ホームラボで vCenter や Enterprise Plus の ESXi が使えるのは良い。
あとは発表資料に vExpert ロゴを使えるという見栄かなw

  • vExpert private forum や slack チャンネル
  • NFR ライセンス (1年)
    • VMware 製品以外のパートナーでも NFR ライセンス出してくれるところがある
  • vExpert 証明書 PDF 発行
  • vExpert ロゴ使用許可
  • Early access program ?
    • Blogger バッジ保持者のみ??
  • vExpert community
    • Local vBeer とか
  • etc...

ロゴは ↓
星の方は取得回数によって星の数が増える。
f:id:masahiroirie:20190729153133p:plainf:id:masahiroirie:20190729153157p:plain

vExpert 申請方法

半期に 1 回: 1~2月、6~7月 が申請受付期間となるので、 vExpert Application Portal の申請フォームから自身の年間 Activity を入力します。
申請 Close から大体 2~3 週間程度で結果が出て、メールでのお知らせや vExpert Portal Directory への追加がされます。

vExpert Path

期間中に vExpert Application Portal から申請を上げることになりますが、
申請種別としては 3 種類あります。

  • Evangelist Path
    書籍執筆、ブログ発信、ツール開発、イベントスピーカーやコミュニティボランティア貢献など、個人として VMware の普及活動を行った方向けのパス。
    一般的にイメージされるエヴァンジェリスト活動を行っている方のパスです。
    一番多そう?

  • Customer Path
    所属企業にて事例やインタビューなど、 VMware のユーザとして貢献した企業の従業員向けのパス。
    公開情報で無くても内部でリーディングや製品検証、フィードバックを行っている場合でもこちらの申請で対応可能だが、事前に VMware 社員の人とコンタクトを取っておき、推薦コメントを貰うことが推奨というかほぼ必須?です。
    (自分はここから申請)

  • VPN (VMware Partner Network) Path
    VMware のパートナー企業の従業員向けの Path.
    パートナーのプリセールスエンジニアとかはこれが多いのかな?
    VPN 企業に所属していないので詳細はあまり分からない…

  • VCDX Path VCDX 所持者用のパス。
    日本人 VCDX 保持者はいないのでこのパスの人はいないはず…
    もし取得できたら是非こちらで。

vExpert へのステップ

エヴァンジェリスト活動としていろいろなチャネルで情報発信をしていくのが基本。

その中でも発表系は従来は VMware に特化した発表の場だと vForum や EVOLVE ぐらいで、どうしても企業としての活動がベースになっており枠も限られている。
VMUG ならvForum や EVOLVEに比べればゆるいが平日日中開催なので、業務時間に参加できるよう会社承認を得る必要があり、人によっては難しいところはありそう。
他の場だと VMware プラスで何かを絡めての発表となりネタ仕込みが少し難しかった。

で、冒頭の話。
VMware DevOps Meetup / VM Meetup Tokyo と VMware に特化したコミュニティイベントが立ち上がったおかげで、個人レベルでも活動しやすく、発表の場も持てるので Activity も得やすい。

場が増え vExpert への道も広がっている昨今なので、これらの場で発表するのであれば vExpert まで見据えてみるのは良いのではないだろうか。
逆に vExpert を視野に入れている人は VMware DevOps Meetup / VM Meetup Tokyo で登壇することで Activity になるし、コネクションも広がるのでやってみると大きなプラスになります。

というわけで、次は 2020 年の 1~2月の申請受付になりますので、それを一つのターゲットとして活動してみてはいかがでしょう。
VMware DevOps Meetup が 9月/11月開催予定で、VM Meetup Tokyo も年内には 1~2回はありそう?

自分も継続に向けてがんばります。

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

VMUG 仮想インフラ部会 2019 年度 #2

前回が4月の頭だったので、少し間が開いた感覚。

Outline

大盛況で30人越えの大所帯に。
また、VMUG.com 移行効果でマイアミからの参加者も。

そして、場所がすごい。。。
左を見ると東京駅日本橋
東京駅日本橋口
同じ場所で右を見るとトラベルハブミックス(があるパソナグループさん)
トラベルハブミックス

Agenda

0.大手町牧場見学
1.会場について
2.LT1(検証環境、検証項目)
3.VMwareさんセッション
4.VMUG.com 移行状況
5.LT2(HoL)
6.次回

0.大手町牧場見学

開始前に同じ建屋内にある大手町牧場を見学。 大手町牧場
牛!
牛
山羊!
山羊
アルパカ! アルパカ
フクロウ! フクロウ!
千代田区で東京駅の真ん前ですよ…フロア単価いくらだ
他にも稲作があって首相がやってきてたりとスゴイです…

それと餌代に
PayPay使えます
QR決済はこういうところにフットワーク軽く入ってこれるのは良いとこ。

1.会場について

  • 観光案内所としてパソナが提供
  • 2021~2022 取り壊し予定の建屋、何かできないかと
  • 観光と地方創生
  • 人生という旅の案内所
  • Meetup + Inspiration + eXperience

2.LT1(検証環境、検証項目)

ユーザ各々の検証環境、検証項目についての LT。

検証環境はどこも古いサーバをやりくりして捻出。
DR 環境を検証機として使い、非常時には SRM 一気に止めて切り替えるというやり方をやっているところも。

検証項目としてはアップグレード検証がほとんど。
ドライバ周りから機能系、性能系、異常系やAPI での他シス連携あたりの観点で過去に引いた問題から項目に落とし込んでいる。

それと某 vExpert が語る、"社内 SE に必要な資質と教育"がキーワードを軸として語られており、良かったのでキーワードだけ抽出。
情シスや SE の人には非常にあるあるな内容だと思われる。

  • Engneering
  • Coordination
  • Avoid Trouble
  • Sharp Observation
  • Explanatory
  • Keep Compliance
  • Logical Thinking
  • Imagination
  • Self Study
  • Management

3.VMwareさんセッション

VMware Education Service 中村さんのお話

  • 自己紹介
    • パトーナー SE→ Education チーム
    • VMware徹底入門2版統括
    • vSphere/Horizon 基礎の基礎 企画、監修、冊子化
  • 教育コース
    • Step1 基礎
    • Step2 Optimize and Scale
    • Step3 TroubleShooting
  • Step2 がおすすめ
    • リソース管理が VMware の神髄
  • VCP 変更点
    • VCP 名称、西暦対応 (VCP-DCV 6.5/6.7 → VCP-DCV2018)
    • 2年更新ポリシーの廃止
    • 失効 VCP の Rollback
      • 復活後、試験のみで VCP-DCV2019 へ Upgrade 可能
  • 社員のスキルアップ
    • セールス系
    • エンジニア系
      • Install, Configure, Manage vSphere / NSX / Horizon
    • ベテラン / Education 向け
      • 本国からの製品担当が来て DeepDive
      • 外部トレーニングとかも
  • ベストプラクティス
    • 時間の確保 = 余裕を作る
      • 今の業務をどう整理して環境を整えることが8割
    • 良く寝る(7時間以上)
    • 適度な運動
  • Educationの壁
    • 5日連続
    • 東京開催
    • 受講費用
  • 工夫
    • プライベートコースで一人当たりのコストをおさえる
    • Custom コースで日数圧縮
    • ライセンス費用で計上
  • まとめ
    • vSphere Edication Optimize and scale オススメ
    • スキルアップの環境作り 余裕を作る・よく寝る・適度な運動
    • 適材適所の教材、無償セミナー Web を活用

教育関係のお話。
Optimize and Scale オススメされたので聞いてみたい。VCP にも手を出したいし。だけどお金がね…会社のアレで何とかならんかなと思うも…

うーん。

スキルアップのベストプラクティスは非常に同意の内容。
余裕ないと勉強も何もあったものでないし。

4.VMUG.com 移行状況

VMUG 掲示板から VMUG.com への移行。
仮想インフラ部会は主な活動はほぼ VMUG.com へ移行されたような状況。
すごいことに直近でのコメント数 1 位は Japan VMUG コミュニティがらしい。
(全 222 地域コミュニティ)
ひえー

5.LT2(HoL)

LT 後半戦は検証環境で HoL (Hands on Lab) がメイン。
"HoL は壊しても誰も怒られない" のが最大の強みというのが共通見解。
がむしゃらにやるよりもトラブルシューティングのつもりで目標を決めてやってみるのが良いとのこと。
VMware Hands-on Labs
無料で登録できるのでまずはやってみる(予定)。

6.次回

  • 日時:8月予定
  • 場所:成城大学
  • テーマ:HoLでvWarrior演習
    • 前半30分~1時間で参加者による再演?

前回の EVOLVE で行われた vWarrior の再演。
vForum は VMUG メンバーから champion 輩出なるか!?

Photon OS でのサンプル実装

VMware DevOps Meetup #2 - connpass 用のネタ。
詳しくは当日の LT にて…(資料も上がると思います)

Photon OS 初期設定コード

#!/bin/python3
import xml.etree.ElementTree as ET
import subprocess
import textwrap
import os

VMTOOLSD = "/usr/bin/vmtoolsd --cmd 'info-get guestinfo.ovfenv'"
HOSTNAMECTL = "hostnamectl set-hostname {}"
NS_OE = {'oe': 'http://schemas.dmtf.org/ovf/environment/1'}
VALKEY = "{http://schemas.dmtf.org/ovf/environment/1}value"
VCENTERID = "{http://www.vmware.com/schema/ovfenv}vCenterId"
ENV_XPATH = "oe:PropertySection/oe:Property[@oe:key='{}']"
OVFKEY = ["ip", "prefix", "gateway", "hostname", "dns"]
LOCKFILE = "/var/lib/misc/photoninit.lck"
NETFILE = "/etc/systemd/network/10-static-en.network"
DHCPFILE = "/etc/systemd/network/99-dhcp-en.network"


def getOvfEnv():
    try:
        res = subprocess.check_output(VMTOOLSD, shell=True).decode('utf-8')
    except SubprocessError:
        raise
    return res


def chkLock(vmid):
    if os.path.exists(LOCKFILE):
        with open(LOCKFILE, "r") as f:
            s = f.read()
            if s == vmid:
                return True
    return False


def setLock(vmid):
    with open(LOCKFILE, "w") as f:
        f.write(vmid)


def deployHostname(hostname):
    try:
        subprocess.run(HOSTNAMECTL.format(hostname), shell=True)
    except SubprocessError:
        raise


def deployNetwork(ip, prefix, gateway, dns):
    conf = textwrap.dedent('''
    [Match]
    Name=eth0

    [Network]
    Address={t_ip}/{t_prefix}
    Gateway={t_gateway}
    DNS={t_dns}
    ''').format(t_ip=ip, t_prefix=prefix, t_gateway=gateway, t_dns=dns).strip()
    with open(NETFILE, "w") as f:
        f.write(conf)
    os.chmod(NETFILE, 0o644)
    if os.path.exists(DHCPFILE):
        disableDHCP()


def disableDHCP():
    conf = textwrap.dedent('''
    [Match]
    Name=e*

    [Network]
    DHCP=no
    ''').strip()
    with open(DHCPFILE, "w") as f:
        f.write(conf)
    os.chmod(DHCPFILE, 0o644)


def main():
    try:
        xml = getOvfEnv()
    except Exception as e:
        print("vmtoolsd error:{}".format(e))
        return 1

    tree = ET.fromstring(xml)
    vmid = tree.attrib[VCENTERID]

    if chkLock(vmid):
        print("Nothing to do.")
        return 0

    dic = {}
    for key in OVFKEY:
        attr = ENV_XPATH.format(key)
        dic[key] = tree.find(attr, NS_OE).attrib[VALKEY]

    try:
        deployHostname(dic["hostname"])
    except Exception as e:
        print("Hostname setting error:{}".format(e))
        return 1
    deployNetwork(dic["ip"], dic["prefix"], dic["gateway"], dic["dns"])
    setLock(vmid)

    return 0


if __name__ == '__main__':
    exit(main())

service

[Unit]
Description=photoninit
Before=getty@tty1.service systemd-networkd.service systemd-resolved.service
After=local-fs.target

[Service]
Type=oneshot
ExecStart=/usr/local/bin/photoninit
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

git でないのはアカウント無かったから…そのうち作るかも?

cloudvm-ram-size -l をひたすら張り付ける

ここ数か月で、何個かの vCSA 環境にて vsphere-client の heap 不足アラートが出たので拡張対応をやっている。
https://kb.vmware.com/s/article/2144950?lang=ja

対応自体は KB にある通り、vCSA に ssh で乗り込み、cloudvm-ram-size で vsphere-client の Max や Current を見ながら下記のコマンドで Allocate を設定しなおして vsphere-client を再起動すれば OK。

# Allocate / Max / Currnet 確認
cloudvm-ram-size -S | grep -e Serivce-Name -e vsphere-client

# heap 変更
cloudvm-ram-size -C XXXX vsphere-client

( XXXX + 256 が実際に Allocate されるメモリ量になる。256 って何だろ…)

heap サイズは vCSA のメモリ量 = VM サイズによってデフォルト値が決まっているが、
vCSA ハードウェア要件に対応する規模以下の構成だが heap が足りているとは限らない。
docs.vmware.com まぁ、インベントリやタスク、イベントの総数とかによるんでしょうね…

というわけで、次立てる時やアップグレードの参考用に
各サイズでの vCSA の cloudvm-ram-size をメモっておく。

前提

取得したのは vCSA 6.7u2 で embedded PSC。
cloudvm-ram-size -l だけだと順序保障がないので sortかけてます。

tiny

# cloudvm-ram-size -l | sort
applmgmt             =      200
OS                   =      270
TOTAL(MB)            =    10000
vcha                 =       46
vmafdd               =       22
vmcad                =      224
vmdird               =       22
vmdnsd               =       20
vmonapi              =       15
vmware-analytics     =      192
vmware-certificatemanagement =       70
vmware-cis-license   =      192
vmware-cm            =      228
vmware-content-library =      473
vmware-eam           =      168
vmware-hvc           =       40
vmware-imagebuilder  =       50
vmware-mbcs          =      128
vmware-netdumper     =       20
vmware-perfcharts    =      357
vmware-pod           =      100
vmware-postgres-archiver =        5
vmware-rbd-watchdog  =      100
vmware-rhttpproxy    =       31
vmware-sca           =      128
vmware-sps           =      478
vmware-statsmonitor  =       10
vmware-stsd          =      538
vmware-sts-idmd      =      328
vmware-topologysvc   =       70
vmware-trustmanagement =       70
vmware-updatemgr     =      164
vmware-vapi-endpoint =      256
vmware-vmon          =        5
vmware-vpostgres     =      699
vmware-vpxd          =     1024
vmware-vpxd-svcs     =     1045
vmware-vsan-health   =      100
vmware-vsm           =      160
vsan-dps             =      246
vsphere-client       =      853
vsphere-ui           =      853

small

# cloudvm-ram-size -l | sort
applmgmt             =      227
OS                   =      951
TOTAL(MB)            =    16025
vcha                 =       46
vmafdd               =       29
vmcad                =      224
vmdird               =       29
vmdnsd               =       28
vmonapi              =       15
vmware-analytics     =      203
vmware-certificatemanagement =       73
vmware-cis-license   =      192
vmware-cm            =      281
vmware-content-library =      537
vmware-eam           =      192
vmware-hvc           =       52
vmware-imagebuilder  =       50
vmware-mbcs          =      128
vmware-netdumper     =       20
vmware-perfcharts    =      566
vmware-pod           =      100
vmware-postgres-archiver =        5
vmware-rbd-watchdog  =      100
vmware-rhttpproxy    =       49
vmware-sca           =      128
vmware-sps           =      944
vmware-statsmonitor  =       10
vmware-stsd          =      715
vmware-sts-idmd      =      352
vmware-topologysvc   =       72
vmware-trustmanagement =       73
vmware-updatemgr     =      301
vmware-vapi-endpoint =      256
vmware-vmon          =        5
vmware-vpostgres     =     1264
vmware-vpxd          =     3869
vmware-vpxd-svcs     =     1109
vmware-vsan-health   =      102
vmware-vsm           =      177
vsan-dps             =      251
vsphere-client       =     1190
vsphere-ui           =     1110

medium

# cloudvm-ram-size -l | sort
applmgmt             =      264
OS                   =     1862
TOTAL(MB)            =    24089
vcha                 =       46
vmafdd               =       39
vmcad                =      224
vmdird               =       39
vmdnsd               =       39
vmonapi              =       15
vmware-analytics     =      218
vmware-certificatemanagement =       78
vmware-cis-license   =      192
vmware-cm            =      353
vmware-content-library =      623
vmware-eam           =      224
vmware-hvc           =       68
vmware-imagebuilder  =       50
vmware-mbcs          =      128
vmware-netdumper     =       20
vmware-perfcharts    =      846
vmware-pod           =      100
vmware-postgres-archiver =        5
vmware-rbd-watchdog  =      100
vmware-rhttpproxy    =       75
vmware-sca           =      128
vmware-sps           =     1566
vmware-statsmonitor  =       10
vmware-stsd          =      952
vmware-sts-idmd      =      384
vmware-topologysvc   =       76
vmware-trustmanagement =       78
vmware-updatemgr     =      484
vmware-vapi-endpoint =      256
vmware-vmon          =        5
vmware-vpostgres     =     2018
vmware-vpxd          =     7670
vmware-vpxd-svcs     =     1195
vmware-vsan-health   =      106
vmware-vsm           =      201
vsan-dps             =      258
vsphere-client       =     1640
vsphere-ui           =     1454

large

# cloudvm-ram-size -l | sort
applmgmt             =      300
OS                   =     2772
TOTAL(MB)            =    32154
vcha                 =       46
vmafdd               =       50
vmcad                =      224
vmdird               =       50
vmdnsd               =       50
vmonapi              =       15
vmware-analytics     =      234
vmware-certificatemanagement =       84
vmware-cis-license   =      192
vmware-cm            =      425
vmware-content-library =      709
vmware-eam           =      256
vmware-hvc           =       84
vmware-imagebuilder  =       50
vmware-mbcs          =      128
vmware-netdumper     =       20
vmware-perfcharts    =     1125
vmware-pod           =      100
vmware-postgres-archiver =        5
vmware-rbd-watchdog  =      100
vmware-rhttpproxy    =      100
vmware-sca           =      128
vmware-sps           =     2188
vmware-statsmonitor  =       10
vmware-stsd          =     1188
vmware-sts-idmd      =      416
vmware-topologysvc   =       80
vmware-trustmanagement =       84
vmware-updatemgr     =      667
vmware-vapi-endpoint =      256
vmware-vmon          =        5
vmware-vpostgres     =     2773
vmware-vpxd          =    11470
vmware-vpxd-svcs     =     1281
vmware-vsan-health   =      110
vmware-vsm           =      224
vsan-dps             =      266
vsphere-client       =     2090
vsphere-ui           =     1799

xlarge

# cloudvm-ram-size -l | sort
applmgmt             =      374
OS                   =     4593
TOTAL(MB)            =    48285
vcha                 =       46
vmafdd               =       70
vmcad                =      224
vmdird               =       70
vmdnsd               =       72
vmonapi              =       15
vmware-analytics     =      265
vmware-certificatemanagement =       94
vmware-cis-license   =      192
vmware-cm            =      569
vmware-content-library =      882
vmware-eam           =      321
vmware-hvc           =      116
vmware-imagebuilder  =       50
vmware-mbcs          =      128
vmware-netdumper     =       20
vmware-perfcharts    =     1685
vmware-pod           =      100
vmware-postgres-archiver =        5
vmware-rbd-watchdog  =      100
vmware-rhttpproxy    =      151
vmware-sca           =      128
vmware-sps           =     3433
vmware-statsmonitor  =       10
vmware-stsd          =     1662
vmware-sts-idmd      =      481
vmware-topologysvc   =       87
vmware-trustmanagement =       94
vmware-updatemgr     =     1034
vmware-vapi-endpoint =      256
vmware-vmon          =        5
vmware-vpostgres     =     4283
vmware-vpxd          =    19071
vmware-vpxd-svcs     =     1454
vmware-vsan-health   =      117
vmware-vsm           =      271
vsan-dps             =      280
vsphere-client       =     2990
vsphere-ui           =     2487