レプリケートされないTimesTenデータベースの作成
この例では、ttclassic Helmチャートを使用して、レプリケートされないTimesTen Classicデータベースを作成する方法を示します。この例では、YAMLマニフェスト・ファイルを使用し、ファイル用にkube_files/helm/customyamlディレクトリが作成されていることを前提としています。
- 開発ホストで、
helmディレクトリに変更します。cd kube_files/helm - レプリケートされない構成の変数を定義するYAMLファイルを作成します。
vi customyaml/norepsamplehelm.yaml storageClassName: oci-bv storageSize: 10Gi image: repository: container-registry.oracle.com/timesten/timesten tag: "22.1.1.34.0" imagePullSecret: sekret replicationTopology: none replicas: 3 rollingUpdatePartition: 2 dbConfigMap: - name: norepsamplehelm directory: cm次の点に注目してください。-
storageClassNameはoci-bvです。oci-bvを記憶域クラスの名前に置き換えます。 -
storageSizeは10Giです。10Giを、各ポッドがTimesTenを保持するためにリクエストする必要がある記憶域の量に置き換えます。 -
image変数の場合:-
repository:repositoryはcontainer-registry.oracle.com/timesten/timestenです。を、TimesTenコンテナ・イメージの名前と場所に置き換えます。container-registry.oracle.com/timesten/timesten -
tag: タグは22.1.1.34.0です。tagをTimesTenリリースのタグに置き換えます。
-
-
imagePullSecretはsekretです。sekretを、KubernetesがTimesTenコンテナ・イメージをフェッチするために使用するイメージ・プル・シークレットに置き換えます。 -
レプリケートされない構成の場合:
-
replicationTopologyはnoneで、replicas個のポッドで構成されるレプリケートされない構成を示します。各ポッドには、独立したTimesTenデータベースが含まれています。 -
replicasの数は3で、ポッドの数を示します。各ポッドにTimesTenデータベースが含まれています。3を、プロビジョニングするポッドの数に置き換えます。有効な値は1から3の間であり、1がデフォルトです。 rollingUpdatePartitionは2です。この変数はアップグレードに固有であり、アップグレードするTimesTenデータベースの数を決定します。Kubernetesは、rollingUpdatePartition値以上の序数値でポッドをアップグレードします。たとえば、レプリケートされないポッドが3つ(replicas=3であり、ポッドはnorepsamplehelm-0、norepsamplehelm-1およびnorepsamplehelm-2)あり、rollingUpdatePartitionを2に設定した場合、norepsamplehelm-2ポッドはアップグレードされますが、norepsamplehelm-1およびnorepsamplehelm-0ポッドはアップグレードされません。アップグレード・セクションには、rollingUpdatePartitionの動作を示す例があります。アップグレード・プロセス中に値を変更することもできます。
-
- ConfigMapの名前は
norepsamplehelmです。メタデータ・ファイルの場所は、kube_file/helm/ttclassicディレクトリ・ツリー内のcmディレクトリにあります。
-
ttclassicチャートをインストールします。helm install -f customyaml/norepsamplehelm.yaml norepsamplehelm ./ttclassic次のhelminstallコマンドを見てみましょう。-
-fオプションは、YAMLファイルがhelminstallコマンドに渡されることを示します。 -
カスタマイズを含むYAMLファイルの名前は、
customyamlディレクトリにあるnorepsamplehelm.yamlです。 -
リリースの名前は
norepsamplehelmです。 -
チャートの名前は
ttclassicで、これはkube_files/helm/ttclassicディレクトリにあります。
helminstallコマンドの出力を見てみましょう。NAME: norepsamplehelm LAST DEPLOYED: Thu Jan 16 17:42:47 2025 NAMESPACE: default STATUS: deployed REVISION: 1 NOTES: Version 2211340.1.0 of the ttclassic chart has been installed. This release is named "norepsamplehelm". To learn more about the release, try: $ helm status norepsamplehelm $ helm get all norepsamplehelm $ helm history norepsamplehelm To rollback to a previous version of the chart, run: $ helm rollback norepsamplehelm <REVISION> - run 'helm history norepsamplehelm' for a list of revisions.次の点に注目してください。-
ttclassicチャートのバージョンは、TimesTenリリース22.1.1.34.0に対応する2211340.1.0です。 -
リリース名は
norepsamplehelmです。 -
リリースのステータスは
deployedです。
-
- (オプション)リリースを確認します。
helm list出力は、次のようになります。NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION norepsamplehelm default 1 2025-01-16 17:42:47.180635098 +0000 UTC deployed ttclassic-2211340.1.0 22.1.1.26.0helmlistコマンドは、norepsamplehelmリリースが存在し、ネームスペースにインストールされていることを示します。 - 進捗を監視します。
NAME STATE ACTIVE AGE norepsamplehelm NoReplicasReady N/A 94sプロビジョニングは開始されますが、
NoReplicasReady状態で示されるとおり、まだ完了していません。数分間待機します。次に、再度確認します。kubectl get ttc norepsamplehelm出力は、次のようになります。NAME STATE ACTIVE AGE norepsamplehelm AllReplicasReady N/A 12mプロビジョニング・プロセスが完了します。データベースは稼働中であり、
AllReplicasReady状態で示されるとおり、動作しています。 - ConfigMapおよびメタデータ・ファイルが存在することを確認します。
kubectl get configmap norepsamplehelm出力は、次のようになります。NAME DATA AGE norepsamplehelm 4 15mメタデータ・ファイルを確認します。
kubectl describe configmap norepsamplehelm出力は、次のようになります。
Name: norepsamplehelm Namespace: default Labels: app.kubernetes.io/managed-by=Helm Annotations: meta.helm.sh/release-name: norepsamplehelm meta.helm.sh/release-namespace: default Data ==== testUser: ---- sampletestuser/sampletestuserpwd1 adminUser: ---- adminuser/adminuserpwd db.ini: ---- PermSize=200 DatabaseCharacterSet=AL32UTF8 schema.sql: ---- create table adminuser.emp (id number not null primary key, name char (32)); BinaryData ==== Events: <none>norepsamplehelmConfigMapが存在し、メタデータ・ファイルが含まれています。testUserファイルが存在するため、Helmを使用してTimesTenをテストできます。「レプリケートされない構成のTimesTenのテスト」を参照してください。 - (オプション)ポッドを確認します。
kubectl get pods出力は、次のようになります。NAME READY STATUS RESTARTS AGE norepsamplehelm-0 3/3 Running 0 17m norepsamplehelm-1 3/3 Running 0 17m norepsamplehelm-2 3/3 Running 0 17m ...ネームスペース内で3つのポッドが実行されており、それぞれに独立したTimesTenデータベースが含まれています。
ttclassicチャートが正常にインストールされました。TimesTenデータベースは稼働中であり、完全に動作しています。