# 導入手順

導入手順は以下のとおりです。

## Operatorのインストール

OperatorHubを使用して、HULFT10 for Container Platformを導入します。

1. Red Hat OpenShiftを開きます。

2. Red Hat OpenShiftの表示を「管理者向け表示」に切り替えます。

3. 画面の左側にあるメニューからOperator > OperatorHubを選択します。

   OperatorHub画面が表示されます。

4. OperatorHubの検索バーで、“HULFT”と入力します。

   HULFT10 for Container Platformボタンが表示されます。

5. HULFT10 for Container Platformボタンをクリックします。

   HULFT10 for Container Platformのインストール画面が表示されます。

6. インストールボタンをクリックします。

7. Operatorのインストール画面で、以下のとおり設定しインストールボタンをクリックします。

   パラメーター | 説明
   --- | ---
   更新チャネル | Operatorのアップデートフローを選択します
   バージョン | 導入するOperatorのバージョンを選択します
   インストールモード | Operatorをインストールする範囲をnamespace単位で設定します
   インストール済みのnamespce | Operatorをインストールするnamespaceを指定します
   更新の承認 | Operatorのアップデートを自動で行うか、手動で承認するかを設定します 手動を選択してください = 備考 = 自動を選択した場合、新バージョンがリリースされると、Operatorおよびコンテナが自動で更新されます。ただし、キーを更新していないため管理コンテナの起動に失敗します。 管理コンテナを起動するには、キーの再発行および更新が必要です。 詳細については、「アップデート手順」を参照してください。

   インストールが開始されると、インストール中であることを示す画面が表示されます。

   インストールが完了すると、「インストールされたOperetor:使用の準備ができています」と書かれた画面が表示されます。

8. Operetorがインストールされていることを、以下の手順で確認します。

   1. 画面の左側にあるメニューからOperator > インストール済みのOperatorを選択します。

      Operatorの詳細画面が開きます。

   2. インストール済みのOperatorの一覧の中からHULFT10 for Container Platformを選択し、Operatorの詳細画面を開きます。

   3. 提供される APIの項目で、Hulftリソースのインスタンスの作成が表示されてるか確認します。

      表示されていればインストールに成功しています。

## HULFTの導入

Hulftリソースを登録するまでの手順を説明します。

### HULFTを導入するプロジェクトに移動

HULFT10 for Container Platformを導入するプロジェクトに移動します。

Red Hat OpenShift CLIで、HULFT10 for Container Platformを導入するプロジェクトに移動するには以下のコマンドを実行します。

    oc project <HULFTを導入するプロジェクトの名前>

設定例

    oc project hulft-project

### Hulftリソースの登録

Hulftリソースを起動するために必要なマニフェストファイルを作成します。

Hulftリソースを登録すると、HULFTで使用する設定情報がKubernetes ConfigMap（以降、ConfigMap）に登録されます。

1. ローカルにマニフェストファイルを作成します。

   ここで説明しているマニフェストファイルは、Hulftリソースを起動するための最小限の設定例です。

   その他のパラメーターについては、「HULFTのCRの定義」を参照してください。

   例えばデータベースのポート番号（db.port）など、HULFTのCRの初期値と異なる環境を使用する場合は、マニフェストファイルにて正しい値を指定する必要があります。

   導入時に作成されるリソースについての詳細は、「Controllerの定義」を参照してください。

   hulft.yaml

       apiVersion: hulft.saison-technology.com/v1
       kind: Hulft
       metadata:
         name: <作成するHulftリソースの名前>
         namespace: <HULFTを導入するプロジェクトの名前>
       spec:
         licenseSecret: <HULFTのライセンスが指定されたSecretのパス> (*1)
         resourceIdentifier: <キーの発行時に指定したリソースの識別名> (*2)
         control:
           allowExternalAccess: true
         db:
           hostname: <接続先DBのホスト名>
           authorizationSecret: <接続先DBの認証用Secretのパス> (*3)

   *1 | : | spec.licenseSecretには、「事前準備」の「licenseSecretの定義」で作成したSecretリソースの名前を指定します。
   *2 | : | spec.resourceIdentifierには、「製品の購入およびキーの発行」でキーの発行時に指定したホスト名の中に含まれるリソースの識別名を指定します。
   *3 | : | spec.db.authorizationSecretには、「事前準備」の「db.authorizationSecretの定義」で作成したリソースの名前を指定します。

   設定例

       apiVersion: hulft.saison-technology.com/v1
       kind: Hulft
       metadata:
         name: hulft-cr-sample
         namespace: hulft-project
       spec:
         licenseSecret: hulft-license-secret
         resourceIdentifier: resource-id-hulft
         control:
           allowExternalAccess: true
         db:
           hostname: xxxx.svc.cluster
           authorizationSecret: hulft-db-authorization-secret

2. Hulftリソースを作成するには、以下のコマンドを実行します。

       oc apply -f hulft.yaml

   作成に成功すると、以下が表示されます。

       hulft.hulft.saison-technology.com/hulft-cr-sample　created

3. 以下の各リソースが作成されたことを確認します。

   - Hulftリソース

     Hulftリソースが作成されたことを確認するには、以下のコマンドを実行します。

         oc get Hulft <作成したHulftリソースの名前>

     設定例

         oc get Hulft hulft-cr-sample

     Hulftリソースが作成されていると、以下が表示されます。

         NAME                AGE
         hulft-cr-sample     1d2h

   - ConfigMap

     Hulftリソースの登録によりConfigMapが作成されたかどうかを確認するには、以下のコマンドを実行します。

         oc get ConfigMap | grep configmap-hulft-<Hulftリソースに指定したspec.resourceIdentifier>

     ConfigMapが作成されていると、以下が表示されます。

         configmap-hulft-<Hulftリソースに指定したspec.resourceIdentifier>   26     6d3h

   - Secret

     Hulftリソースの登録により、Red Hat OpenShift、Kubernatesなどの環境の設定情報を保存するSecretが作成されたかどうかを確認するには、以下のコマンドを実行します。

         oc get Secret | grep secret-hulft-<Hulftリソースに指定したspec.resourceIdentifier>

     secretが作成されていると、以下が表示されます。

         secret-hulft-<Hulftリソースに指定したspec.resourceIdentifier>-console-login                     Opaque                           2      1d2h
         secret-hulft-<Hulftリソースに指定したspec.resourceIdentifier>-control-console-ca                kubernetes.io/tls                3      1d2h (*1)
         secret-hulft-<Hulftリソースに指定したspec.resourceIdentifier>-control-console-tls               kubernetes.io/tls                3      1d2h (*1)
         secret-hulft-<Hulftリソースに指定したspec.resourceIdentifier>-db-encryption-key                 Opaque                           1      1d2h
         secret-hulft-<Hulftリソースに指定したspec.resourceIdentifier>-transfer-control-server-ca        kubernetes.io/tls                3      1d2h (*2)
         secret-hulft-<Hulftリソースに指定したspec.resourceIdentifier>-transfer-control-server-tls       kubernetes.io/tls                3      1d2h (*2)
         secret-hulft-<Hulftリソースに指定したspec.resourceIdentifier>-transfer-observe-wss-server-ca    kubernetes.io/tls                3      1d2h (*3)
         secret-hulft-<Hulftリソースに指定したspec.resourceIdentifier>-transfer-observe-wss-server-tls   kubernetes.io/tls                3      1d2h (*3)
         secret-hulft-<Hulftリソースに指定したspec.resourceIdentifier>-transfer-wss-server-ca            kubernetes.io/tls                3      1d2h (*4)
         secret-hulft-<Hulftリソースに指定したspec.resourceIdentifier>-transfer-wss-server-tls           kubernetes.io/tls                3      1d2h (*4)

     *1 | : | Hulftリソースにspec.control.consoleTlsSecretを指定しなかった場合に、このSecretが作成されます。
     *2 | : | Hulftリソースにspec.transfer.control.serverTlsSecretを指定しなかった場合に、このSecretが作成されます。
     *3 | : | Hulftリソースにspec.transfer.observe.websocket.serverTlsSecretを指定しなかった場合に、このSecretが作成されます。
     *4 | : | Hulftリソースにspec.transfer.websocket.serverTlsSecretを指定しなかった場合に、このSecretが作成されます。

   - Deployment

     Hulftリソースの登録により、管理コンテナおよび転送コンテナに関する情報が保存されるDeploymentが作成されたかどうかを確認するには、以下のコマンドを実行します。

         oc get Deployment | grep hulft-<Hulftリソースに指定したspec.resourceIdentifier>

     Deploymentが作成されていると、以下が表示されます。

         hulft-ci-control           1/1     1            1           1d2h
         hulft-ci-transfer          1/1     1            1           1d2h

   - HorizontalPodAutoscaler

     Hulftリソースの登録により、オートスケーリングを使用するために必要なHorizontalPodAutoscalerが作成されたかどうかを確認するには、以下のコマンドを実行します。

         oc get HorizontalPodAutoscaler | grep hpa-hulft-<Hulftリソースに指定したspec.resourceIdentifier>

     HorizontalPodAutoscalerが作成されていると、以下が表示されます。

         hpa-hulft-<Hulftリソースに指定したspec.resourceIdentifier>-control    Deployment/hulft-<Hulftリソースに指定したspec.resourceIdentifier>-control    <unknown>/70%   1         1         1          1d2h
         hpa-hulft-<Hulftリソースに指定したspec.resourceIdentifier>-transfer   Deployment/hulft-<Hulftリソースに指定したspec.resourceIdentifier>-transfer   <unknown>/70%   1         1         1          1d2h

   - Service

     Hulftリソースの登録により、管理コンテナおよび転送コンテナの内部情報が保存されているServiceが作成されたかどうかを確認するには、以下のコマンドを実行します。

         oc get Service | grep hulft-<Hulftリソースに指定したspec.resourceIdentifier>

     Serviceが作成されていると、以下が表示されます。

         hulft-<Hulftリソースに指定したspec.resourceIdentifier>-control                           ClusterIP   172.32.225.168   <none>        30443/TCP                                                         1d2h
         hulft-<Hulftリソースに指定したspec.resourceIdentifier>-transfer                          ClusterIP   172.32.156.1     <none>        30000/TCP,31443/TCP,31000/TCP,33443/TCP,30443/TCP                 1d2h

   - Route

     Hulftリソースの登録により、外部に公開されるエンドポイントなどが保存されるRouteが作成されたかどうかを確認するには、以下のコマンドを実行します。

         oc get Route | grep hulft-<Hulftリソースに指定したspec.resourceIdentifier>

     Routeが作成されていると、以下が表示されます。

         hulft-<Hulftリソースに指定したspec.resourceIdentifier>-control        hulft-<Hulftリソースに指定したspec.resourceIdentifier>-control-<HULFTを導入するプロジェクトの名前>.<クラスターのデフォルトドメイン>               hulft-<Hulftリソースに指定したspec.resourceIdentifier>-control    console         passthrough     None (*1)
         hulft-<Hulftリソースに指定したspec.resourceIdentifier>-observe-wss    hulft-<Hulftリソースに指定したspec.resourceIdentifier>-observe-wss-<HULFTを導入するプロジェクトの名前>.<クラスターのデフォルトドメイン>           hulft-<Hulftリソースに指定したspec.resourceIdentifier>-transfer   wss-observing   passthrough     None (*2)
         hulft-<Hulftリソースに指定したspec.resourceIdentifier>-transfer-wss   hulft-<Hulftリソースに指定したspec.resourceIdentifier>-transfer-wss-<HULFTを導入するプロジェクトの名前>.<クラスターのデフォルトドメイン>          hulft-<Hulftリソースに指定したspec.resourceIdentifier>-transfer   wss-transfer    passthrough     None (*3)

     *1 | : | Hulftリソースでspec.control.allowExternalAccessに“true”を指定した場合に、このRouteが作成されます。
     *2 | : | Hulftリソースでtransfer.observe.websocket.allowExternalAccessに“true”を指定した場合に、このRouteが作成されます。
     *3 | : | Hulftリソースでtransfer.websocket.allowExternalAccessに“true”を指定した場合に、このRouteが作成されます。

### HULFT管理画面の起動

コマンドからHULFT管理画面のURLを指定し、HULFT管理画面にアクセスする手順を説明します。

1. HULFT管理画面に接続する前に、HULFT10 for Container Platformを導入するプロジェクトに移動してください。

   Red Hat OpenShift CLIで、HULFT10 for Container Platformを導入するプロジェクトに移動するには以下のコマンドを実行します。

       oc project <HULFTを導入するプロジェクトの名前>

   設定例

       oc project hulft-project

2. 以下のコマンドを実行して、HULFT管理画面にアクセスする際の接続先となるホスト名を取得します。

       oc get Route hulft-<Hulftリソースに指定したspec.resourceIdentifier>-control -o jsonpath="{.spec.host}"

   以下の内容が表示されます。

       hulft-<Hulftリソースに指定したspec.resourceIdentifier>-control   hulft-<Hulftリソースに指定したspec.resourceIdentifier>-control-<HULFTを導入するプロジェクトの名前>.<クラスターのデフォルトドメイン>

3. 手順2. で取得した値の先頭に“https://”を付与してURL形式に変更します。

       https://hulft-<Hulftリソースに指定したspec.resourceIdentifier>-control-<HULFTを導入するプロジェクトの名前>.<クラスターのデフォルトドメイン>

4. Webブラウザーで、手順3.で作成したURLにアクセスします。

   HULFT管理画面が開きます。

### HULFT管理画面のログイン

HULFT管理画面を起動したら、以下の手順のとおり、rootユーザーでログインして、ログインユーザーを作成します。

1. rootユーザーのパスワードを取得するには、以下のコマンドを実行します。

       oc get Secret secret-hulft-<Hulftリソースに指定したspec.resourceIdentifier>-console-login -o jsonpath="{.data.rootPassword}"  | base64 -d

   パスワードが出力されます。

2. HULFT管理画面のログイン画面で、以下を入力してログインボタンをクリックします。

   - ユーザーID

     “root”を指定します。

   - パスワード

     手順1.で取得したパスワードを指定します。

   ログインに成功すると、HULFT管理画面のトップページが開きます。

3. ログインユーザーを作成します。

   HULFTの管理画面でSettings－ユーザー管理の新規作成ボタンをクリックして管理者ユーザーを作成します。

   詳細は、「アドミニストレーション ガイド」の「管理者権限のユーザーIDの作成」を参照してください。

以上で、HULFT10 for Container Platformの導入は完了です。