7.4.1 YAMLファイルを使用したOUDのデプロイ
YAMLファイルを使用してOracle Unified Directory (OUD)をデプロイするには:
$WORKDIR/kubernetes/helm14c
ディレクトリに移動します:cd $WORKDIR/kubernetes/helm14c
- 次のように
oud-ds-rs-values-override.yaml
を作成します:
例:image: repository: <image_location> tag: <image_tag> pullPolicy: IfNotPresent imagePullSecrets: - name: orclcred oudConfig: # memory, cpu parameters for both requests and limits for oud instances resources: limits: cpu: "1" memory: "4Gi" requests: cpu: "500m" memory: "4Gi" rootUserPassword: <password> sampleData: "200" persistence: type: filesystem filesystem: hostPath: path: <persistent_volume>/oud_user_projects cronJob: kubectlImage: repository: bitnami/kubectl tag: <version> pullPolicy: IfNotPresent imagePullSecrets: - name: dockercred
次の注意事項があります:image: repository: container-registry.oracle.com/middleware/oud_cpu tag: 14.1.2.1.0-jdk17-ol8-<YYMMDD> pullPolicy: IfNotPresent imagePullSecrets: - name: orclcred oudConfig: # memory, cpu parameters for both requests and limits for oud instances resources: limits: cpu: "1" memory: "8Gi" requests: cpu: "500m" memory: "4Gi" rootUserPassword: <password> sampleData: "200" persistence: type: filesystem filesystem: hostPath: path: /nfs_volumes/oudpv/oud_user_projects cronJob: kubectlImage: repository: bitnami/kubectl tag: 1.30.3 pullPolicy: IfNotPresent imagePullSecrets: - name: dockercred
<password>
は該当するパスワードに置き換えてください。sampleData: "200"
は、200のサンプル・ユーザーをデフォルトのbaseDNdc=example,dc=com
にロードします。サンプル・データが必要ない場合は、このエントリを削除します。sampleData
が1,000,000
ユーザー以上に設定されている場合、dsreplicationで不整合が発生しないように、次のエントリをyamlファイルに追加する必要があります:deploymentConfig: startupTime: 720 period: 120 timeout: 60
kubectlImage: tag:
の<version>
は、Kubernetesバージョン(kubectl version
)と同じバージョンに設定する必要があります。たとえば、Kubernetesバージョンが1.30.3の場合、1.30.3
に設定します。- OUDコンテナ・イメージにOracle Container Registryまたは独自のコンテナ・レジストリを使用しない場合、次を削除できます:
imagePullSecrets: - name: orclcred
- bitnami/kubectlやbusyboxなどの外部イメージをプルするためのインターネットへのアクセス権がクラスタにない場合は、ローカル・コンテナ・レジストリにイメージをロードする必要があります。その後、次を設定する必要があります:
cronJob: kubectlImage: repository: container-registry.example.com/bitnami/kubectl tag: 1.30.3 pullPolicy: IfNotPresent busybox: image: container-registry.example.com/busybox
- 永続ボリュームにNFSを使用する場合、次のように
persistence
セクションを変更します:ノート:
NFSを使用する場合は、ネットワーク・ストレージを許可する環境にデフォルトのKubernetesストレージ・クラスが定義されていることを確認する必要があります。ストレージ・クラスの詳細は、「Storage Classes」を参照してください。persistence: type: networkstorage networkstorage: nfs: path: <persistent_volume>/oud_user_projects server: <NFS IP address> # if true, it will create the storageclass. if value is false, please provide existing storage class (storageClass) to be used. storageClassCreate: true storageClass: oud-sc # if storageClassCreate is true, please provide the custom provisioner if any to use. If you do not have a custom provisioner, delete this line, and it will use the default class kubernetes.io/is-default-class. provisioner: kubernetes.io/is-default-class
次の注意事項があります:- 独自のストレージ・クラスを作成する場合、
storageClassCreate: true
を設定します。storageClassCreate: true
の場合、storageClass
を任意の値に設定し、provisioner
をクラウド・ベンダーでサポートされているプロビジョナに設定することをお薦めします。 - ネットワーク・ストレージをサポートする既存のstorageClassがある場合、
storageClassCreate: false
を設定し、storageClass
を"kubectl get storageclass
"で返されるNAME値に設定します。provisioner
は無視できます。
- 独自のストレージ・クラスを作成する場合、
- 永続ボリュームにブロック・デバイス・ストレージを使用する場合、次のように
persistence
セクションを変更します:ノート:
ブロック・デバイスを使用する場合は、動的ストレージを許可する環境にデフォルトのKubernetesストレージ・クラスが定義されていることを確認する必要があります。各ベンダーには独自のストレージ・プロバイダがありますが、ストレージを動的に割り当てられるように構成されていない場合があります。ストレージ・クラスの詳細は、「Storage Classes」を参照してください。
次の注意事項があります:persistence: type: blockstorage # Specify Accessmode ReadWriteMany for NFS and for block ReadWriteOnce accessMode: ReadWriteOnce # if true, it will create the storageclass. if value is false, please provide existing storage class (storageClass) to be used. storageClassCreate: true storageClass: oud-sc # if storageClassCreate is true, please provide the custom provisioner if any to use or else it will use default. provisioner: oracle.com/oci
- 独自のストレージ・クラスを作成する場合、
storageClassCreate: true
を設定します。storageClassCreate: true
の場合、storageClass
を任意の値に設定し、provisioner
をクラウド・ベンダーでサポートされているプロビジョナに設定することをお薦めします。 - 動的ストレージをサポートする既存のstorageClassがある場合、
storageClassCreate: false
を設定し、storageClass
を"kubectl get storageclass
"で返されるNAME値に設定します。provisionerは無視できます。
- 独自のストレージ・クラスを作成する場合、
resources
、limits
およびrequests
については、表示されているCPUおよびメモリー値の例は開発環境専用です。エンタープライズ・デプロイメントの場合は、『Kubernetesクラスタ内のOracle Identity and Access Managementのためのエンタープライズ・デプロイメント・ガイド』でパフォーマンスの推奨事項およびサイズ設定の要件を確認してください。ノート:
CPUリソースの制限およびリクエストは、CPU単位で測定されます。Kubernetesの1つのCPUは、クラウド・プロバイダの場合は1つのvCPU/コアに、ベアメタルIntelプロセッサの場合は1つのハイパースレッドに相当します。CPU属性のm
接尾辞は、「ミリCPU」を示しているため、500mはCPUの50%です。メモリーは様々な単位で表すことができます。1 Miは1 IEC単位のメガバイト(1024^2)で、1 Giは1 IEC単位のギガバイト(1024^3)です。詳細は、「ポッドおよびコンテナのリソース管理」、「コンテナおよびポッドへのメモリー・リソースの割当て」および「コンテナおよびポッドへのCPUリソースの割当て」を参照してくださいノート:
前述のパラメータは、Kubernetes Horizontal Pod Autoscaler (HPA)でも利用されます。HPAの詳細は、「Kubernetes Horizontal Pod Autoscaler」を参照してください。- OUDを他のOracleコンポーネントと統合する予定の場合、
oudConfig:
セクションで次を指定する必要があります:
例:integration: <Integration option>
oudConfig: etc... integration: <Integration option>
- 保証レプリケーションを有効にする場合、「保証レプリケーションの有効化(オプション)」を参照してください。
- 前述の例は、オーバーライドyamlファイルで渡すことができるすべてのパラメータおよび環境変数の完全なリストではありません。詳細は、「oud-ds-rs Helmチャートの構成パラメータ」および「oud-ds-rs Helmチャートで使用される環境変数」を参照してください。
- 次のコマンドを実行して、OUDをデプロイします:
例:helm install --namespace <namespace> \ --values oud-ds-rs-values-override.yaml \ <release_name> oud-ds-rs
出力は「Helmコマンド出力」に示されているようになります。helm install --namespace oudns \ --values oud-ds-rs-values-override.yaml \ oud-ds-rs oud-ds-rs
- 「OUDデプロイメントの確認」および「OUD保証レプリケーション・ステータスの確認」に従って、OUDデプロイメントを確認します。