ttoperatorチャート

ttoperatorチャートは、KubernetesクラスタのネームスペースにTimesTenオペレータをデプロイします。TimesTenオペレータはネームスペーススコープで実行され、このネームスペースのTimesTenClassicオブジェクトにサービスを提供します。

次の表では、ttoperatorチャートの変数およびデフォルト値について説明します。インデントおよび大/小文字の区別は、変数ごとに正しい必要があります。製品には存在するが、文書化されていない変数もあります。

表21-1 ttoperatorチャートの変数

変数 説明 説明

affinity

KubernetesのnodeAffinitypodAffinityおよびpodAntiAffinityパラメータを定義する変数。

デフォルト値はありません。ただし、amd64ノードとarm64ノードで構成されるマルチアーキテクチャ・クラスタを使用している場合は、特定のアーキテクチャにTimesTenオペレータをデプロイするようにKubernetesに指示する必要があります。

affinity:
  nodeAffinity:
    requiredDuringSchedulingIgnoredDuringExecution:
      nodeSelectorTerms:
      - matchExpressions:
        - key: topology.kubernetes.io/zone
          operator: In
          values:
          - antarctica-east1
          - antarctica-west1

次に、TimesTenオペレータおよびそれが管理するオブジェクトをarm64ノードにデプロイするようにKubernetesに指示する方法の例を示します:

affinity:
  nodeAffinity:
    requiredDuringSchedulingIgnoredDuringExecution:
      nodeSelectorTerms:
      - matchExpressions:
        - key: topology.kubernetes.io/zone
          operator: In
          values: ["arm64"]

valuesに有効な値は、次のとおりです:

  • "amd64": amd64ノードで実行するTimesTenオペレータに使用します。

  • "arm64": arm64ノードで実行するTimesTenオペレータに使用します。

ノード・アフィニティ・セクションおよびポッド・アフィニティ・セクションを含む完全なアフィニティ・セクションを次に示します:
affinity: {}
  nodeAffinity:
    requiredDuringSchedulingIgnoredDuringExecution:
      nodeSelectorTerms:
        - matchExpressions:
          - key: "kubernetes.io/arch"
            operator: In
            values: ["amd64"]

  nodeAffinity:
    requiredDuringSchedulingIgnoredDuringExecution:
      nodeSelectorTerms:
      - matchExpressions:
        - key: topology.kubernetes.io/zone
          operator: In
          values:
          - antarctica-east1
          - antarctica-west1
    preferredDuringSchedulingIgnoredDuringExecution:
    - weight: 1
      preference:
        matchExpressions:
        - key: another-node-label-key
          operator: In
          values:
          - another-node-label-value
  podAntiAffinity:
    requiredDuringSchedulingIgnoredDuringExecution:
    - labelSelector:
        matchExpressions:
        - key: app
          operator: In
          values:
          - exampleApp
      topologyKey: "kubernetes.io/hostname"
  podAffinity:
    preferredDuringSchedulingIgnoredDuringExecution:
     - weight: 50
       podAffinityTerm:
         labelSelector:
           matchExpressions:
           - key: app
             operator: In
             values:
               - exampleApp
         topologyKey: "kubernetes.io/hostname"

annotations

TimesTenオペレータ・デプロイメントおよびTimesTenオペレータが管理するポッドに適用される注釈のリストを定義する変数。

デフォルト値はありません。

annotations:
  x: y

connectionManager

TimesTenオペレータの接続マネージャを使用するかどうかを決定する変数。

値は次のとおりです。
  • true (デフォルト): TimesTenオペレータの接続マネージャが使用されます。

  • false: TimesTenオペレータの接続マネージャは使用されません。

「接続マネージャについて」を参照してください。

connectionManager: true

createClusterRole

クラスタ・レベルのロールを作成するかどうかを決定する変数。

デフォルト: true

デフォルトの場合またはtrueを指定した場合、チャートによってTimesTenオペレータの追加の権限および特権が作成されます。

falseを指定した場合、チャートは追加の権限および特権を作成しません。kubectl create service_account_cluster.yamlコマンドを実行して、これらのオブジェクトを作成する必要があります。service_account_cluster.yaml YAMLマニフェスト・ファイルは、TimesTenオペレータ・ディストリビューションに含まれています。

createClusterRole: true

image

コンテナ・イメージに影響するパラメータを定義する変数。

デフォルト:
  • repository: コンテナ・イメージの場所。たとえば、container-registry.oracle.com/timesten/timestenです。

  • tag: 関連するHelmチャートを含むTimesTenリリース番号。たとえば"22.1.1.34.0"です。

  • pullPolicy: コンテナ・イメージのプル・ポリシー。たとえば、Alwaysです。

image: 
  repository: phx.ocir.io/youraccount/tt2211260image
  tag: "1"
  pullPolicy: Always

imagePullSecrets

コンテナ・イメージのプルに必要なプル・シークレットのリストを定義する変数。

デフォルト値はありません。

imagePullSecrets: sekret

javaHome

JavaがインストールされるTimesTenコンテナ・イメージ内の場所を定義する変数。

デフォルト: "/usr/java/jdk-21"

javaHome: "/usr/java/jdk-21"

labels

TimesTenオペレータ・デプロイメントおよびTimesTenオペレータが管理するポッドに適用されるラベルのリストを定義する変数。

デフォルト値はありません。

labels:
  x: y

livenessFailureThreshold

TimesTenオペレータの有効性プローブのFailureThreshold属性を設定する変数。

デフォルト: 3

livenessFailureThreshold: 2

livenessInitialDelaySeconds

TimesTenオペレータの有効性プローブのInitialDelaySeconds属性を設定する変数。

デフォルト: 10

livenessInitialDelaySeconds: 15

livenessPeriodSeconds

TimesTenオペレータの有効性プローブのPeriodSeconds属性を設定する変数。

デフォルト: 30

livenessPeriodSeconds: 20

livenessSuccessThreshold

TimesTenオペレータの有効性プローブのSuccessThreshold属性を設定する変数。

デフォルト: 1

livenessSuccessThreshold: 2

livenessTimeoutSeconds

TimesTenオペレータの有効性プローブのTimeoutSeconds属性を設定する変数。

デフォルト: 10

livenessTimeoutSeconds: 15

maxReconciles

TimesTenオペレータが同時に処理するTimesTenClassicオブジェクトの数を決定する変数。

有効な値は次のとおりです。
  • "2" (デフォルト): TimesTenオペレータは、一度に最大2つのTimesTenClassicオブジェクトを(パラレルで)処理します。

  • "1": TimesTenオペレータは、一度に最大1つのTimesTenClassicオブジェクトを処理します。

パフォーマンス上の理由から、デフォルト値は変更しないことをお薦めします。

maxReconciles: 2

metrics

TimesTenオペレータ・メトリックを公開するかどうか、およびどのように公開するかを決定する変数。

有効な値は次のとおりです。
  • expose: 1またはexpose: 0: expose: 1を指定する場合(またはこれを指定しない場合)、TimesTenオペレータ・メトリックが公開されます。expose: 0を指定する場合、TimesTenオペレータ・メトリックは公開されません。

  • scheme: httpsまたはscheme: http: scheme: httpsを指定する場合(またはこれを指定しない場合)、TimesTenオペレータ・メトリックは、https/Transport Layer Security (相互TLS)を使用して使用できます。scheme: httpを指定する場合、TimesTenオペレータ・メトリックはhttpを使用して使用できます。

  • createServiceMonitor: 1またはcreateServiceMonitor: 0: createServiceMonitor: 1を指定する場合(またはこれを指定しない場合)、TimesTenオペレータはServiceMonitorオブジェクトの作成を試みます。createServiceMonitor: 0を指定する場合、TimesTenオペレータはServiceMonitorオブジェクトを作成しません。

デフォルト:
  expose: 1
  scheme: https
  createServiceMonitor: 1

「TimesTen Kubernetesオペレータからのメトリックの公開」を参照してください。

metrics:
  expose: 0
  scheme: http
  createServiceMonitor: 0

name

TimesTenオペレータ・デプロイメントの名前の変数。

デフォルト: timesten-operator

name: timesten-operator

operatorNodePort

クラスタ外のアプリケーションが接続マネージャを使用できるポートを決定する変数。

Kubernetesクラスタ外部からこのポート番号を使用して、Kubernetesクラスタ内の任意のノード上で接続マネージャにアクセスできます。

デフォルトは32625です。有効な値は、30000から32767です。

operatorNodePort: 32627

operatorSAN

この変数は、TimesTenオペレータ・メトリックおよび接続マネージャへのアクセスを制御する目的でTimesTenオペレータによって作成されるTLS証明書にサブジェクト代替名(SAN)を追加します。
  • Kubernetesクラスタ内からメトリックおよび接続マネージャを使用する場合、この変数を指定する必要はありません。

  • Kubernetesクラスタの外部からメトリックまたは接続マネージャ(あるいはその両方)を使用する場合は、クラスタ内のノードのSANを定義する必要があります。SAN値には、DNS名(ワイルドカードを使用可能)またはIPアドレスを指定できます。値は、SAN値のカンマ区切りリストです。

    ワイルドカードの単一レベルを指定できます。

デフォルトでは、SANは指定されていません。

operatorSan: "1.2.3.4,1.2.3.5,*.mycluster.example.org"

podDisruptionBudget

podDisruptionBudgetが作成されるかどうかを決定する変数。作成されている場合は、指定された値を使用します。

デフォルト: create: false

デフォルトでは、podDisruptionBudgetは作成されません。

podDisruptionBudget:
  create: true
  pdbName: samplepdb
  maxUnvailable: 1
  minAvailable: 1
  matchLabels:
    "x": "y"

probes

TimesTenオペレータ・プローブを公開するかどうかを決定する変数。

expose: 1を指定する場合(またはこれを指定しない場合)、TimesTenオペレータ・プローブが公開されます。expose: 0を指定する場合、TimesTenオペレータ・プローブは公開されません。

デフォルト:
  expose: 1

「準備状況および有効性プローブについて」を参照してください。

probes:
  expose: 0

readinessFailureThreshold

TimesTenオペレータの準備状況プローブのFailureThreshold属性を設定する変数。

デフォルト: 1

readinessFailureThreshold: 2

readinessInitialDelaySeconds

TimesTenオペレータの準備状況プローブのInitialDelaySeconds属性を設定する変数。

デフォルト: 10

readinessInitialDelaySeconds: 15

readinessPeriodSeconds

TimesTenオペレータの準備状況プローブのPeriodSeconds属性を設定する変数。

デフォルト: 10

readinessPeriodSeconds: 15

readinessSuccessThreshold

TimesTenオペレータの準備状況プローブのSuccessThreshold属性を設定する変数。

デフォルト: 1

readinessSuccessThreshold: 2

readinessTimeoutSeconds

TimesTenオペレータの準備状況プローブのTimeoutSeconds属性を設定する変数。

デフォルト: 10

readinessTimeoutSeconds: 15

replicas

TimesTenオペレータ・デプロイメントのレプリカ・ポッドの数を定義する変数。

デフォルト: 1

replicas: 3

resources

リソース・リクエストおよび制限を定義する変数。

デフォルト:
  requests:
    cpu: "250m" 
    memory: "1G"
  limits:
    cpu: "250m"
    memory: "1G"
resources:
  requests:
    cpu: "300m" 
    memory: "1G"
  limits:
    cpu: "300m"
    memory: "1G"

serviceAccount

サービス・アカウントが作成されるかどうか、およびどのような注釈を適用するか(ある場合)を決定する変数。

デフォルト: create: true

デフォルトでは、またはcreate: trueを指定する場合、timesten-operatorというKubernetes ServiceAccount、およびKubernetes RoleオブジェクトとKubernetes RoleBindingオブジェクトが作成されます。RoleおよびRoleBindingオブジェクトは、TimesTenオペレータの実行に必要な権限をServiceAccountに付与します。

create: falseを指定する場合、ServiceAccount、RoleおよびRoleBindingオブジェクトは作成されません。これらのオブジェクトは、kubectl create service_account.yamlコマンドを実行して作成する必要があります。service_account.YAML YAMLマニフェスト・ファイルは、TimesTenオペレータ・ディストリビューションに含まれています。

serviceAccount:
  create: false

testAffinity

KubernetesのnodeAffinitypodAffinityおよびpodAntiAffinityパラメータを定義する変数。これらのアフィニティ構成は、Helm testポッドにのみ適用されます。

デフォルト値はありません。ただし、amd64ノードとarm64ノードで構成されるマルチアーキテクチャ・クラスタを使用している場合は、特定のアーキテクチャにTimesTen testポッドをデプロイするようにKubernetesに指示する必要があります。これは、TimesTenオペレータとそのオブジェクトが実行するアーキテクチャと同じである必要があります。たとえば、TimesTenオペレータがarm64ノードで実行されている場合、testポッドもarm64ノードで実行する必要があります。

testAffinity:
  nodeAffinity:
    requiredDuringSchedulingIgnoredDuringExecution:
      nodeSelectorTerms:
      - matchExpressions:
        - key: topology.kubernetes.io/zone
          operator: In
          values:
          - antarctica-east1
          - antarctica-west1

次に、arm64ノードでtestポッドを実行するようにKubernetesに指示する方法の例を示します:

testAffinity:
  nodeAffinity:
    requiredDuringSchedulingIgnoredDuringExecution:
      nodeSelectorTerms:
      - matchExpressions:
        - key: topology.kubernetes.io/zone
          operator: In
          values: ["arm64"]

valuesに有効な値は、次のとおりです:

  • "amd64": testポッドをamd64ノードで実行する場合に使用します。

  • "arm64": testポッドをarm64ノードで実行する場合に使用します。

testAnnotations

Helm testポッドに適用される注釈のリストを定義する変数。このポッドは、helm testコマンドを実行するときに作成されます。

デフォルト:
helm.sh/hook-delete-policy: hook-succeeded
testAnnotations:
  x: y

testLabels

Helm testポッドに適用されるラベルのリストを定義する変数。このポッドは、helm testコマンドを実行するときに作成されます。

デフォルト値はありません。

testLabels:
  x: y