Db2uInstance カスタム・リソースを使用した Db2 のデプロイ
Db2® がインストールされると Db2uInstance Db2の展開に必要なインターフェースを提供します。 この CR は、 Red Hat OpenShift CR 定義でサポートされます。
- Db2uInstance カスタムリソースにアクセスする
- Db2 バージョンの構成
- データベース名の構成
- 専用ノードへのデプロイ
- メモリーと CPU の使用量の構成
- ストレージの構成
- 既存の永続ストレージ要求の使用
- 4K サポートの有効化
- 内部LDAP
- ノード・ポート・サービスの無効化
- 制限付き特権を使用して Db2 インスタンスをデプロイする
- カスタム・サービス・アカウントを使用した Db2 のデプロイ
- ライセンス証明書のキーを指定する
- デフォルトのデータベース設定のオーバーライド
- Db2 データベース構成 (dbConfig) 設定のオーバーライド
- Db2 レジストリー変数の設定
- 完全なDb2uInstance CRの例
Db2uInstance カスタム・リソースへのアクセス
- Red Hat® OpenShift® コンソールを使用します。
- Red Hat OpenShift コマンド・ライン・ツールを使用します。
- Kubernetes クラスターのコマンド・ライン・ツールを使用する。
以下のセクションでは、YAML ファイルに含めることができる CR オプションについて説明します。 完成した Db2uInstance CR の例も含まれています。
Db2 バージョンの構成
spec:
version: "s11.5.9.0<container layer release number>"
データベース名の構成
目的の Db2 データベースの名前を指定します。
spec:
environment:
dbType: db2oltp
databases:
- name: BLUDB
専用ノードへのデプロイ
専用デプロイメント用に特定のノードのラベルをターゲットにする方法を指定します。 専用ノードへのデプロイは、実稼働環境でのベスト・プラクティスです。 Db2 デプロイメントに専用ノードを設定する を参照してください。
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: database
operator: In
values:
- db2u-affinity
tolerations:
- key: "database"
operator: "Equal"
value: "db2u-affinity"
effect: "NoSchedule"
メモリーと CPU の使用量の構成
Db2 を使用して Db2 を展開する際には、CPUとメモリのプロファイルを割り当てることができます。 これにより Db2を実行するコンテナにCPU/MEM値が割り当てられます。
spec:
podTemplate:
db2u:
resource:
db2u:
limits:
cpu: 5
memory: 8Gi
ストレージの構成
- db2 メタデータ用の meta 共有ストレージ・ボリューム。
- データベース・ストレージ用の data 非共有ストレージ・ボリューム。
- データベースをバックアップするための backup 共有ストレージ・ボリューム (オプション)。
- トランザクション・ログ用の activelogs 非共有ストレージ・ボリューム (オプション)。 これは、単一モード (SMP) デプロイメントでのみサポートされ、MPP ではサポートされません。 詳細については、データベース・トランザクション・ログ用に別のストレージを作成するを参照してください。
- TEMPORARY 表スペースの tempts 非共用ストレージ・ボリューム (オプション)。 詳細については、一時的なテーブル・スペース用に別のストレージを作成するを参照してください。
- アーカイブ・ログ用の archivelogs 非共有ストレージ・ボリュームは 必須です。 詳しくは、「データベース・アーカイブ・ログ用の別個のストレージの作成」を参照してください。
行う CR 呼び出しは、新規または既存のストレージを構成するか、テンプレート・ストレージを構成するかによって異なります。
spec:
storage:
- name: meta
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 100Gi
storageClassName: ocs-storagecluster-cephfs
type: create
- name: backup
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 100Gi
storageClassName: ocs-storagecluster-cephfs
type: create
- name: archivelogs
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 100Gi
storageClassName: ocs-storagecluster-cephfs
type: create
あなたがいる場合Q レプリケーションの導入ただし、以下のカスタムリソース(CR)呼び出しは、Db2uInstanceのためにDb2 WarehouseSMP または MPP。 これらの呼び出しは、オンライン・トランザクション処理 (OLTP) のために Db2uInstance にデプロイされた Q レプリケーションでは機能しません。
data
、 activelogs
、または tempts
のテンプレート・ストレージを構成する場合は、 databases
セクションの下に以下の CR 呼び出しを追加する必要があります。 databases:
- name: BLUDB
storage:
- name: data
type: template
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Gi
storageClassName: ocs-storagecluster-ceph-rbd
- name: activelogs
type: template
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
storageClassName: ocs-storagecluster-ceph-rbd
サポートされているストレージ・ソリューションの完全なリストについては、Db2の認定ストレージ・オプションを参照してください。
既存の永続ストレージ要求の使用
既存のクレームは、任意の ストレージ・カテゴリーのデプロイメントにも使用できます。
storage:
- claimName: <meta-pvc-name>
name: meta
spec:
resources: {}
type: existing
- claimName: <data-pvc-name>
name: data
spec:
resources: {}
type: existing
- claimName: <backup-pvc-name>
name: backup
spec:
resources: {}
type: existing
- claimName: <activelogs-pvc-name>
name: activelogs
spec:
resources: {}
type: existing
- claimName: <tempts-pvc-name>
name: tempts
spec:
resources: {}
type: existing
- claimName: <archivelogs-pvc-name>
name: archivelogs
spec:
resources: {}
type: existing
4K サポートの有効化
OpenShift デプロイメント上の Db2 が OpenShift Data Foundation (ODF) または Portworx コンテナー・ストレージ (PX) のいずれかを使用するように構成されている場合は、 4K のサポートが有効になっていることを確認してください。
spec:
environment:
...
instance:
registry:
DB2_4K_DEVICE_SUPPORT: "ON"
内部LDAP
spec:
environment:
authentication:
ldap:
enabled: false
Db2uInstance
をデプロイしていて、LDAP が有効になっている既存のインスタンスがある場合、または s11.5.8.0-cn2で LDAP を無効にしようとしている場合は、まずトラブルシューティング資料「 Recovering a Db2u deployment from failure secret due to missing user-gmt」を参照してください。外部 LDAP
spec:
environment:
authentication:
ldap:
enabled: true
admin: bluadmin
externalLdap:
server: "my-ldap-server.example.com"
port: "389"
userGroup: usergrp
adminGroup: admingrp
ノード・ポート・サービスの無効化
environment:
disableNodePortService: true
制限された特権を持つ Db2 インスタンスのデプロイ
unsafe sysctls
:spec:
account:
securityConfig:
privilegedSysctlInit: false
次の例では、ノードのIPCカーネルパラメータを設定することで、制限付きの権限を設定する方法を示していますspec:
account:
securityConfig:
privilegedSysctlInit: false
advOpts:
hostIPC: true
カスタム・サービス・アカウントを使用した Db2 のデプロイ
サービスアカウントは、コンポーネントがCRに直接アクセスできるようにする OpenShift Container Platformのアカウントです。 CRでパラメータを設定して、 カスタムサービスアカウントを持つ Db2を作成することができます。
spec:
account:
serviceAccountName: ${SERVICE_ACCOUNT}
デフォルトのデータベース設定をオーバーライドする
spec:
environment:
databases:
- name: BLUDB
settings:
dftTableOrg: "COLUMN"
dftPageSize: "32768"
encrypt: "NO"
codeset: "UTF-8"
territory: "US"
collation: "IDENTITY"
Db2 データベース構成 (dbConfig) 設定のオーバーライド
spec:
environment:
databases:
- name: BLUDB
dbConfig:
LOGPRIMARY: "50"
LOGSECOND: "35"
APPLHEAPSZ: "25600"
STMTHEAP: "51200 AUTOMATIC"
Db2 レジストリー変数を設定します。
spec:
environment:
instance:
registry:
DB2_ATS_ENABLE: "NO"
DB2_OBJECT_STORAGE_SETTINGS: "OFF"
DB2_DISPATCHER_PEEKTIMEOUT: "2"
DB2_COMPATIBILITY_VECTOR: "ORA"
完全な Db2uInstance CR の例
- データベース名: BLUDB。
- 4 個の CPU。
- 16 GB のメモリー。
- 5 つのストレージ・ボリューム (meta、 data、 backup、 archivelogs、および tempts)。
- DB2 4K SUPPORT が使用可能になりました。
- LDAP が無効になりました。
- 特権インスタンス。
apiVersion: db2u.databases.ibm.com/v1
kind: Db2uInstance
metadata:
name: db2-example
spec:
account:
privileged: true
environment:
authentication:
ldap:
enabled: false
databases:
- dbConfig:
APPLHEAPSZ: "25600"
LOGPRIMARY: "50"
LOGSECOND: "35"
STMTHEAP: 51200 AUTOMATIC
name: BLUDB
storage:
- name: data
type: template
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Gi
storageClassName: ocs-storagecluster-ceph-rbd
- name: activelogs
type: template
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
storageClassName: ocs-storagecluster-ceph-rbd
dbType: db2oltp
instance:
dbmConfig:
DIAGLEVEL: "2"
registry:
DB2_4K_DEVICE_SUPPORT: "ON"
DB2_ATS_ENABLE: "NO"
DB2_DISPATCHER_PEEKTIMEOUT: "2"
DB2_OBJECT_STORAGE_SETTINGS: "OFF"
partitionConfig:
dataOnMln0: true
total: 1
volumePerPartition: true
license:
accept: true
nodes: 1
podTemplate:
db2u:
resource:
db2u:
limits:
cpu: 4
memory: 16Gi
storage:
- name: meta
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 10Gi
storageClassName: ocs-storagecluster-cephfs
type: create
- name: backup
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 10Gi
storageClassName: ocs-storagecluster-cephfs
type: create
- name: archivelogs
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 100Gi
storageClassName: ocs-storagecluster-cephfs
type: create
version: s11.5.9.0-cn2