前回前々回Portworx の概要や機能をご紹介し、PX-Central では 30 日間の無償ライセンスをご利用いただけることに触れました。今回は、この無償ライセンスを利用して「Portworx Enterprise」をオンプレミスの VM 環境にインストールしてお試しいただく方法をご説明します。

Portworx Enterprise

インストールの前準備

ここでは手軽なインストールのご紹介を念頭に、次のようなミニマム構成を準備しました。

  • OS:ESXi 6.5 上で CentOS 7(64 bit)を利用
  • ハードウェア:4 vCPU、4 GB RAM、128 GB(ハードディスク 1)、100 GB(ハードディスク 2)、10 GB ネットワーク・アダプタ
  • ストレージ:データストアとしてピュア・ストレージの FlashArray//X20 R2 を利用して、各 VM に 2 つのストレージを割り当て(OS 用と Portworx が利用するボリューム)
    Portworx Enterprise - ストレージを割り当て
  • コンテナ環境:Kubernetes v1.19.7、Docker v19.03.9

上記の環境を Master ノード 1 台、Worker ノード 3 台にそれぞれ準備します。インストール要件の詳細は、次の資料をご参照ください。

インストール用 Spec ファイルの作成

  1. PX-Central にアクセスすると、ログイン画面が表示されます。はじめての方は、画面下の Create account を選択します。
    Portworx - Create Account
  2. 必要な情報を入力して Get Started をクリックします。
    Portworx - Get Started
  3. 手順 2 で入力した Email アドレスに確認メールが届きます。Start Using Portworx をクリックすると、ブラウザに次のような画面が表示されます。Portworx Enterprise の左にある丸ボタンをクリックして選択し、画面右下の Next をクリックします。
  4. 以下の Spec Generator の画面で、事前に用意した Kubernetes のバージョン(kubectl version --short | awk -Fv '/Server Version: / {print $3}')の値を入力し、最新の Portworx のバージョンを選択します。今回は、Portworx が利用する ETCD(キーバリュー・ストア)もインストールに含めるため Built-in を選択します。なお、PX-DR(ディザスタ・リカバリ)や PX-Migrate(マイグレーション)機能をご使用の際は、外部の ETCD が必要です。その場合は Your etcd details を選択し、下に表示される入力欄に、用意した ETCD の URL を入力してください。Next をクリックします。
    Portworx - Spec Generator
  5. 各項目を設定します。設定項目については、それぞれ説明します。
    Portworx - storage setting

    • Select your environment
      インストール環境が On Premises か、Cloud(AWS、GCP、AZURE、vSphere)かを選択します。今回は On Premises を選択します。
    • Select type of OnPrem storage
      選択肢が 2 つあります。

      • Automatically scan disks
        Kubernetes クラスタにノードを追加した際に、そのノードが持つストレージ・デバイスを自動的にスキャンし、マウントされておらず利用されていないストレージ(例:/dev/sdb, /dev/sdc, …)を全て Portworx ストレージプールに追加します。
      • Manually specify disks
        特定のディスクのみを追加し、該当ディスクを指定します。/dev/sdb のように複数指定も可能です。

      今回は Automatically scan disks を選択します。なお、Enterprise ライセンスでは、Manually specify disks /dev/sdb を指定し、あるノードには /dev/sdc を追加することも可能です。

    • Use unmounted disks even if they have a partition or filesystem on it. PX will never use a drive or partition that is mounted
      マウントされていないけれどもパーティションやファイル・システムを持つデバイスも対象とするかどうかを選択します。今回は選択しません。
    • Auto create journal device
      Portworx がジャーナル・パーティションを最適(高速)なデバイス上に独立したパーティションとして自動的に作成するかどうかを選択します。これは性能に影響しますので、本番環境ではチェックを入れてください。
    • Configure KVDB Device
      手順 4 で Built in KVDB(ETCD)を選択したため、本番クラスタでは内部 KVDB データを格納するために別のデバイスを提供することをおすすめします。 これにより、ストレージに対する I/O から KVDB への I/O を分離できます(例:/dev/sdb)。なお、この「Built in KVDB」デバイスは、3 ノードのみに存在します。Portworx が KVDB をどのノードで動かすかを指定するには、対象ノードに px/metadata-node=true というラベルをつけます。
      例:kubectl labelnodes node1 node2 node3 px/metadata-node=true
      今回はできるだけシンプルにインストールしたいので、Skip KVDB device にチェックを入れます。
    • Configure Cache Device
      PX-Cache は、キャッシュ・ドライブを使用してストレージ・プールに接続することにより、ストレージ・プールの性能を向上させます。追加のキャッシュ・ドライブは、接続されているプールのレイテンシと IOPS を改善します。キャッシュ・ドライブは SSD または NVMe ドライブのいずれかである必要があり、ストレージ・プールは磁気ドライブで構成されている必要があります。今回は、オールフラッシュ・ストレージをデータストアとして利用しているため、指定しません。
      参考資料:Storage pool caching(ストレージ・プールのキャッシング)
  6. Next を選択します。
  7. ネットワークの設定画面では何も変更せずに Next を選択します。
    Portworx - network wetting
  8. 最後の画面では Advanced Settings Enable Stork Enable CSI を選択し、Finish をクリックします。
    Portworx - customize setting
  9. なお、手順 7 の画面で Enable Monitoring を選択すると、Prometheus と Grafana 用のメトリクスが自動的にインストールされます。これには追加の設定が必要になりますが、ぜひお試しください。詳細は、Prometheus and Grafana をご参照ください。
    Portworx Cluster Dashboard
  10. Portworx Enterprise License Agreement の画面が表示されます。
    Portworx License Agreement
  11. 今後の設定変更などに備えて Spec ファイルを手元に保存します。Download ボタンをクリックし、ダウンロードした yaml ファイルを Kubernetes の Master ノードに置きます。
    Portworx - save spec

Kubernetes に Portworx をインストール

  1. 先ほどダウンロードした Spec ファイルを Kubernetes に適用します。
    # kubectl create -f portworx_enterprise.yaml
    Portworx をアンインストールする手順は、こちらのページをご参照ください。
  2. Portworx の Worker ノードへのインストールが始まります。Kubernetes の Master ノードにはインストールされません。インストールは 5~10 分程度で完了します。
    Portworx - installationなお、インストール中のログは、以下のようなコマンドで参照できます。

    • Worker ノード上で実行:
      # journalctl -lefu portworx*
    • Master ノード上で実行:
      # kubectl -n kube-system logs portworx-xxxx
  3. インストールが完了して全てのポッドが「READY」の状態になると、Worker ノード上で pxctl コマンドが実行できるようになります。まずは pxctl status コマンドで状態を確認します。
    Portworx - total capacityスキャンされたノードやディスク、ストレージ・プールの Total Capacity が確認できます。

Portworx のボリュームを使ったサンプル・コンテナ

最後に、Portworx のボリュームを使用したサンプル・コンテナを作ってみましょう。

  1. ストレージ・クラスを作成します。repl の数を変えることで、このストレージ・クラスを元に作成されるボリュームの同期レプリケーションの数を指定できます。最大値は 3 です。
    kubectl create -f portworx-sc.yaml
  2. Persistent Volume Claim を作成します。
    kubectl create -f portworx-volume-pvcsc.yaml
  3. ポッドを作成します。
    kubectl create -f portworx-volume-pvcscpod.yaml
  4. ポッドが動作していることを確認します。
    # kubectl get pod pvpod

このように、ピュア・ストレージの Portworx のインストール手順はとてもシンプルです。ぜひ一度、ダウンロードしてお試しいただけますと幸いです。


Pure Storage、Pure Storage のロゴ、およびその他全ての Pure Storage のマーク、製品名、サービス名は、米国およびその他の国における Pure Storage, Inc. の商標または登録商標です。その他記載の会社名、製品名は、各社の商標または登録商標です。