2. IBM Event Streamsのインスタンス作成方法

前回の記事の続きです。

本記事ではIBM Event Streamsのインスタンス作成方法を記述します。


1. [IBM Event Streamsのインストール方法](https://qiita.com/Gentaro7/items/5bc9676c87c70145991a)
1. [IBM Event Streamsのインスタンス作成方法](https://qiita.com/Gentaro7/items/a8900eefdafd3dc52bed)(←本記事)
1. [IBM Event StreamsのWebUIへのログイン方法](https://qiita.com/Gentaro7/items/46060353574c347d2dc6)
1. [IBM Event Streamsのサンプルアプリケーションの使い方](https://qiita.com/Gentaro7/items/df1e464de3cf6eee3e6b)
1. [IBM Event StreamsのGeoReplicatorの構成方法](https://qiita.com/Gentaro7/items/7196ca6cf3053c3de55b)
1. [IBM Event Streamsへの接続情報の確認方法](https://qiita.com/Gentaro7/items/99c82320be292a1fa896)

# 前提

- IBM Event Streams Operatorがインストールされていること

まだの方は`1. IBM Event Streamsのインストール方法`を参照ください。

# IBM Event Streamsのインスタンス作成方法

1. OpenShiftクラスターにログイン

    ```sh
    oc login --token=<your-token-here> --server=<api-server-url>
    ```


2. projectの作成

    IBM Event Streamsをインストールするためのprojectを作成します。
    
    今回は`es-app`という名前のprojectを作成します。
    
    ```sh
    oc new-project es-app
    ```

3. Image pull secretの作成

    IBM Event Streamsを構成するイメージは、IBMのイメージレジストリ(`cp.icr.io`)から取得されます。
    
    こちらのイメージレジストリからイメージをpullするためのSecretを作成します。
    
    3-1. entitilement keyの取得
    
    [こちらの手順](https://www.ibm.com/docs/en/cloud-paks/cp-integration/2021.1?topic=installing-applying-your-entitlement-key#obtaining-your-entitlement-key__title__1)を参照し、entitlement keyを取得してください。
    
    3-2. Image pull secretの作成
    
    IBM Event StreamsをインストールするprojectにImage pull secretを作成します。
    
    ```sh
    oc create secret docker-registry ibm-entitlement-key \
        --docker-username=cp \
        --docker-password=<your entitlement key here> \
        --docker-server=cp.icr.io \
        --namespace=es-app
    ```
    

4. IBM Event Streams インスタンスの作成

`Installed Operator`から`IBM Event Streams`をクリック
![スクリーンショット 2024-01-18 13.27.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/302134/df742a4c-62a3-6b3f-a805-f259b9896a26.png)


4-1. IBM Event Streamsのインスタンス作成画面へ

`Event Streams`タブから`Create EventStreams`をクリック

※projectがIBM Event Streamsインスタンスを作成したいprojectになっていることを確認してください。(今回は`es-app`)

![スクリーンショット 2024-01-18 13.26.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/302134/a0f09db1-8e70-dfa3-7318-d19e7f75546c.png)


4-2. スターターテンプレートを選択

`YAML view`を選択して、`Samples`から`2.Development SCRAM`の`Try it`をクリック

※`Samples`ではIBM Event Streamsインスタンスのスターターテンプレートを複数用意しています。

それぞれのスターターテンプレートの定義は[こちらの公式ドキュメント](https://ibm.github.io/event-automation/es/installing/planning/)を参照ください。

![スクリーンショット 2024-01-18 13.34.48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/302134/4e5eb4b2-0a39-d073-33fb-dd2a2ba4975f.png)

4-3. インスタンス名とLicense情報を入力

`Form view`を選択し、`Name`及び`License`の項目を入力します。

※`YAML view`からでも同様の項目を編集できますが、今回は入力しやすさのため`Form view`から入力を行っています。

`Name`はIBM Event Streamsインスタンスの名前になります。

`License`には正しいライセンス情報を入力してください。詳しくは[こちら](https://ibm.github.io/event-automation/support/licensing/)を参照ください。


![スクリーンショット 2024-01-18 14.25.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/302134/aec9f80f-837b-4a22-dc80-7bb5279ac9fd.png)

4-4. Kafka ClusterとZooKeeperの設定

`Kafka Broker`と`Storage Type`を設定します。

今回はKakfa ClusterのBroker数は3、BrokerにアタッチするStorage TypeはEphemeral、ZooKeeperも同様にStorage TypeはEphemeralを指定します。

※BrokerやZookeeperのデータを永続化したい場合は、Ephemeralではなく、Storage Classを選択して、ストレージをアタッチするようにしてください。

![スクリーンショット 2024-01-18 14.28.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/302134/9f70762a-6a91-c911-40ad-de9d9a0f1e0c.png)

4-5. IBM Event Streams インスタンスの作成

`Create`ボタンをクリック

![スクリーンショット 2024-01-18 14.29.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/302134/a33591ba-71a1-a3d6-8d74-65fd5866a929.png)

4-6. ステータスの確認

`Create`ボタンをクリック後、IBM Event Streamsインスタンスが作成されます。

![スクリーンショット 2024-01-18 14.29.48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/302134/43aa86f3-193d-c6e3-bb12-4a173eb02683.png)

(任意)Podの一覧を確認すると、ZookeeperのPodなど必要なPodが順次立ち上がってきていることが確認できます。

![スクリーンショット 2024-01-18 14.30.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/302134/f0891c14-0992-b975-a039-f0a57b48fd16.png)

![スクリーンショット 2024-01-18 14.32.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/302134/68b55bd5-10d6-4eaf-4042-6bce6de1d792.png)

ステータスが`✅Ready`になっていてれば作成完了です。

![スクリーンショット 2024-01-18 14.55.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/302134/2b5cc26d-b52f-73ba-477c-37787fe6ca9c.png)

以上で、IBM Event Streamsインスタンスの作成は完了です。

## Tips

IBM Event Streamsのマニュフェストファイルの各項目定義は、`Schema`からドリルダウンして確認することができます。

より細かく設定をしていく場合には、こちらから項目定義をご確認いただくと便利かと思います。

![スクリーンショット 2024-01-18 15.03.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/302134/1d4df742-2a92-a434-beb5-8778dab53a18.png)


# 終わりに

本手順では、IBM Event Streamsのインスタンスの作成方法を記述しました。

次回は`3. IBM Event StreamsのWebUIへのログイン方法`を記述予定です。(随時作成中なので、しばらくお待ちください。)

不備不足等ございましたら、ご指摘いただければと思います。