Sandbox インスタンスのプロビジョニングの準備

WaziSandboxSystem を使用して Sandbox インスタンスを作成するか、WaziSandboxVolumeCopy を使用してボリュームをコピーする前に、以下の要件を満たしていることを確認してください。

対象者: アプリケーション開発者

各要件の詳細な説明は以下のとおりです。

イメージ・プル・シークレットを作成する方法

以下の手順を実行して、イメージ・プル・シークレットを作成します。
  1. IBMコンテナー・ライブラリーからイメージ・プル・シークレットのライセンス・キーを取得します。 ライセンスのページが表示されていない場合は、「ライセンス・キーの取得 (Get an entitlement key)」をクリックします。
  2. 以下のコマンドを使用して、wazi-sandbox-operator をインストールした名前空間にシークレットを作成します。
    oc create secret -n <NAMESPACE> docker-registry wazi-sandbox-pull-secret --docker-server=cp.icr.io --docker-username=cp --docker-password=<your IBM Entitled registry key> --dry-run -o yaml | oc apply -f -

SFTP サーバー・パスワード用の Secret を作成する方法

クラスター管理者が開発者間で共有するシークレットを作成しなかった場合、開発者は、Sandbox インスタンスを作成する前に、以下のようにカスタム・リソース YAML ファイルの spec.zpdt.secretName で使用する Secret を作成する必要があります。

SFTP サーバー・パスワード用の Secret を作成する方法
  1. Red Hat OpenShift® Web コンソールで、 「ワークロード (Workloads)」 > 「シークレット (Secrets)」にナビゲートします。
  2. 「作成」をクリックし、「キー/値のシークレット (Key/Value Secret)」を選択し、 必要な詳細を入力します。 Secret には、次の 2 つのキーが必要です。
    • zdtAuthPassword: コンテナー内で使用される内部パスワードを設定します。 ハードコーディングされたパスワードが Sandbox システムで使用されないようにするためにこれを指定する必要があります。
    • sftpPassword: クラスター管理者によって指定された SFTP サーバーとユーザー名に対応するパスワードを保持します。
  3. 「作成」をクリックします。

シークレットの作成のビュー

カスタム・リソース YAML ファイルについて詳しくは、構成リファレンスを参照してください。

Sandbox ライセンス・サーバーと SFTP サーバーの情報を指定する方法

クラスター管理者が既存の ConfigMap の名前を指定した場合、カスタム・リソース YAML ファイルで spec.zpdt.configMap.name をこの名前に設定し、別の ConfigMap フィールドをファイルから除外します。

クラスター管理者が使用する既存の名前を指定していない場合は、以下の手順に従って Sandbox ライセンス・サーバーと SFTP サーバーの詳細な情報を指定してください。

Sandbox ライセンス・サーバーと SFTP サーバーの情報を指定する方法
  1. カスタム・リソース YAML ファイル内の spec.zpdt.configMap.createtrue に設定します。
  2. 以下のキーにクラスター管理者によって指定された正しい値を指定します。
    キー 説明
    licenseServer Sandbox ライセンス・サーバーのアドレス。
    sftpHost SFTP サーバーのアドレス。
    sftpPort SFTP サーバーが listen するポート。
    sftpUser SFTP サーバーにアクセスするためのユーザー名。
    sftpPath z/OS® ボリューム・ファイルが含まれる、SFTP サーバー上のディレクトリー・パス
    デフォルトで 22 に設定されている sftpPort を除いて、すべてのキーが必須です。 sftpPort キーが必要なのは、別のポートが使用されていた場合のみです。 クラスター管理者は、使用する追加のキーと値を指定することもできます。 使用可能な構成オプションの完全なリストについては、構成リファレンスを参照してください。

手動で PersistentVolumeClaim を作成する理由

Sandbox インスタンスは z/OS ボリュームを共有できないので、各インスタンスは z/OS ボリューム・ファイルのコピーを保持するために、固有の PersistentVolumeClaim を必要とします。 PersistentVolumeClaim は、以下のいずれかの方法で作成できます。
  • (オプション 1) Sandbox Operator によって PersistentVolumeClaim を自動的に作成します。 この場合、Sandbox インスタンスが削除されると、すべての変更内容が失われます。 このデフォルトの方法を使用する場合は、手動で PersistentVolumeClaim を作成する必要はありません。

    ユース・ケース: これは、ユース・ケースによっては望ましい場合があります。 例えば、常にクリーンな環境が必要な自動化テストで、パスまたは失敗の結果のみを必要とし、ボリュームの内容は保持する必要がない場合です。

  • (オプション 2) 開発者またはクラスター管理者のいずれかが、PersistentVolumeClaim を手動で作成します。

    ユース・ケース: ほとんどの場合、このストレージは Sandbox インスタンスよりも存続期間が長いため、Sandbox 操作の外部で管理する必要があります。 これは、SFTP サーバーからのボリュームのコピーに比較的コストがかかり、コンテンツに対するそれ以降の変更 (ターゲット・アプリケーションのカスタマイズなど) は、Sandbox インスタンスが削除されても、すべて保存する必要があるためです。 そうすることで、同じストレージを使用して、以前に削除した Sandbox インスタンスを再作成することができます。

手動で PersistentVolumeClaim を作成する方法

開発者とクラスター管理者は、どちらも手動で PersistentVolumeClaim を作成できます。

クラスター管理者が PersistentVolumeClaim を作成しなかった場合は、開発者が以下の手順を実行する必要があります。
  1. PersistentVolumeClaim を作成する権限と、ストレージ・クラス名、要求サイズ、使用するセレクターなどの情報をクラスター管理者から取得します。
  2. PersistentVolumeClaims に関する Kubernetes 資料に説明されている方法で、PersistentVolumeClaim を作成します。