15 Oracle Unified Directory Services Managerのインストールおよび構成
Oracle Unified Directory Service Manager (OUDSM)は、Oracle Unified Directoryを管理するために使用されるグラフィカル・ユーザー・インタフェース(GUI)ツールです。本番環境では、OUDSMのインストールは必須ではありません。ただし、OUDSMによりOracle Unified Directoryの管理が容易になります。
- NodePortサービス
- イングレス・コントローラ
- Oracle HTTP Server (
iadadmin.example.com
などの仮想ホストに追加された場合)
この章の内容は次のとおりです。
- Oracle Unified Directory Services Managerの構成
Oracle Unified Directory Services Manager (OUDSM)は、Oracle Unified Directoryを管理するために使用されるツールです。これはオプションです。 - 製品固有の作業ディレクトリの設定
- Kubernetesネームスペースの作成
Oracle Unified Directory Services Managerのすべてのオブジェクトを含むネームスペースを作成する必要があります。 - コンテナ・レジストリ・シークレットの作成
コンテナ・レジストリを使用することをお薦めします。コンテナ・レジストリを使用して、オンデマンドでOracleコンテナ・イメージをプルする場合は、コンテナ・レジストリのログイン詳細を含むシークレットを作成する必要があります。 - OUDSMコンテナの作成
- OUDSMへの外部アクセスの作成
- Oracle Unified Directory Services Manager用のOracle HTTP Serverの構成
- ElasticsearchおよびKibanaを使用した集中管理型のログ・ファイル監視
ElasticsearchとKibanaを使用している場合は、集中管理型のElasticearch/Kibanaコンソールにログ・ファイルを送信するようLogstashポッドを構成できます。Logstashポッドを構成する前に、集中管理型のElasticsearchデプロイメントにアクセスできることを確認してください。
上位トピック: 「エンタープライズ・ドメインの構成」
Oracle Unified Directory Services Managerの構成
Oracle Unified Directory Services Manager (OUDSM)は、Oracle Unified Directoryを管理するために使用されるツールです。これはオプションです。
この章では、OUDSMをKubernetesクラスタ内にインストールする方法について説明します。
Kubernetes/イングレス・サービス
OUDSMを構成すると、各ワーカー・ノードで次のOUDSMサービスが使用可能になります:
表15-1 各ワーカー・ノードのOUDSMサービス
サービス | タイプ | サービス・ポート | マップ済ポート |
---|---|---|---|
OUDSM |
NodePort |
30901 |
7001 |
ノート:
OUDSMは、独自のKubernetesサービス・ポートをランダムに選択します。この表に示されている番号は、単なる例です。表15-2 イングレス・サービス
サービス名 | ホスト名 |
---|---|
|
|
この章で使用される変数
この章の以降の項では、多数のファイルを作成する手順について説明します。これらのサンプル・ファイルには、デプロイメントに適用可能な値に置換する必要がある変数が含まれています。
変数の形式は<VARIABLE_NAME>です。次の表に、これらの各変数に設定する必要がある値を示します。
表15-3 変更する必要がある変数
変数 | サンプル値 | 説明 |
---|---|---|
<WORKDIR> |
|
OUDの作業ディレクトリを作成する場所。 |
<REGISTRY_ADDRESS> |
iad.ocir.io/<mytenancy> |
レジストリの場所。Oracleコンテナ・レジストリを使用する場合、値は |
<REG_USER> |
mytenancy/oracleidentitycloudservice/myemail@email.com |
レジストリへのログインに使用するユーザーID。Oracleコンテナ・レジストリを使用する場合、この値はOracleシングル・サインオン・ユーザー名になります。 |
<REG_PWD> |
<password> |
レジストリ・ユーザー・パスワード。 |
<OUDSM_REPOSITORY> |
|
OUDSMソフトウェア・リポジトリの名前。 コンテナ・イメージをダウンロードしてステージングした場合、この値は Oracleコンテナ・レジストリを使用している場合、値は コンテナ・レジストリを使用している場合、値は製品名を含むレジストリの名前になります: |
<OUDSM_VER> |
|
使用するイメージのバージョン。これは、ダウンロードしてローカルまたはコンテナ・レジストリにステージングしたバージョンです |
<PVSERVER> |
mynfsserver.example.com |
NFSサーバーの名前。 ノート: この名前は、Kubernetesクラスタ内で解決可能である必要があります。 |
<OUDSM_WEBLOGIC_USER> |
weblogic |
OUDSMドメインを管理するユーザーの名前。 |
<OUDSM_WEBLOGIC_PWD> |
- |
管理ユーザー(< |
<OUDSM_SERVICE_PORT> |
|
OUDSMリクエストに使用するポート。 ノート: この値は、Kubernetesサービス・ポートの範囲内である必要があります。 |
<OUDSM_SHARE> |
/exports/IAMPVS/oudsmpv |
共有のNFSマウント・ポイント。 |
<OUSDM_INGRESS_HOST> |
oudsm.example.com |
OUDSMに専用ホスト名を使用している場合は、この値をそのホストの名前に設定します。例: |
<ELK_HOST> |
|
集中管理型のElasticsearchデプロイメントのホストおよびポート。このホストは、Kubernetesクラスタの中と外のどちらでもかまいません。このホストは、Elasticsearchが使用されている場合にのみ使用されます。 |
<ELK_VER> |
|
使用するElasticsearchのバージョン。 |
<ELK_USER_PWD> |
< |
ELKユーザーに割り当てられたパスワード。「Logstash用のロールおよびユーザーの作成」を参照してください。 |
製品固有の作業ディレクトリの設定
インストールを開始する前に、Oracle Unified Directory Service Managerコンテナ・イメージおよびコード・リポジトリをすでにダウンロードしてステージングしておく必要があります。「エンタープライズ・デプロイメント用のソフトウェア・ディストリビューションの特定と取得」を参照してください。
この項では、ダウンロードしたサンプル・デプロイメント・スクリプトをOUDSMの一時作業ディレクトリにコピーする手順について説明します。
- 作業ディレクトリを作成します。
mkdir <WORKDIR>
たとえば:mkdir /workdir/OUDSM
- ディレクトリをこの場所に変更します:
cd /workdir/OUDSM
ノート:
このガイドでは、複数の製品で同じサンプル・ファイル・セットが使用されています。毎回ダウンロードする必要がないように、ファイルは製品固有でない作業ディレクトリにステージングされます。 - サンプル・スクリプトを作業ディレクトリにコピーします。
cp -R <WORKDIR>/fmw-kubernetes/OracleUnifiedDirectorySM /<WORKDIR>/samples
たとえば:cp -R /workdir/OUDSM/fmw-kubernetes/OracleUnifiedDirectorySM /workdir/OUDSM/samples
Kubernetesネームスペースの作成
Oracle Unified Directory Services Managerのすべてのオブジェクトを含むネームスペースを作成する必要があります。
kubectl create namespace oudsmns
namespace/oudsmns created
コンテナ・レジストリ・シークレットの作成
コンテナ・レジストリを使用することをお薦めします。コンテナ・レジストリを使用して、オンデマンドでOracleコンテナ・イメージをプルする場合は、コンテナ・レジストリのログイン詳細を含むシークレットを作成する必要があります。
コンテナ・イメージをローカルにステージングした場合は、このステップを実行する必要はありません。
kubectl create secret -n <OUDSMNS> docker-registry regcred --docker-server=<REGISTRY_ADDRESS> --docker-username=<REG_USER> --docker-password=<REG_PWD>
kubectl create secret -n oudsmns docker-registry regcred --docker-server=iad.ocir.io/mytenancy --docker-username=mytenancy/oracleidentitycloudservice/myemail@email.com --docker-password=<password>
OUDSMコンテナの作成
OUDSMコンテナを作成する前に、Helmオーバーライド・ファイルを作成する必要があります。この項では、これらのタスクを実行するために使用する必要のあるコマンドについて説明します。
Helmオーバーライド・ファイルの作成
OUDSMコンテナは、Helmを使用してデプロイされます。OUDSMのデプロイ方法を通知するHelmオーバーライド・ファイルを作成します。
次に、OUDSMの/workdir/OUDSM/override_oudsm.yaml
というオーバーライド・ファイルの例を示します:
image:
repository: <OUDSM_REPOSITORY>
tag: <OUDSM_VER>
pullPolicy: IfNotPresent
imagePullSecrets:
- name: regcred
oudsm:
adminUser: <OUDSM_WEBLOGIC_USER>
adminPass: <OUDSM_WEBLOGIC_PWD>
startupTime: 200
persistence:
type: networkstorage
networkstorage:
nfs:
server: <PVSERVER>
path: <OUDSM_SHARE>
size: 5Gi
replicaCount: 1
elk:
enabled: false
ingress:
enabled: false
type: nginx
tlsEnabled: true
image:
repository: iad.ocir.io/mytenancy/oudsm
tag: 12.2.1.4-jdk8-ol7-220119.2054
pullPolicy: IfNotPresent
imagePullSecrets:
- name: regcred
oudsm:
adminUser: weblogic
adminPass: password
startupTime: 200
persistence:
type: networkstorage
networkstorage:
nfs:
server: mynfsserver.example.com
path:/export/IAMPVS/oudsmpv
size: 5Gi
replicaCount: 1
elk:
enabled: false
ingress:
enabled: false
type: nginx
tlsEnabled: true
親トピック: OUDSMコンテナの作成
コンテナの作成
cd /workdir/OUDSM/samples/kubernetes/helm
helm install --namespace <OUDSMNS> --values /workdir/OUDSM/override_oudsm.yaml oudsm oudsm
NAME: oudsm
LAST DEPLOYED: Thu Jan 28 08:08:40 2021
NAMESPACE: oudsmns
STATUS: deployed
REVISION: 1
TEST SUITE: None
親トピック: OUDSMコンテナの作成
OUDSMインスタンスのトラブルシューティング
次のコマンドを使用して、各OUDSMインスタンスの作成をモニターできます:
kubectl -n oudsmns get all -o wide
各コンテナのステータスがREADY 1/1
およびStatus = Running
と表示された場合のみ、インストールおよび構成が完了します。
kubectl get pod -n oudsmns
kubectl describe pod -n oudsmns
コンテナ・ログ
kubectl logs oudsm-1 -n oudsmns
親トピック: OUDSMコンテナの作成
OUDSMへの外部アクセスの作成
デフォルトでは、Oracle Unified Directory Service Managerデプロイメントは、ClusterIPサービスとして構成されたすべてのコンポーネントを使用して作成されます。つまり、OUDSMはKubernetesクラスタ内でのみ表示されます。
- イングレス・コントローラの使用
- Kubernetes NodePortサービスの使用
Kubernetes OUDSM NodePortサービスの作成
Kubernetesクラスタの外部からOUDSMに接続するには、OUDSM NodePortサービスを作成する必要があります。
- 次の内容を含む
/workdir/OUDSM/oudsm_nodeport.yaml
というテキスト・ファイルを作成します:kind: Service apiVersion: v1 metadata: name: oudsm-nodeport namespace: <OUDSMNS> spec: type: NodePort selector: app.kubernetes.io/instance: oudsm app.kubernetes.io/name: oudsm ports: - targetPort: 7001 port: 7001 nodePort: <OUDSM_SERVICE_PORT> protocol: TCP
たとえば:kind: Service apiVersion: v1 metadata: name: oudsm-nodeport namespace: oudsmns spec: type: NodePort selector: app.kubernetes.io/instance: oudsm app.kubernetes.io/name: oudsm ports: - targetPort: 7001 port: 7001 nodePort: 30901 protocol: TCP
ノート:
namespaceが、使用するネームスペースに設定されていることを確認します。 - 次のコマンドを使用して、サービスを作成します:
kubectl create -f /workdir/OUDSM/oudsm_nodeport.yaml
出力が次のように表示されます。service/oudsm-nodeport created
http://k8worker1.example.com:30901/OUDSM
URLを使用してOUDSMにアクセスできることを検証します。
親トピック: OUDSMへの外部アクセスの作成
Oracle Unified Directory Services Managerのイングレス・サービスの作成
イングレスを介してOUDSMにアクセスするには、イングレス・サービスを作成する必要があります。イングレス・サービスを製品ネームスペース内に作成します。イングレス・サービスにより、ネームスペース内でリクエストを転送する方法がイングレス・コントローラに指示されます。
イングレス・サービスを作成するには:
親トピック: OUDSMへの外部アクセスの作成
Oracle Unified Directory Services Manager用のOracle HTTP Serverの構成
OUDSMをOracle HTTP Server構成に組み込む必要はありません。イングレス・サービスまたはNodePortサービスを使用して、OUDSMに直接アクセスできます。ただし、OUDSMをOracle HTTP Serverに組み込む場合は、この項で説明するステップを実行する必要があります。
「Oracle HTTP Serverのインストールと構成」の説明に従ってOracle HTTP Serverを構成したら、Oracle Unified Directory Services ManagerにリクエストをルーティングするようにOracle HTTP Serverを構成できます。
Oracle HTTP Serverを構成するには:
ElasticsearchおよびKibanaを使用した集中管理型のログ・ファイル監視
- OUDSM永続ボリューム(Logstashポッドによってロードされ、ログ・ファイルの検索が可能になります)。
- 永続ボリューム内のログ・ファイルの場所。
- 集中管理型のElasticsearchの場所。
Logstashポッドを構成するには、次のステップを実行します。Kubernetesクラスタ内のelkns
というネームスペースで、Elasticsearchが実行されていることを前提としています。
Elasticsearchのシークレットの作成
Logstashでは、Elasticsearchデプロイメントに接続するための資格証明が必要です。これらの資格証明は、シークレットとしてKubernetesに格納されます。
kubectl create secret generic elasticsearch-pw-elastic -n <OUDSMNS> --from-literal password=<ELK_APIKEY>
kubectl create secret generic elasticsearch-pw-elastic -n oudsmns --from-literal password=afshfashfkahf5f
kubectl create secret generic elasticsearch-pw-elastic -n <OUDSMNS> --from-literal password=<ELK_PWD>
kubectl create secret generic elasticsearch-pw-elastic -n oudsmns --from-literal password=mypassword
kubectl get secret elasticsearch-es-elastic-user -n <ELKNS> -o go-template='{{.data.elastic | base64decode}}'
ELK証明書の構成マップの作成
本番環境に対応したElasticsearchデプロイメントを構成した場合は、SSLが構成されています。Elasticsearchと通信できるよう、LogstashでElasticsearch証明書を信頼する必要があります。信頼を有効にするには、Elasticsearch証明書の内容で、構成マップを作成する必要があります。
Elasticsearchの自己署名証明書は、すでに保存されています。「Elasticsearch証明書のコピー」を参照してください。本番証明書がある場合は、かわりにそれを使用できます。
証明書を使用して構成マップを作成し、次のコマンドを実行します:
kubectl create configmap elk-cert --from-file=<WORKDIR>/ELK/elk.crt -n <OUDSMNS>
kubectl create configmap elk-cert --from-file=/workdir/ELK/elk.crt -n oudsmns
OUDSMのログ・ファイル監視の構成
ログ・ファイル監視を構成するには、次のステップを実行します:
Logstashの構成マップの作成
Logstashは、OUDSMインストールのログ・ファイルを検索し、集中管理型のElasticsearchに送信します。ログ・ファイルが存在する場所とその送信先は、構成マップを使用してLogstashに指示されます。
親トピック: OUDSMのログ・ファイル監視の構成
Logstashデプロイメントの作成
親トピック: OUDSMのログ・ファイル監視の構成