Skip navigation
2017

VMware の Linux ディストリビューションである、Photon OS の紹介です。

 

この投稿は、vExperts Advent Calendar 2017 の 25日目です。

vExperts Advent Calendar 2017 - Adventar

 

Photon OS の Tips を投稿しようかと思ったのですが、

そもそも Photon OS 自体があまり知られていないようなので

今回は 10 点ほど、ポイントをお伝えしてみようと思います。

 

1. Photon OS は、主に Docker コンテナ ホストとして利用されます。

OS ディストリビューション同梱のパッケージにも、Docker が含まれています。

OVA 版には、デフォルトで Docker Engine がインストールされています。

vSphere Integrated Containers (VIC)でも、Photon OS が利用されます。

Photon OS を利用する Photon Controller というプロダクトもあります。

 

PowerCLI Core や、PowerNSX の Docker コンテナを実行するホストとしても利用できるかなと思います。

Docker コンテナの PowerNSX を実行してみる。

PowerCLI Core を Docker コンテナでためしてみる。 (ちょっと古い投稿ですが)

 

2. 最新の GA バージョンは 2.0。

今年の vForum Tokyo が開催のタイミングで、さりげなく GA されてました。

VMware Photon OS 2.0 が GA になりました。

 

3. インストーラの提供も GitHub。

インストーラの ISO / OVA / ディスクイメージも GitHub のリンクからダウンロードできます。

(実際のダウンロードサイトは Bintray)

Downloading Photon OS · vmware/photon Wiki · GitHub

 

不具合があって置き換えられたりするので、新しいリリースがなくてもたまに確認するとよいと思います。

パブリッククラウドむけのイメージも、ここからダウンロードできます。

 

4.ドキュメントは、GitHub にある。

ドキュメントは、GitHub の Wiki(Home · vmware/photon Wiki · GitHub )から見るとよいと思います。

 

ちなみに直接は関係ありませんが、Photon OS を利用する VIC も

最新版のドキュメントは GitHub に公開されています。

vSphere Integrated Containers by VMware®

 

5. コンテナ・イメージのベース OS としても利用できる。

Photon OS も、当然ながら Docker コンテナ イメージのベース OS として利用することができます。

Docker Hub にオフィシャルなイメージもあります。

でもまだ 2.0 が出ていない・・・

https://hub.docker.com/_/photon/

https://hub.docker.com/r/vmware/photon/

 

PowerCLI Core のコンテナイメージの OS も Photon OS です。

https://hub.docker.com/r/vmware/powerclicore/~/dockerfile/

 

6. 仮想アプライアンスとしても利用されている。

Docker コンテナとは関係なく、仮想アプライアンスとしても利用されています。

Linux 仮想アプライアンス版の vCenter Server である「vCenter Server Appliance 6.5」も Photon OS になりました。

他にも、Advent Calendar で登場した HCI Bench も Photon OS でした。

今後は Photon OS の知識の重要度が増してきそうです。

 

7. パッケージ管理は YUM 互換の TDNF。

パッケージ管理には、YUM と互換性のある TDNF というものが採用されています。

VMware Photon OS へのパッケージ追加。(tdnf / yum)

そして yum コマンドも利用できます。

Photon OS 2.0 では yum にリンクがはられていました。

 

パッケージ自体は RPM ですが、Bintray(vmware is using Bintray)で配布されています。

ちなみに Bintray にアカウントを作成すると、RPM の更新通知を受けられたりします。

 

8. サービス管理は systemd。

Linux ディストリビューションの流行にあわせて?、systemd が採用されています。

photon/photon-admin-guide.md at master · vmware/photon · GitHub

 

9. Linux Kernel は新しめのものを採用している。

root@photon-machine [ ~ ]# cat /etc/photon-release

VMware Photon OS 2.0

PHOTON_BUILD_NUMBER=304b817

root@photon-machine [ ~ ]# uname -r

4.9.66-1.ph2-esx

 

カスタマイズ内容は GitHub で分かると思います。

photon/SPECS/linux at master · vmware/photon · GitHub

 

10. PMD という管理機構がある。

Photon 独自の管理 API があります。

まだ正直、使い道がわかりませんが、ネットワーク設定やパッケージ管理などができるようです。

VMware Photon OS 2.0 で PMD / pmd-cli を実行してみる。

 

 

以前の Photon OS についての投稿 もよろしければどうぞ。

来年も、Photon OS に親しんでいこうと思います。

 

以上、Photon OS の紹介でした。メリークリスマス。

vr-photon.png

この投稿は、vExperts Advent Calendar 2017 の 18日目です。

vExperts Advent Calendar 2017 - Adventar

 

今年、NSX と PowerNSX についての投稿をしていたので、

そのまとめとして、テナントを大量生産してみようと思います。

PowerNSX でテナント追加の自動化をしてみる。Part.1

PowerNSX でテナント追加の自動化をしてみる。Part.2

PowerNSX でテナント追加の自動化をしてみる。Part.3

PowerNSX でテナント追加の自動化をしてみる。Part.4

PowerNSX でテナント追加の自動化をしてみる。Part.5

 

ここまでで紹介した方法をふまえて、

たとえば 100 テナント作成するときのことを考えてみようと思います。

ve-adv-2017-18-00.png

 

まず今回は、Part.5 までで紹介した内容をもとに下記のようなスクリプトを作成してみました。

実際に NSX の操作を自動化するときはその環境に依存すると思うので、

一つの例ということでご覧いただければと思います。

 

add_tenant.ps1

blog-powernsx-samples/add_tenant.ps1 at master · gowatana/blog-powernsx-samples · GitHub

 

tenant_config.ps1

blog-powernsx-samples/tenant_config.ps1 at master · gowatana/blog-powernsx-samples · GitHub

 

では、スクリプトを実行してみます。

まず PowerNSX で vCenter と NSX Manager に接続しておきます。

PowerNSX での NSX への接続方法について。

 

スクリプト ファイルを配置して・・・

PowerNSX> ls

 

    ディレクトリ: C:\work\blog-powernsx-samples\powernsx-auto-adv

 

Mode                LastWriteTime         Length Name

----                -------------         ------ ----

-a----       2017/12/18     22:42           4202 add_tenant.ps1

-a----       2017/12/18     22:43            990 tenant_config.ps1

 

実行。

PowerNSX> .\add_tenant.ps1 .\tenant_config.ps1 55 3

 

このような感じになります。

できあがるネットワーク環境は、Part.5 のものと同じものです。

なお、PowerNSX のプロンプトは、こんな感じで雰囲気を出しています。

PowerNSX プロンプト文字列に NSX / vCenter への接続状態を反映してみる。

ve-adv-2017-18-01.png

 

下記のように、NSX によるネットワークと VM が作成されます。

NSX の論理スイッチに VM が3つ接続された状態になりました。

ve-adv-2017-18-02.png

 

そして極端な例ですが、下記のような要領で、

100 テナント(各テナントに 3 VM)の環境が作れたりします。

※だた実際にこれでうまくいくかは別として・・・

PowerNSX> 1..100 | foreach {

>>   $tenant_no = $_

>>  .\add_tenant.ps1 .\tenant_config.ps1 $tenant_no 3

>> }

 

ということで、理想的なことをいうと下記のような考えができるのではないかと思います。

  • 自動化は、最初の仕込みには時間がかかったとしても、
    大量の作業をミス防止しつつできる。100 回おなじ作業があっても、作業ミスをなくせる。
    PoewrCLI / PowerNSX スクリプトに限らず、vRealize Orchestrator や vRealize Automation の情報 などでも。
  • 定型化することにより、意図的に構成をシンプルにできる。(複雑化を防止できる。)
  • NSXはホスト3台からでもできるが、自動化の仕込みも 3ホストあれば十分はじめられる。
    (ちなみに今回の NSX 環境は 3 ESXi ホストですが、1ホストの NSX 環境でもはじめられます。)

 

以上、今年も PowerNSX 紹介 Advent Calendar でした。

クリスマスなので明るい感じでお伝えしてみました・・・