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へのデプロイを参照してください。

安全でない開発

  1. Oracle JDeveloperからOracle SOA SuiteおよびOracle Service Busコンポジット・アプリケーションをデプロイするには、T3チャネルを公開するように管理サーバーを構成する必要があります。WebLogic Kubernetes Operatorには、ドメインの作成時にexposeAdminT3Channel設定を使用して管理サーバーのT3チャネルを公開するオプションがあり、対応するT3サービスを使用して接続できます。デフォルトでは、exposeAdminT3Channelが設定されている場合、WebLogic Kubernetes Operator環境では、NetworkAccessPointのT3チャネルのNodePort30012で公開されます(ポートを別の値に構成するには、t3ChannelPortを使用します)。

  2. ドメインの作成中にexposeAdminT3Channelを有効にしない場合、管理サーバーのT3/T3Sチャネルの公開に従ってT3チャネルを手動で公開します。

  3. 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}'
    
  4. JDeveloperは、デプロイメント中にサーバーにアクセスする必要があります。WebLogic Kubernetes Operator環境では、管理サーバーおよび管理対象サーバーはポッドであり、JDeveloperで直接アクセスすることはできません。回避策として、管理対象サーバーの到達可能性を構成する必要があります:

    ノート:

    管理対象サーバーのT3ポートはデフォルトでは公開されず、ここでの認証方法はユーザーID/パスワードに基づいているため、これを開くとセキュリティ・リスクがあります。本番インスタンスでこれを行うことはお薦めしません。

    1. 管理対象サーバーへのアクセスの構成に使用する外部IPアドレスを決定します。マスター・ノードまたはワーカー・ノードのIPアドレスを使用して、管理対象サーバーの到達可能性を構成できます。このステップでは、Kubernetesクラスタ・マスターIPがデモンストレーションに使用されます。
    2. /etc/hostsでのマップに使用される管理サーバーおよび管理対象サーバーのポッド名(<domainUID>-<server name>)を取得します。
    3. 次のエントリを使用して、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
      
    4. Oracle SOA SuiteクラスタのKubernetesサービス名を取得して、マスターIP(または外部IP)で外部にアクセスします:
      kubectl get service <domainUID>-cluster-<soa-cluster> -n <namespace>
          

      例:

      kubectl get service soainfra-cluster-soa-cluster -n soans
      
    5. 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管理対象サーバーにメッセージがドロップされる可能性があるためです。


SOAコンポジットのデプロイ