TimesTenオペレータのインストール

ttoperatorチャートには、ネームスペースにTimesTenオペレータをデプロイするために必要なすべての情報が含まれます。このチャートには、TimesTenオペレータをデプロイするためのデフォルト構成が含まれます。チャートを好みの構成に合わせてカスタマイズすることもできます。具体的には、TimesTenオペレータには、構成ニーズにあわせて値を変更できる複数の変数が用意されています。これらの変数の詳細は、「ttoperatorチャート」を参照してください。

カスタマイズする変数を決定したら、次の2つのオプションがあります。
  • 環境の構成に使用する変数を定義するYAMLファイルを作成します。次に、チャートをインストールするには、-fオプションを指定して、このYAMLファイルをhelm installコマンドに渡します。

  • --setオプションを指定してhelm installコマンドを実行し、コマンド・ラインで変数を指定します。

これらのオプションの詳細は、https://helm.sh/docs/intro/using_helm/を参照してください。

この項の例では、YAMLファイルを使用します。

TimesTenオペレータをデプロイするttoperatorチャートのインストール方法を示す例を順を追って説明します。この例では、次のように変更します。
  • imagePullSecret: sekretが、リポジトリからイメージをプルするために使用されるシークレットの名前であるとします。したがって、imagePullSecret変数にsekretを指定します。

  • コンテナ・イメージ: container-registry.oracle.com/timestenでコンテナ・イメージを使用するのではなく、「オプション2: TimesTenコンテナ・イメージを作成する」の説明に従って、独自のコンテナ・イメージを構築するとします。構築して使用するコンテナ・イメージの名前がphx.ocir.io/youraccount/tt2211190image:1であるとします。このコンテナ・イメージに基づいて、次の変数を変更します。
    • repository: repository変数の場合は、phx.ocir.io/youraccount/tt2211190imageの値を指定します。

    • tag: tag変数の場合は、1の値を指定します。

また、カスタマイズしたYAMLファイルのkube_files/helm/customyamlディレクトリを作成したとします。

ノート:

デフォルトでは、ttoperatorチャートにより、timesten-operator ServiceAccount、ロールおよびRoleBinding Kubernetesオブジェクトが作成されます。RoleおよびRoleBindingオブジェクトは、TimesTenオペレータの実行に必要な権限をtimesten-operator ServiceAccountに付与します。「ttoperatorチャート」を参照してください。

  1. 開発ホストで、helmディレクトリに変更します。helmディレクトリの詳細は、「環境の設定」を参照してください。
    cd kube_files/helm
  2. 構成の変数を定義するYAMLファイルを作成します。
    vi customyaml/samplettop.yaml
    
    image:
      repository: phx.ocir.io/youraccount/tt2211190image
      tag: "1"
      pullPolicy: Always
    imagePullSecrets:
      - name: sekret
    カスタマイズは次のとおりです。
    • 構築して使用するコンテナ・イメージはphx.ocir.io/youraccount/tt2211190image:1であるため、repository変数の値はphx.ocir.io/youraccount/tt2211190imageで、tag変数の値は1です。

    • イメージ・プル・シークレットはsekretです。

  3. TimesTenオペレータをネームスペースにインストールするには、ttoperatorチャートをインストールします。
    helm install -f customyaml/samplettop.yaml samplettop ./ttoperator
    次のhelm installコマンドを見てみましょう。
    • -fオプションは、カスタマイズされたYAMLファイルをhelm installコマンドに渡すために使用します。

    • カスタマイズを含むファイルの名前は、customyamlディレクトリにあるsamplettop.yamlです。

    • リリースの名前はsamplettopです。

    • TimesTenオペレータをインストールするチャートの名前は、helm/ttoperatorディレクトリにあるttoperatorです。

    helm installコマンドの出力を見てみましょう。

    NAME: samplettop
    LAST DEPLOYED: Mon Oct 23 23:04:40 2023
    NAMESPACE: mynamespace
    STATUS: deployed
    REVISION: 1
    NOTES:
    Version 2211190.1.0 of the ttoperator chart has been installed.
    
    This release is named "samplettop".
    
    To learn more about the release, try:
    
      $ helm status samplettop
      $ helm get all samplettop
      $ helm history samplettop
    
    To rollback to a previous version of the chart, run:
    
      $ helm rollback samplettop <REVISION>
        - run 'helm history samplettop' for a list of revisions.
    
    To test the operator, run:
    
      $ helm test samplettop
    次の点に注目してください。
    • ttoperatorチャートのバージョンは、22.1.1.19.0 TimesTenリリースに対応する2211190.1.0です。

    • リリース名はsamplettopです。

    • リリースのステータスはdeployedです。

  4. (オプション)リリースを確認します。
    helm list

    出力。

    NAME            NAMESPACE       REVISION        UPDATED                                 STATUS          CHART                   APP VERSION
    samplettop      mynamespace     1               2023-10-23 23:04:40.492890589 +0000 UTC deployed        ttoperator-2211190.1.0  22.1.1.19.0
    ttcrd           mynamespace     1               2023-10-17 22:00:53.530832896 +0000 UTC deployed        ttcrd-2211190.1.0       22.1.1.19.0

    helm listコマンドは、samplettopリリースが存在し、ネームスペースにインストールされていることを示します。

  5. ネームスペースでTimesTenオペレータが実行されていることを確認します。
    kubectl get pods

    出力。

    NAME                                  READY   STATUS    RESTARTS   AGE
    timesten-operator-65ddf9cfbb-jkqbn    1/1     Running   0          12s
    
  6. ServiceAccount、RoleおよびRoleBindingオブジェクトが作成されていることを確認します。
    kubectl get serviceaccount timesten-operator
    NAME                SECRETS   AGE
    timesten-operator   0         25s
    kubectl get role timesten-operator
    NAME                CREATED AT
    timesten-operator   2023-10-23T22:04:43Z
    kubectl get rolebinding timesten-operator
    NAME                ROLE                     AGE
    timesten-operator   Role/timesten-operator   10s

    デフォルトでは、ttoperatorチャートにより、timesten-operator ServiceAccount、RoleおよびRoleBindingオブジェクトが作成されます。

おめでとうございます。ttoperatorチャートが正常にインストールされました。ネームスペースでTimesTenオペレータが実行されています。