ノート:
- このチュートリアルではOracle Cloudへのアクセスが必要です。無料アカウントにサインアップするには、Oracle Cloud Infrastructure Free Tierの開始を参照してください。
- Oracle Cloud Infrastructure資格証明、テナンシおよびコンパートメントの値の例を使用します。演習を完了する場合は、これらの値をクラウド環境に固有の値に置き換えてください。
OKEへのOracle FLEXCUBEのデプロイ
イントロダクション
Oracle FLEXCUBE Universal Bankingでは、環境を起動して実行する前に、いくつかのステップを実行する必要があります。Java Enterprise Edition (JEE)アプリケーションであるため、データベースやアプリケーション・サーバーなど、インストールする最小限のソフトウェア・ベースが含まれます。この例では、Oracle WebLogicとOracle Databaseが技術スタックの一部として使用されます。システムの完全稼働を有効にするために、標準デプロイメントは次のステップに従います。
1. Install Oracle Database
2. Install Oracle Weblogic Fusion Middleware Infrastructure
3. Install Oracle FLEXCUBE database artifacts
4. Install Oracle FLEXCUBE application server artifacts
5. Configure initial setup
6. Tune database
7. Tune application
8. Personalize as per business needs
アプリケーション・インストーラが初期ステップを実行します。このプロセスは繰り返し可能ですが、時間がかかるため、作成される環境の複雑さに応じて、システムのデプロイに数日かかる場合があります。このプロセスを改善する1つの方法は、ほとんどのプロセスを自動化することであり、コンテナ化戦略によってこのようなタイプのアーキテクチャにメリットがもたらされることです。
前述の最初の7つのステップは、Dockerイメージやそれを保守および管理するためのツールの組合せなどのコンテナを使用して完全に自動化できます。データベースで構成されたデータはレプリケート可能なシード・アーティファクトになり、アプリケーション・レイヤーはすでにチューニングされ、マスター・コピーとして格納されているイメージに変換されます。その後、Oracle Cloud Infrastructure (OCI)は、システムのマスター・コピーに基づく完全な環境である、いつでもレプリケートできる要素を提供します。
ノート:
データベースまたは潜在的に異なるデータ・ストアを独立したコンテナにデプロイできますか。
可能性はありますが、このチュートリアルでは、同じスキーマ内のすべてのデータ・ストアを含む通常のクラウド・データベース・デプロイメントとして保持し、既存の一般的なプラクティスをデータベース・レベルで保持することを決定しました。
このチュートリアルの目的は、アーキテクチャをマイクロサービス・ベースのアーキテクチャに変換することではありません。これは、スコープの一部ではない他の構造的な変更が必要になるためです。Docker上のOracleデータベースの詳細は、Oracle GitHubを参照してください。
目的
- FLEXCUBEイメージの迅速なデプロイ
- コンテナFLEXCUBEイメージの作成
- Kubernetesクラスタ内にDevOpsビルドを作成し、FLEXCUBEをデプロイします
前提条件
- 少なくとも次のものを含むワーカー・ノードを持つOKEクラスタ:
- 8 OCPU
- 64GB RAM
- ローカル操作のためのOKEクラスタへの
kubectl
アクセス - OCIデータベースでのFLEXCUBEデータベース・バックアップ(DBaaS)
- OKE VCNはDBaaSにアクセスする必要があります
- 作成する権限と制限の使用:
- ロード・バランサ
- ブロック・ボリューム・ストレージ
- FLEXCUBEバックアップのJDBC構成:
- ユーザー名
- パスワード
- Oracle Databaseエンドポイント(IP/ポート)
- 知識:
- WebLogic管理およびツールの使用方法:
setWLSEnv.sh
の使用 - Kubernetesの基本管理
- Visual BuilderまたはJenkins操作
- FLEXCUBEの管理および構成
- WebLogic管理およびツールの使用方法:
ノート:
OCIテナントにOKEクラスタを作成するには、OKEクラスタの作成を参照してください。
OKEクラスタをすでに作成している場合は、「Kubeconfigファイルのダウンロード」のトピックの説明に従ってクラスタへのアクセスを構成したかどうかを確認します。
kubectlのインストール手順については、kubectlのインストールを参照してください。
タスク1: WebLogic管理サーバーの作成
まず、Kubernetesクラスタ内の単純なWebLogic管理サーバーPODから始めます。
-
weblogic.zipファイルには、次のものがあります。
- README: OKEクラスタの作成に役立ついくつかのリンク(まだ作成されていない場合)
- secret.sh: WebLogicイメージを使用するためにOracleイメージ・リポジトリにアクセスするシークレットの作成に役立つbashスクリプト
- weblogic.YAML: 管理サーバーにアクセスするためのWebLogicおよびサービス・ポートのインスタンスを作成するYAMLファイル
ノート: WebLogicイメージを取得するには、Oracleイメージ・リポジトリを割り当て、資格証明(ユーザー/パスワード)を設定する必要があります。詳細は、Oracleイメージ・リポジトリを参照してください
-
Oracle Image Repository (ログイン/パスワード)の資格証明を使用して、secret.shスクリプトを編集し、資格証明をファイルに追加する必要があります。このコマンドを実行して、OKEクラスタにシークレットを指定します。このステップなしでWebLogicコンテナをデプロイすることはできません。
sh secret.sh
-
これで、WebLogicデプロイメントを続行できます。多くのパラメータを調整できますが、このテストでは、WebLogic管理サーバーでログインするためのポート7001と資格証明を維持します。
weblogic.yaml
apiVersion: apps/v1 kind: Deployment metadata: name: weblogic-deployment spec: replicas: 1 selector: matchLabels: app: weblogic template: metadata: labels: app: weblogic spec: containers: - name: weblogic image: container-registry.oracle.com/middleware/weblogic:12.2.1.4 env: - name: DOMAIN_NAME value: "myDomain" - name: ADMIN_NAME value: "myadmin" - name: ADMIN_LISTEN_PORT value: "7001" - name: ADMIN_HOST value: "AdminContainer" - name: ADMINISTRATION_PORT_ENABLED value: "false" - name: ADMINISTRATION_PORT value: "9005" - name: MANAGED_SERVER_PORT value: "8001" - name: MANAGED_SERVER_NAME_BASE value: "MS" - name: CONFIGURED_MANAGED_SERVER_COUNT value: "2" - name: CLUSTER_NAME value: "cluster1" - name: CLUSTER_TYPE value: "DYNAMIC" - name: PRODUCTION_MODE value: "dev" - name: DOMAIN_HOST_VOLUME value: "/app/domains" - name: PROPERTIES_FILE_DIR value: "/u01/oracle/properties" - name: PROPERTIES_FILE value: "/u01/oracle/properties/domain.properties" command: [ "/bin/bash", "-c", "--" ] args: [ "mkdir /u01/oracle/properties; cd /u01/oracle/properties; echo 'username=weblogic' > domain.properties; echo 'password=weblogic123' >> domain.properties; cd /u01/oracle; ./createAndStartEmptyDomain.sh; while true; do sleep 30; done;" ] ports: - name: port9005 containerPort: 9005 imagePullSecrets: - name: oracledockersecret --- apiVersion: v1 kind: Service metadata: name: weblogic-service labels: app: weblogic spec: selector: app: weblogic ports: - port: 7001 targetPort: 7001 name: adminserver - port: 8001 targetPort: 8001 name: managedserver - port: 9005 targetPort: 9005 name: adminport type: LoadBalancer
-
端末で、
weblogic.yaml
ファイルを実行して管理サーバーをデプロイできます。kubectl apply -f weblogic.yaml
-
管理サーバーにアクセスするためのサービスおよびロード・バランサ・ポートが表示されます。次のコマンドを実行します。
kubectl get svc
-
次の詳細が表示されます。
-
weblogic-serviceのpending値に注意してください。これは、ロード・バランサがパブリックIPで準備されていないことを意味します。しばらく待ってから、kubectlコマンドを繰り返してパブリックIPを表示できます。
-
パブリックIPアドレスを使用して、ブラウザで次のURLを開きます:
http://<Public IP>:7001/console
-
管理サーバーが表示されます。YAMLファイルに定義されているユーザーとパスワードは次のとおりです。
user: weblogic password: weblogic123
タスク2: AES256形式のデータベース・パスワードの取得
FLEXCUBEデータベースのバックアップを確認し、データベース・パスワードをAES256形式で取得します。
-
OCI DBaaSでOracle Databaseが必要であり、FLEXCUBEバックアップをリストアする必要があることに注意してください。有効なFLEXCUBEデータベース・バックアップのリストアを確認した後、FLEXCUBEデータベースのコンテンツにアクセスするには、次の情報が必要です。
- エンドポイント(IP/ポート)
- ユーザー名
- パスワード
-
テキスト形式ではパスワードを使用できません。パスワードをAES256形式に変換する必要があります。パスワードをAES256形式に変換する最も簡単な方法は、WebLogicツールを使用することです。
setWLSEnv.sh
-
このツールのbashスクリプトは、WebLogicパスにあります。
./oracle/wlserver/server/bin
-
パスワードを変換するには、次のようなコマンドを実行する必要があります。
cd ./oracle/wlserver/server/bin . ./setWLSEnv.sh java -Dweblogic.RootDirectory=../user_projects/domains/integrated weblogic.security.Encrypt <Database Password>
-
setWLSEnv.shの実行後、次の例のようにAES256形式のパスワードを取得します:
{AES256}7kfaltdnEBjKNq.......RIU0IcLOynq1ee8Ib8=
-
新しいWebLogic管理サーバーPODを使用して、このコマンドを実行します。
kubectl exec -it $(kubectl get pod -l app=weblogic -o jsonpath="{.items[0].metadata.name}") -- /bin/bash
-
WebLogicサーバーのコンテナ内に入力できるまで待ちます。次の一連のコマンドを実行します。
cd /u01/oracle/wlserver/server/bin . ./setWLSEnv.sh java -Dweblogic.RootDirectory=/u01/oracle/user_projects/domains/myDomain weblogic.security.Encrypt <Database Password>
-
をテキストのパスワードに置き換えます。 -
{AES256}パスワードが表示されます。次の手順のために、この情報を保存します。
-
このコマンドを実行して、コンテナ
exit
を終了します。 -
これで、WebLogic管理サーバーを削除できます。FLEXCUBEのため削除する必要があります。ポート7001も使用されます。
kubectl delete -f weblogic.yaml
タスク3: kubectlを使用した手動デプロイメントの実行
kubectlコマンドを使用して、OKEクラスタにFLEXCUBE (fcubs)をデプロイできます。kubectlコマンド・ツールのOKEクラスタへのアクセスを構成している場合は、ローカル・マシンで実行できます。
integrated145.yaml
ファイルを理解しましょう
yamlファイルには、ポッドを作成するためのいくつかの重要なパラメータが含まれています。デプロイメント名、内部IP/ホスト名を認識し、WebLogicからイメージを選択する場所、jdbc接続および暗号化されたデータベース・アクセスが含まれます。
同じyamlファイルでは、ポッドで想定されるサイズも定義されています。これは、必要なリソースの数と、消費量の増加に備えて増やすことができる制限までを考慮しています。
公開されるポートもyamlファイルで定義されるため、パーソナライズされたセキュリティが可能になります。アプリケーションには、ビジネス・ユーザー、管理者によるWebLogicコンソール、開発者によるWebサービスなどがアクセスできます。
ノート: このシナリオでは、すべてのサービスを同じPODで作成しました。スケーリングするには、すべてスケーリングする必要があります。モノリスを破る適切な方法は、異なるWebLogicサーバーで公開されている異なるポートを使用して、異なるポッドをインスタンス化することです。そのため、ポッドは個別にスケーリングできます。
たとえば、統合で頻繁に使用されるWebサービスPODでは、アプリケーション(他のポッドにデプロイ)が2つのコアのみを必要とし、より「一定」な動作を必要とする一方で、必要に応じて10のコアとスケーリングが必要となる場合があります。
これは integrated145.yamlファイルです。
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: flexcubeclaim
spec:
accessModes:
- ReadWriteOnce
storageClassName: oci-bv
resources:
requests:
storage: 500Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: integrated145-deployment
spec:
replicas: 1
selector:
matchLabels:
app: integrated145
template:
metadata:
labels:
app: integrated145
spec:
hostname: integrated145
hostAliases:
- ip: "127.0.0.1"
hostnames:
- "fcubs.oracle.com"
containers:
- name: integrated145
image: gru.ocir.io/idvkxij5qkne/oraclefmw-infra:12.2.1.4.0_jdk8u281_pt34080315_apr22
command: [ "/bin/sh", "-c"]
args:
[ "sleep 180; su - gsh ; cd /; yum -y install wget; wget https://objectstorage.us-ashburn-1.oraclecloud.com/p/dX80UuetlAvWOEbvQNMBv47H3ZPR-zZHJJmTsu_GQ66icfgFaPSSu_97j8q3Fyrp/n/idcci5ks1puo/b/flexcubeBucketNewVersion/o/initializeConfig.sh; yum -y install unzip; sh initializeConfig.sh jdbc:oracle:thin:@x.x.x.x:1521/prodpdb.sub0xxxxxxxxx0.arspvcn.oraclevcn.com {AES256}AgWyiXhc7aM112gNRUwBIWf5QpTpWMlI537LrIfPWjCcmwNCsynBxxg99; while true; do sleep 30; done;" ]
ports:
- name: port7001
containerPort: 7001
- name: port7002
containerPort: 7002
- name: port7003
containerPort: 7003
- name: port7004
containerPort: 7004
- name: port7005
containerPort: 7005
- name: port7006
containerPort: 7006
- name: port7007
containerPort: 7007
- name: port7008
containerPort: 7008
- name: port7009
containerPort: 7009
- name: port7010
containerPort: 7010
- name: port7011
containerPort: 7011
- name: port7012
containerPort: 7012
- name: port7013
containerPort: 7013
- name: port7014
containerPort: 7014
- name: port7015
containerPort: 7015
- name: port7016
containerPort: 7016
- name: port7017
containerPort: 7017
- name: port7018
containerPort: 7018
- name: port7019
containerPort: 7019
- name: port7020
containerPort: 7020
- name: port5556
containerPort: 5556
# livenessProbe:
# httpGet:
# path: /console
# port: 7001
# initialDelaySeconds: 3000
# timeoutSeconds: 30
# periodSeconds: 300
# failureThreshold: 3
volumeMounts:
- name: data
mountPath: /scratch/gsh/kernel145
readOnly: false
resources:
requests:
cpu: "5"
memory: "36Gi"
#ephemeral-storage: "500Gi"
limits:
cpu: "8"
memory: "64Gi"
#ephemeral-storage: "500Gi"
# restartPolicy: Always
volumes:
- name: data
persistentVolumeClaim:
claimName: flexcubeclaim
imagePullSecrets:
- name: ocirsecret
---
apiVersion: v1
kind: Service
metadata:
name: integrated145-service
labels:
app: integrated145
# annotations:
# service.beta.kubernetes.io/oci-load-balancer-internal: "true"
# service.beta.kubernetes.io/oci-load-balancer-shape: "100Mbps"
# service.beta.kubernetes.io/oci-load-balancer-subnet1: "ocid1.subnet.oc1.sa-saopaulo-1.aaaaaaa.........................zjyrza"
spec:
selector:
app: integrated145
ports:
- port: 7004
targetPort: 7004
type: LoadBalancer
---
apiVersion: v1
kind: Service
metadata:
name: integrated145-service-weblogic
labels:
app: integrated145
# annotations:
# service.beta.kubernetes.io/oci-load-balancer-internal: "true"
# service.beta.kubernetes.io/oci-load-balancer-shape: "100Mbps"
# service.beta.kubernetes.io/oci-load-balancer-subnet1: "ocid1.subnet.oc1.sa-saopaulo-1.aaaaaaa.........................zjyrza"
spec:
selector:
app: integrated145
ports:
- port: 7001
targetPort: 7001
type: LoadBalancer
---
apiVersion: v1
kind: Service
metadata:
name: or Jenkins
labels:
app: integrated145
# annotations:
# service.beta.kubernetes.io/oci-load-balancer-internal: "true"
# service.beta.kubernetes.io/oci-load-balancer-shape: "100Mbps"
# service.beta.kubernetes.io/oci-load-balancer-subnet1: "ocid1.subnet.oc1.sa-saopaulo-1.aaaaaaa.........................zjyrza"
spec:
selector:
app: integrated145
ports:
- port: 7005
targetPort: 7005
type: LoadBalancer
---
apiVersion: v1
kind: Service
metadata:
name: integrated145-webservices2
labels:
app: integrated145
# annotations:
# service.beta.kubernetes.io/oci-load-balancer-internal: "true"
# service.beta.kubernetes.io/oci-load-balancer-shape: "100Mbps"
# service.beta.kubernetes.io/oci-load-balancer-subnet1: "ocid1.subnet.oc1.sa-saopaulo-1.aaaaaaa.........................zjyrza"
spec:
selector:
app: integrated145
ports:
- port: 7009
targetPort: 7009
type: LoadBalancer
ノート: 回復性 - FLEXCUBEデプロイメントは回復性があるため、WebLogicまたはFLEXCUBEがダウンした場合、Kubernetesクラスタがロードされ、再度実行されます。これは、integrated145.yamlファイル内のlivenessprobeです。コンテナのチェックインをアクティブ化する場合は、次の行をコメント解除します。
# livenessProbe: # httpGet: # path: /console # port: 7001 # initialDelaySeconds: 3000 # timeoutSeconds: 30 # periodSeconds: 300 # failureThreshold: 3 . . . # restartPolicy: Always
いくつかのスクリプト・ファイルを理解しましょう
次のために必要なファイルがあります。
- Fusionイメージ内のFLEXCUBE構造のデプロイ
- FLEXCUBEデータベースにアクセスするためのJDBCデータソースの構成
- FLEXCUBEを起動および実行するために必要な他のパラメータの構成
FLEXCUBE - Package.zip
このパッケージはzipファイルです。これには、FLEXCUBEインスタンスの構成および実行に必要なすべてのスクリプトが含まれています。このパッケージの内容は、scripts.zipフォルダにあります。このパッケージの内容は次のとおりです。
-
initializeConfig.sh: FLEXCUBEを構成および実行するために他のすべてのスクリプトを実行するメイン・ファイル
-
domainsDetails.properties:
initializeConfig.sh
スクリプトによって変更されるベース・ファイル -
config.xml:
initializeConfig.sh
スクリプトによって変更されるベース・ファイル -
FLEXCUBE.sh: POD内のFLEXCUBE v14.5構造をダウンロードするスクリプト
-
JDBCReplace.sh: すべてのJDBCデータソースをFLEXCUBEデータベース・エンドポイント(IP/Port)、FLEXCUBEデータベースのユーザー名とパスワード(AES256形式)に置き換えるスクリプト
-
JDBCList: アプリケーション・データソースに関連するすべてのXMLファイルを含むファイル。JDBCReplace.shによって使用されます
-
ExecuteWebLogic.sh: WebLogicドメイン・サーバー、ノード・マネージャを実行し、アプリケーションを起動するスクリプト(StartApps.shおよびStartApps.pyを使用)
-
StartApps.sh: WLST
StartApps.py
スクリプトを実行するスクリプト -
StartApps.py: FLEXCUBEアプリケーションを実行するスクリプト
ノート: extra-scripts.zipフォルダには、追加のタスクに役立つスクリプトがいくつか含まれています。このチュートリアルのコアの一部ではありません。
YAMLファイルの準備
このステップでは、integrated145.yaml
ファイルを構成する必要があります。このYAMLファイルは、アプリケーションをデプロイし、ロードバランサを介したアプリケーションへのアクセスと、永続化のためのストレージの作成を担当します。構成は、基本的にデータベース情報をYAMLファイルに格納することです。
-
integrated145.yamlファイル内で次の行を見つけます。
-
スクロールして次の行を見つけます:
sh initializeConfig.sh jdbc:oracle:thin:@x.x.x.x:1521/prodpdb.sub0xxxxxxxxx0.arspvcn.oraclevcn.com
-
DBaaSエンドポイントを使用してx.x.x.x:1521/prodpdb.sub0xxxxxxxxx0.arspvcn.oraclevcn.comを変更します。
-
スクロールして次の行を見つけます:
{AES256}AgWyiXhc7aM112gNRUwBIWf5QpTpWMlI537LrIfPWjCcmwNCsynBxxg99
-
前のステップで生成されたパスワードで{AES256}値を変更します。
integrated145.yamlファイルを実行します
-
すべてが構成されたら、YAMLファイルを実行します。
kubectl apply -f integrated145.yaml
-
FLEXCUBE構造の作成、構成およびサーバーとアプリケーションの稼働開始プロセスには約15分かかる場合があります。この後、次のコマンドを実行して、サービスおよびロードバランサポートを表示します。
kubectl get svc
作成時にロード・バランサのパブリックIPを表示できます。すべてのパブリックIPが表示されるまで待ちます。
名前 TYPE クラスタIP 外部IP ポート AGE integrated145-service LoadBalancer 10.x.x.x 210.x.x.x 7004:30868/TCP 200d integrated145-service-weblogic LoadBalancer 10.x.x.x 210.x.x.x 7001:32071/TCP 200d integrated145-webservices LoadBalancer 10.x.x.x 210.x.x.x 7005:30415/TCP 200d integrated145-webservices2 LoadBalancer 10.x.x.x 210.x.x.x 7009:30759/TCP 200d ノート:
integrated145.yaml
ファイルでは、「サービス」セクションに注釈がコメントされています。この注釈は、プライベート・モードでロード・バランサを作成し、アプリケーションをよりセキュアにしますが、これらのアプリケーションにアクセスするには要塞を作成する必要があります。# annotations: # service.beta.kubernetes.io/oci-load-balancer-internal: "true" # service.beta.kubernetes.io/oci-load-balancer-shape: "100Mbps" # service.beta.kubernetes.io/oci-load-balancer-subnet1: "ocid1.subnet.oc1.sa-saopaulo-1.aaaaaa.............jyrza"
-
subnet1をプライベート・サブネットOCIDに置き換えます。プライベート・サブネットでFLEXCUBEを使用する場合は、コンピュートVMを要塞として作成します。
-
SSHトンネルを確立して、次のようなエンドポイントにアクセスできます。
ssh -i PrivateKey.pem -L 7001:<integrated145-service-weblogic Private IP>:7001 opc@<Bastion Public IP>
ssh -i PrivateKey.pem -L 7004:<integrated145-service Private IP>:7004 opc@<Bastion Public IP>
ssh -i PrivateKey.pem -L 7005:<integrated145-webservices Private IP>:7004 opc@<Bastion Public IP>
また、次のURLを使用してローカル・ブラウザにアクセスします。
-
http://localhost:7001/console
-
https://localhost:7004/FCJNeoWeb
-
http://localhost:7005/FCUBSAccService/FCUBSAccService?WSDL
-
-
-
IPが表示されると、アプリケーションをテストできます。ブラウザを開き、次のように入力します。
-
WebLogic管理サーバーの場合:
http://<integrated145-service-weblogic IP>:7001/console
-
RESTサービスの場合:
https://<integrated145-service IP>:7004/FCJNeoWeb
-
SOAPサービスの場合:
http://<integrated145-webservices>:7005/FCUBSAccService/FCUBSAccService?WSDL
http://<integrated145-webservices>:7009
-
ポート7004のFLEXCUBEアプリケーション
ポート7005のSOAPサービス
タスク4: FLEXCUBEデプロイメントの自動化
Visual Builder Studioでこのタスクを実行します。このツールはOCIの一部であり、Jenkinsに似ています。そのため、Jenkinsを使用する場合は、わずかな調整でCI/CDを構成できます。
-
FLEXCUBE Gitプロジェクトのアポイントメントを作成します。Visual Builder Studio (またはJenkins)構成でFLEXCUBE Gitプロジェクトを構成する必要があります。
-
パイプラインに2つの変数を作成します。
-
JDBCString
: JDBC文字列が含まれます。例:jdbc:oracle:thin:@x.x.x.x:1521/prodpdb.sub0xxxxxxxxx0.arspvcn.oraclevcn.com
-
JDBCPassword
: AES256パスワード書式が含まれます。例:{AES256}AgWyiXhc7aM112gNRUwBIWf5QpTpWMlI537LrIfPWjCcmwNCsynBxxg99
Visual Builderでは、次のような変数を作成できます。
-
-
パイプラインで次の2つのステップを作成します: OCI CLIステップ: OKEクラスタのテナントとの接続の作成に必要で、UNIXシェル・ステップ: デプロイメント・プロセスの実行に必要。
-
Visual Builder Studioの「ジョブ構成」で、「新規追加」をクリックし、OCICliを選択します。Visual Builder StudioがテナンシおよびOKEクラスタで動作することを認可するには、OCIパラメータを設定する必要があります。
- ユーザーOCID
- フィンガープリント: OCI CLIへのアクセスを構成し、公開キーをアップロードします
- テナンシOCID
- 秘密キー: アップロードした公開キーの秘密キー・ペア(フィンガープリント)
- リージョン: OKEクラスタのリージョン
- パスフレーズ: 秘密鍵にパスワードがある場合
-
「新規追加」をクリックし、「UNIXシェル」を選択します。このボックスに次のスクリプトを追加します。
# Prepare for kubectl from OCI CLI mkdir -p $HOME/.kube oci ce cluster create-kubeconfig --cluster-id <OCID of your OKE Cluster> --file $HOME/.kube/config --region us-ashburn-1 --token-version 2.0.0 export KUBECONFIG=$HOME/.kube/config # Set Variables export JDBCString=$JDBCString export JDBCPassword=$JDBCPassword # setup the JDBC variables in integrated145-devops.yaml sed -i "s~--JDBCString--~$JDBCString~g" ./files/scripts/integrated145-devops.yaml sed -i "s~--JDBCPassword--~$JDBCPassword~g" ./files/scripts/integrated145-devops.yaml # Deploy integrated145 kubectl config view kubectl replace -f ./files/scripts/integrated145-devops.yaml --force
ノート: テナントでOKE OCIDを取得し、「oci ce cluster...」行を追加します。integrated145-devops.yamlファイルは integrated145.yamlファイルに似ていますが、CI/CD用に準備されています。
Visual Builder Studioには、次の詳細が表示されます。
-
-
パイプラインを開始し、デプロイメントを待機します。次のコマンドを使用して、使用可能なサービスを一覧表示できます。
kubectl get svc
名前 TYPE クラスタIP 外部IP ポート AGE integrated145-service LoadBalancer 10.x.x.x 210.x.x.x 7004:30868/TCP 200d integrated145-service-weblogic LoadBalancer 10.x.x.x 210.x.x.x 7001:32071/TCP 200d integrated145-webservices LoadBalancer 10.x.x.x 210.x.x.x 7005:30415/TCP 200d integrated145-webservices2 LoadBalancer 10.x.x.x 210.x.x.x 7009:30759/TCP 200d
タスク5: データベース表の更新によるFLEXCUBEインスタンスの構成
-
KubernetesクラスタでFLEXCUBEがアクティブ化され、他のFSGBUアプリケーションと統合する必要がある場合は、データベースで更新を実行する必要があります。FLEXCUBEインスタンスの正しいエンドポイントを指すように、次の表を変更する必要があります。
TableName 変更 PMTM_EXT_NOTIF_SYSTEM REST_URL CSTM_PROP_MASTER SERVICE_URL IFTM_EXT_PAYSYS_DETAIL OBLMのWSDL_URLS IFTM_EXTERNAL_SERVICE_DETAILS REST_IP PMTM_EXTERNAL_ACC_SYSTEM OBVAMの場合はRS_URL PMTM_ECA_SYSTEM OBVAMの場合はRS_URL STTM_HOST_DSN REPORTSのみに使用され、無視できるスキーマ詳細が含まれます -
構成のホスト名を変更する場合は、次の表のコンテナ・ホスト名も更新する必要があります。
TableName CSTM_EXTERNAL_SERVER_DETAILS PMTM_EXCHANGE_RATE_SYSTEM PMTM_FILE_ENV_SYSTEM PMTM_QUEUE_PROFILE PMTM_SANCTION_SYSTEM プロパティ IFTM_TF_EXT_SERVICE_DETAILS GETH_BLOCK_EXT_SYS_DETAIL GETM_BLOCK_EXT_SYS_DETAIL CSTB_NGUI_REGISTRY IFTM_TF_EXT_PAYSYS_DETAIL IFTM_TR_EXT_SERVICE_DETAILS OLTM_INTEGRATION_DETAILS IFTM_TR_EXT_PAYSYS_DETAIL IFTM_INTEGRATION_DETAILS IFTM_TF_EXT_SERVICE_DETAILS
タスク6: FLEXCUBEデプロイメントの削除
-
デプロイメントを削除するには、ターミナルで次のコマンドを実行します:
kubectl delete -f integrated145.yaml
関連リンク
確認
- 著者 - Cristiano Hoshikawa (LAD Aチーム・ソリューション・エンジニア)、Eduardo Farah (マスター・セールス・コンサルタントおよびバンキング・アーキテクト)
その他の学習リソース
docs.oracle.com/learnで他のラボをご覧いただくか、Oracle Learning YouTubeチャネルでより無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスして、Oracle Learning Explorerになります。
製品ドキュメントについては、Oracle Help Centerを参照してください。
Deploy Oracle FLEXCUBE on OKE
F77599-01
February 2023
Copyright © 2023, Oracle and/or its affiliates.