JDeveloperを使用したデプロイ
Oracle JDeveloperからOracle SOA SuiteおよびOracle Service Busコンポジット・アプリケーションをWebLogic Kubernetes Operator環境のOracle SOA Suiteインスタンスにデプロイする方法について学習します。
ノート:
JDeveloperは、開発およびテスト環境にのみ使用します。本番環境では、アプリケーション・コントロールおよびWLSTを使用してデプロイする必要があります。JDeveloperからOracle SOA SuiteへのOracle SOA SuiteおよびOracle Service Busコンポジット・アプリケーションのデプロイ
前提条件
セキュア・ドメイン
Oracle JDeveloperからOracle SOA SuiteおよびOracle Service Busコンポジット・アプリケーションをセキュア・ドメインにデプロイするには、内部Kubernetesサービスを使用してデプロイメントを実行する必要があります。詳細は、JDeveloperを使用したOracle SOA SuiteおよびOracle Service BusアプリケーションのKubernetes上のOracle SOA Suiteへのデプロイを参照してください。
安全でない開発
-
Oracle JDeveloperからOracle SOA SuiteおよびOracle Service Busコンポジット・アプリケーションをデプロイするには、T3チャネルを公開するように管理サーバーを構成する必要があります。WebLogic Kubernetes Operatorには、ドメインの作成時に
exposeAdminT3Channel
設定を使用して管理サーバーのT3チャネルを公開するオプションがあり、対応するT3サービスを使用して接続できます。デフォルトでは、exposeAdminT3Channel
が設定されている場合、WebLogic Kubernetes Operator環境では、NetworkAccessPoint
のT3チャネルのNodePort
が30012
で公開されます(ポートを別の値に構成するには、t3ChannelPort
を使用します)。 -
ドメインの作成中にexposeAdminT3Channelを有効にしない場合、管理サーバーのT3/T3Sチャネルの公開に従ってT3チャネルを手動で公開します。
-
Kubernetesクラスタのマスター・アドレスを取得し、アプリケーション・サーバー接続の作成に使用されるT3ポートを確認します。次のコマンドを使用して、T3ポートを取得します:
kubectl get service <domainUID>-<AdministrationServerName>-external -n <namespace>-o jsonpath='{.spec.ports[0].nodePort}'
例:
kubectl get service soainfra-adminserver-external -n soans -o jsonpath='{.spec.ports[0].nodePort}'
-
JDeveloperは、デプロイメント中にサーバーにアクセスする必要があります。WebLogic Kubernetes Operator環境では、管理サーバーおよび管理対象サーバーはポッドであり、JDeveloperで直接アクセスすることはできません。回避策として、管理対象サーバーの到達可能性を構成する必要があります:
ノート:
管理対象サーバーのT3ポートはデフォルトでは公開されず、ここでの認証方法はユーザーID/パスワードに基づいているため、これを開くとセキュリティ・リスクがあります。本番インスタンスでこれを行うことはお薦めしません。
- 管理対象サーバーへのアクセスの構成に使用する外部IPアドレスを決定します。マスター・ノードまたはワーカー・ノードのIPアドレスを使用して、管理対象サーバーの到達可能性を構成できます。このステップでは、Kubernetesクラスタ・マスターIPがデモンストレーションに使用されます。
/etc/hosts
でのマップに使用される管理サーバーおよび管理対象サーバーのポッド名(<domainUID>-<server name>
)を取得します。- 次のエントリを使用して、JDeveloperが実行されているホストの
/etc/hosts
(またはWindowsのC:\Windows\System32\Drivers\etc\hosts
)を更新します:<Master IP> <Administration Server pod name> <Master IP> <Managed Server1 pod name> <Master IP> <Managed Server2 pod name>
サンプルの/etc/hostsエントリは次のようになります。
X.X.X.X
はマスター・ノードのIPアドレスです:X.X.X.X soainfra-adminserver X.X.X.X soainfra-soa-server1 X.X.X.X soainfra-soa-server2
- Oracle SOA SuiteクラスタのKubernetesサービス名を取得して、マスターIP(または外部IP)で外部にアクセスします:
kubectl get service <domainUID>-cluster-<soa-cluster> -n <namespace>
例:
kubectl get service soainfra-cluster-soa-cluster -n soans
-
Kubernetesサービスを作成して、管理対象サーバーと同じポートでOracle SOA Suiteクラスタ・サービス(<domainUID>-cluster-<soa-cluster>)を外部に公開します:
kubectl expose service <domainUID>-cluster-<soa-cluster> --name <domainUID>-<soa-cluster>-ext --external-ip=<Master IP> -n <namespace>
例:
kubectl expose service soainfra-cluster-soa-cluster --name soainfra-cluster-soa-cluster-ext --external-ip=X.X.X.X -n soans
ノート:
本番環境では、SOAクラスタ・サービスを外部IPアドレスで公開することはお薦めしません。SOA管理対象サーバーにメッセージがドロップされる可能性があるためです。
前述の前提条件ステップを完了したら、次のステップを実行します: