27 エンタープライズ・デプロイメントのスケーリング手順

エンタープライズ・デプロイメントのスケーリング手順には、スケール・アウトとスケール・インが含まれます。スケール・アウト操作時に、管理対象サーバーを新規ノードに追加します。スケール・イン操作を実行することで、これらの管理対象サーバーを削除できます。

この章の内容は次のとおりです。

トポロジのスケール・アウト

トポロジのスケール・アウトでは、新しいノードに新しい管理対象サーバーを追加します。

この項では、Identity Managementトポロジをスケール・アウトする手順について説明します。

Oracle Unified Directoryのスケール・アウト

この項では、Oracle Unified Directoryのスケール・アウトの前提条件を示し、その手順を説明して、スケール・アウト・プロセスを検証するステップについて説明します。

スケール・アウトの前提条件

OUDトポロジのスケール・アウトを実行する前に、次の要件を満たしていることを確認してください:

  • 開始点として、少なくとも1つのOUDサーバー・インスタンスが実行されています。これは、プライマリ・インスタンスです。
  • Kubernetesワーカー・ノードに、新しいポッドをホストするために十分な容量があります。
新しいレプリケート・インスタンスの追加によるスケール・アウト
次のいずれかの方法を使用して、ドメインをスケール・アウトできます:
  1. override_oud.yamlファイルを変更します。

    新しいOUDインスタンスを作成するには、サーバー・オーバーライド・ファイルを変更します。「サーバー・オーバーライド・ファイルの作成」を参照してください。

    replOUDセクションがない場合は、「サーバー・オーバーライド・ファイルの作成」の説明に従って、このセクションをファイルに追加する必要があります。

    レプリカの数を増やすには、replicaCountパラメータの値を増やします。この値を、必要なレプリカの合計数に設定します。この数にプライマリ・インスタンスは含まれません。したがって、合計4つのOUDインスタンスが必要な場合は、値を3に設定します(4番目のインスタンスはプライマリ・インスタンスです)。

  2. Helmを使用して、実行中のインスタンスの数を増やします。
    override_oud.yamlファイルを更新したら、次のコマンドを使用します:
    cd WORKDIR/fmw-kubernetes/OracleUnifiedDirectory/kubernetes/helm
    helm upgrade --namespace <NAMESPACE> --values WORKDIR/override_oud.yaml <OUD_PREFIX> oud-ds-rs
    たとえば:
    cd /workdir/OUD/fmw-kubernetes/OracleUnifiedDirectory/kubernetes/helm
    helm upgrade --namespace oudns --values /workdir/oud/override_oud.yaml edg oud-ds-rs

    サンプル出力:

    Release "edg" has been upgraded. Happy Helming!
    NAME: edg
    LAST DEPLOYED: Thu Apr 8 06:35:30 2021
    NAMESPACE: oudns
    STATUS: deployed
    REVISION: 2
    NOTES:
    
    Copyright (c) 2020, Oracle and/or its affiliates.
    
     Licensed under the Universal Permissive License v 1.0 as shown at
     https://oss.oracle.com/licenses/upl
スケール・アウトの確認

スケール・アウトを実行してサーバーを起動したら、次のような確認に進んでください。

  1. コマンドを使用して、Kubernetesクラスタをチェックし、必要な数のサーバーが実行中であることを確認します:
    kubectl -n <namespace> get all -o wide
    たとえば:
    kubectl -n oudns get all -o wide
  2. ログ・ファイルを検証して、新しいインスタンスが正しく作成されていることを確認します。
    kubectl logs -n <OUDNS> pod/<OUD_PREFIX>-oud-ds-rs-2
    たとえば:
    kubectl logs -n oudns pod/edg-oud-ds-rs-2

WebLogicドメインのスケール・アウト

この項では、Oracle Access ManagerなどのWebLogicドメインをスケール・アウトする手順について説明します。

スケール・アウトの前提条件

トポロジのスケール・アウトを実行する前に、次の前提条件を満たしていることを確認してください。

  • 開始点は、管理対象サーバーがすでに実行されているクラスタです。

  • Kubernetesワーカー・ノードに、新しいポッドをホストするために十分な容量があります。
  • 内部RMI呼出し、JMSアダプタなどにはすべて、クラスタ構文を使用すると想定しています。

  • ドメインの作成時に定義したサーバーの最大数を現在実行していません。
ドメインのスケール・アウト
ドメインをスケーリングするには、ドメイン内のReplicasパラメータを変更する必要があります。パラメータを変更するもっとも簡単な方法は、次のコマンドを使用してドメインにパッチを適用することです:
kubectl patch cluster -n <NAMESPACE> <DOMAIN_NAME>-<CLUSTER_NAME> --type=merge -p '{"spec":{"replicas":<NO OF REPLICAS>}}'
たとえば:
kubectl patch cluster -n oamns accesdomain-oam-cluster --type=merge -p '{"spec":{"replicas":3}}'
サンプル・スクリプトを使用したクラスタのスケール・アウト
Oracleには、ドメインのライフサイクル操作を簡素化する多数のスクリプトが用意されています。これらのスクリプトは、GitHubからダウンロードしたサンプル・ファイルに含まれており、次の場所にあります:
fmw-kubernetes/<PRODUCT>/kubernetes/domain-lifecycle
次のコマンドを使用して、クラスタをスケール・アウトできます:
./scaleCluster.sh -d <DOMAIN_NAME> -n <NAMESPACE> -c <CLUSTER_NAME> -r <REPLICAS>
スケール・アウトの確認
スケール・アウトを実行してサーバーを起動したら、次のような確認に進んでください。
  1. コマンドを使用して、Kubernetesクラスタをチェックし、必要な数のサーバーが実行中であることを確認します:
    kubectl -n <namespace> get all -o wide
    たとえば:
    kubectl -n oamns get all -o wide

    または

    kubectl -n oigns get all -o wide
  2. Webアプリケーションへのルーティングが正しいことを確認します。

    たとえば:

    1. ロード・バランサ上のアプリケーションにアクセスします。
      https://igdinternal.example.com:7777/soa-infra
    2. 新しいサーバーでもアクティビティがあることを確認します。
      「クラスタ」「デプロイメント」「soa-infra」「モニタリング」「ワークロード」の順に移動します。
    3. 新しいサーバーでWebセッションが作成されることも確認できます。
      • 「クラスタ」「デプロイメント」に移動します。

      • 「soa-infra」を開き、soa-infra Webアプリケーションをクリックします。

      • 「モニタリング」に移動して、各サーバーのWebセッションをチェックします。

      次の表にまとめたサンプルURLおよび対応するWebアプリケーションを使用すると、スケール・アウトしているクラスタの新しいサーバーでセッションが作成されるかどうかをチェックできます。

  3. 3つのサーバーで、JMSメッセージが宛先に対して生成および使用されていることと、宛先から生成および使用されていることを確認します。
    1. 「JMSサーバー」に移動します。
    2. 「JMSサーバー」「モニタリング」の順にクリックします。
  4. 「静的クラスタでの自動サービス移行の検証」での説明に従って、サービスの移行を確認します。

トポロジのスケール・イン

トポロジのスケール・インでは、実行中のシステムから新しい管理対象サーバーまたはインスタンス(あるいはその両方)を削除します。

Oracle Unified Directoryのスケール・イン

この項では、Oracle Unified Directoryのスケール・インの前提条件を示し、その手順を説明して、スケール・イン・プロセスを検証するステップについて説明します。

スケール・インの前提条件

OUDトポロジのスケール・インを実行する前に、2つ以上のOUDサーバー・インスタンスが実行されていることを確認してください。

レプリケート・インスタンスの削除によるスケール・イン
次のいずれかの方法を使用して、ドメインをスケール・アウトできます:
  1. override_oud.yamlファイルを変更します。

    OUDインスタンスを削除するには、サーバー・オーバーライド・ファイルを変更します。「サーバー・オーバーライド・ファイルの作成」を参照してください。

    レプリカの数を減らすには、replicaCountパラメータの値を減らします。この値を、必要なレプリカの合計数に設定します。この数にプライマリ・インスタンスは含まれません。したがって、合計4つのOUDインスタンスが必要な場合は、値を3に設定します(4番目のインスタンスはプライマリ・インスタンスです)。

  2. Helmを使用して、実行中のインスタンスの数を減らします。
    override_oud.yamlファイルを更新したら、次のコマンドを使用します:
    cd WORKDIR/fmw-kubernetes/OracleUnifiedDirectory/kubernetes/helm
    helm upgrade --namespace <NAMESPACE> --values WORKDIR/override_oud.yaml <OUD_PREFIX> oud-ds-rs
    たとえば:
    cd /workdir/OUD/fmw-kubernetes/OracleUnifiedDirectory/kubernetes/helm
    helm upgrade --namespace oudns --values /workdir/oud/override_oud.yaml edg oud-ds-rs

    サンプル出力:

    Release "edg" has been upgraded. Happy Helming!
    NAME: edg
    LAST DEPLOYED: Thu Apr 8 06:35:30 2021
    NAMESPACE: oudns
    STATUS: deployed
    REVISION: 2
    NOTES:
    
    Copyright (c) 2020, Oracle and/or its affiliates.
    
     Licensed under the Universal Permissive License v 1.0 as shown at
     https://oss.oracle.com/licenses/upl
スケール・インの確認

スケール・インを実行してサーバーを起動したら、次のような確認に進んでください:

  1. コマンドを使用して、Kubernetesクラスタをチェックし、必要な数のサーバーが実行中であることを確認します:
    kubectl -n <namespace> get all -o wide
    たとえば:
    kubectl -n oudns get all -o wide
  2. ログ・ファイルを検証して、新しいインスタンスが正しく作成されていることを確認します。
    kubectl logs -n <OUDNS> pod/<OUD_PREFIX>-oud-ds-rs-2
    たとえば:
    kubectl logs -n oudns pod/edg-oud-ds-rs-2

WebLogicドメインのスケール・イン

この項では、Oracle Access ManagerおよびOracle Identity GovernanceなどのWebLogicドメインのスケール・インの前提条件を示し、ドメインをスケール・インする手順を説明します。

スケール・インの前提条件

トポロジのスケール・インを実行する前に、次の要件を満たしていることを確認してください:

  • 開始点は、管理対象サーバーがすでに実行されているクラスタです。
  • 内部RMI呼出し、JMSアダプタなどにはすべて、クラスタ構文を使用すると想定しています。
ドメインのスケール・イン

ドメインをスケール・インするには、WebLogic Operator for Kubernetesに追加ポッド(管理対象サーバー)を停止するように指示します。次のいずれかの方法を使用して、ドメインをスケール・インできます:

domain.yaml/domain_oim_soa.yamlファイルの変更
  1. スケール・インするクラスタのエントリを検索します。パラメータreplicasの値を、起動するサーバーの必要な数に減らします。たとえば: replicas: 1
  2. ファイルを保存し、次のコマンドを使用して変更を適用します:
    kubectl apply -f domain.yaml
ドメインの直接変更
  1. 次のコマンドを使用します。
    kubectl edit domain <domain_name> -n <namespace>
    たとえば:
    kubectl edit domain accessdomain -n oamns
  2. スケール・インするクラスタのエントリを検索します。パラメータreplicasの値を、起動するサーバーの必要な数に減らします。たとえば: replicas: 1
  3. ファイルを保存します。Operatorによって、必要な数のサーバーが自動的に起動されます。
サンプル・スクリプトを使用したクラスタのスケール・イン
Oracleには、ドメインのライフサイクル操作を簡素化する多数のスクリプトが用意されています。これらのスクリプトは、GitHubからダウンロードしたサンプル・ファイルに含まれており、次の場所にあります:
fmw-kubernetes/<PRODUCT>/kubernetes/domain-lifecycle
次のコマンドを使用して、クラスタをスケール・インできます:
./scaleCluster.sh -d <DOMAIN_NAME> -n <NAMESPACE> -c <CLUSTER_NAME> -r <REPLICAS>
スケール・インの確認

スケール・インを実行してサーバーを起動したら、次のような確認に進んでください:

  1. コマンドを使用して、Kubernetesクラスタをチェックし、必要な数のサーバーが実行中であることを確認します:
    kubectl -n <namespace> get all -o wide
    たとえば:
    kubectl -n oamns get all -o wide

    または

    kubectl -n oigns get all -o wide
  2. ログ・ファイルを検証して、新しいインスタンスが正しく作成されていることを確認します。
    kubectl logs -n <NAMESPACE> pod/<DOMAIN_NAMR>-<SERVER_NAME>

    たとえば:

    kubectl logs -n oamns pod/accessdomain-oam-server1

    または

    kubectl logs -n oigns pod/governancedomain-oim-server1