Photon OSとは、VMware が開発している、 クラウドネイティブアプリケーション、クラウドプラットフォーム、
およびVMwareインフラストラクチャー向けに最適化されたオープンソースの軽量LinuxOSである。
<Photon OSの特徴>
〇vSphere向けにKernelがチューニングされている
Linuxカーネルは、Photon OS が vSphere 上での実行時に合わせてパフォーマンスを調整済み。
〇コンテナのサポート
Dockerデーモンが導入済み。
Mesos と Kubernetes などのコンテナオーケストレーションフレームワークが利用可能。
〇効率的なライフサイクルを管理
管理、パッチ、および更新が容易。
コンテナパッケージのセキュリティパッチやアップデートはタイムリーに更新。
〇セキュリティの強化
セキュアな OS
カーネルをはじめとするOSは、セキュリティを重視して構築
パッケージ管理には、VMware社が開発しているtdnf(Tiny Dandified Yum)が利用
Photon Management Daemon Command-line Interface (pmd-cli)により、リモートのPhoton OSの
仮想マシンのネットワーク設定ができる。
dockerデーモンが含まれる。
Phothon OS 2.0は、docker 17.06 ce
Phothon OS 3.0は、docker 18.06 ce
ネットワーク設定はsystemd-networkdとsystemd-resolvedを利用
時刻同期はsystemd-timesyncdを利用
<Photon OSイメージの修正点>
Photon OSイメージを公開するにあたり、以下の修正を行ってある。
Photon Minimalをベースにインストール
niftycloud_initを設定
キーボードは日本語キーボードに設定
タイムゾーンはAsia/Tokyoに設定
iptablesの自動起動はオフに変更
dockerの自動起動はオフに変更
cloud-initの自動起動はオフに変更
<使い方>
Photon OSを使ってコンテナを利用するまでの流れ
コントロールパネルからサーバー作成を選択し、イメージ選択の画面で Photon と検索すると
Photon OS 2.0と3.0が表示されるため、Photon OS 3.0を選択
次に、サーバータイプを選択します。軽量LinuxOSであるため、e-miniで十分動作することができる。
サーバー設定でSSHキーやファイアウォールの設定を行い、サーバーを作成。
サーバーが起動してくるので、sshでログインする。
Dockerの設定
Dockerの自動起動はオフになっているため、オンに変更
# systemctl enable docker
Dockerサービスを起動する。
# systemctl start docker
Dockerのバージョンを確認する。
Photon OS 3.0ではDocker 18.06がインストールされている。
# docker version
Client:
Version: 18.06.1
API version: 1.38
Go version: go1.10.7
Git commit: e68fc7a
Built: Mon Feb 4 16:35:01 2019
OS/Arch: linux/amd64
Experimental: false
Server:
Engine:
Version: 18.06.1
API version: 1.38 (minimum version 1.12)
Go version: go1.10.7
Git commit: e68fc7a
Built: Mon Feb 4 16:36:56 2019
OS/Arch: linux/amd64
Experimental: false
コンテナの起動
nginxのコンテナイメージにアクセスできるように、ニフクラのコンパネから
ファイアウォールにアクセス元からのHTTP接続を許可する設定を追加しておく。
以下のコマンドを実行し、nginxコンテナを起動する。
# docker run -p 80:80 vmwarecna/nginx
Unable to find image ‘vmwarecna/nginx:latest’ locally
latest: Pulling from vmwarecna/nginx
a3ed95caeb02: Pull complete
b6f2388a20dd: Pull complete
a305e4b888ce: Pull complete
80596a504ef3: Pull complete
99c028eff2a4: Pull complete
a1cee46bc434: Pull complete
9bd9868012b9: Pull complete
6fa7100a2613: Pull complete
Digest: sha256:f73bbae0f31823c06478b1fa5efb4957bc25239802fd5ea94e4442c0a6090d23
Status: Downloaded newer image for vmwarecna/nginx:latest
ブラウザーから http://仮想マシンのIPアドレス を指定し、nginxに接続できることを確認する。
コンソールにもnginxのアクセスログが表示される。
ブラウザーで接続の確認ができれば、Ctrl+Cでnginxコンテナを終了する。