Oracle SOA Suiteドメインのスケーリング

Oracle SOA Suiteドメインをデプロイすると、SOAクラスタ内の管理対象サーバーの数をスケーリングできるようになりました。これを行うには、Helmチャートの値の編集(推奨される方法)とドメイン・マニフェストの直接編集(お薦めしません)の2つの方法があります。

オプション1: ドメイン・マニフェストの編集によるスケーリング

Kubernetesマニフェストを手動でデプロイする際にOracle SOAドメインをスケーリングする元の方法は、ドメイン・マニフェストを編集することです。Helmデプロイメントによって変更が追跡されなくなったため、このメソッドはお薦めしません。

  1. kubectlを使用してマニフェストを編集します(デプロイメント名とネームスペースがデフォルトとして保持されていると想定)。
    kubectl edit domain mysoa -n soans
  2. これにより、ドメイン定義のコンテンツを表示できるvimエディタが開きます。セクションまでスクロールします。
    clusters:
    - clusterName: soa_cluster
      replicas: 2
    
  3. iキーを押してvimの編集モードに入ります。
  4. レプリカの数を3に変更します。
  5. ESCキーを押して編集モードを終了します
  6. :wq (colon w q)と入力して変更を書き込み、エディタを終了します。
  7. 次のように入力して、管理対象サーバーの数の変化を確認します。
    kubectl get pods -n soans
    新しいエントリが表示されます。
    mysoa-soa-server3   0/1     ContainerCreating   0          6s      <none>      10.0.10.56    <none>           <none>

オプション2: Helmチャートの更新によるスケーリング

Helmを使用して変更を適切に追跡するには、チャート入力値を編集して管理対象サーバーの数をスケーリングすることをお薦めします。

このオプションでは、今回はOSBクラスタの管理対象サーバーの数をスケーリングし、HelmコントローラがSOAクラスタを元の管理対象サーバー数に返す方法を確認します。

  1. Helmチャートを更新します:
    helm upgrade mysoa oracle/soa-suite \
      -n soans \
      --reuse-values \
      --set domain.osbCluster.managedServers.count=3
     
  2. 変更の影響を確認します。入力:
    kubectl get pods -n soans
    変更をリストします。次のように表示されます:
    mysoa-soa-server3   0/1     Terminating         0          6s      <none>      10.0.10.56    <none>           <none>
    mysoa-osb-server3   0/1     ContainerCreating   0          30s     10.1.0.134   10.0.10.56   <none>           <none>
    Helmで認識されているSOAクラスタのレプリカの数は2つだったため、3への以前の変更はオーバーライドされ、2に戻され、mysoa-SOA-server3は終了します。一方、値で行った変更は、OSBクラスタ用にmysoa-osb-server3という名前の新しい管理対象サーバーを作成しました。