Oracle Kubernetes Engine (OKE)へのOracle SOA Suiteのデプロイ
この項では、SOA Suiteスキーマ用のデータベースとSOA Suiteドメイン・ファイルを格納するファイル・ストレージ・マウント・パス、およびKubernetes内のOracle SOA Suiteを使用して、Oracle Kubernetes Engine上にKubernetesクラスタをプロビジョニングするために必要なステップについて説明します。
前提条件
Container Engine for KubernetesにOracle SOA Suiteをデプロイするには、次のものに使用可能なリソースおよび割当てがあることを確認してください:
- 1つのファイル・ストレージ・システム。
- 1つのマウント・ターゲット。
- 1つのデータベース(オンプレミス・データベース、Oracle Base Database Service、またはデータベース・オペレータを使用したOracle単一インスタンス・データベースのいずれか)。
- 1つのKubernetesクラスタと、要件に応じて必要なノード数を含むノード・プール。
ノート:
- 「ドメイン・リソースのサイズ設定」および「要件と価格」を参照し、Oracle SOA Suiteドメインに必要なノード・プール・シェイプを選択します。1つのOCPUでは不十分です。
- デフォルトのクラスタ・ブロック・ボリューム・サイズが不十分である可能性があります。ボリュームのサイズ変更の手順については、このドキュメントを参照してください。ノードごとに300GB以上を割り当てることをお薦めします。
OKEでのKubernetesクラスタの作成
Container Engine for Kubernetes (OKE)を使用してKubernetesクラスタを作成できます。詳細はここを参照してください。
Container Engine for Kubernetesは、高可用性を実現するために次のことを行います:
- 複数のOracle管理のコントロール・プレーン・ノードにKubernetesコントロール・プレーンを作成します(サポートされているリージョン内の異なる可用性ドメインにコントロール・プレーン・ノードを分散します)。
- 可用性ドメイン内の各フォルト・ドメインにワーカー・ノードを作成します(他のインフラストラクチャの制限に従って、フォルト・ドメイン全体にできるだけ均等にワーカー・ノードを分散します)。
OKEの準備
Container Engine for Kubernetesの作成を開始する前に、Container Engine for Kubernetesの準備を参照し、次の要件の一部を満たしているかどうかを確認します:
- Oracle Cloud Infrastructureテナンシへのアクセス。
- Oracle Cloud Infrastructureテナンシの前提条件にリストされているコンポーネントのサービス制限を確認し、必要に応じてサービス制限の引上げをリクエストします。
- テナンシの管理者グループに属し、適切なContainer Engine for Kubernetes権限も持っています
- クラスタでKubernetes操作を実行するためのアクセス。
コンパートメントの作成
テナンシ内に、必要なネットワーク・リソース(VCN、サブネット、インターネット・ゲートウェイ、ルート表、セキュリティ・リストなど)を格納するコンパートメントがすでに存在している必要があります。そのようなコンパートメントが存在しない場合は、作成する必要があります。ネットワーク・リソースは、ルート・コンパートメントに配置できます。ただし、複数のチームがクラスタを作成すると予想される場合、ベスト・プラクティスはチームごとに個別のコンパートメントを作成することです。
詳細は、コンパートメントの管理およびクラスタの作成とデプロイメントのためのネットワーク・リソース構成を参照してください。
コンパートメント・ポリシーの作成
クラスタを作成および/または管理するには、次のいずれかに属している必要があります:
- テナンシの管理者グループ
- ポリシーによって適切なContainer Engine for Kubernetes権限が付与されたグループ。
詳細は、クラスタの作成とデプロイメントのためのポリシー構成を参照してください。
OKEクラスタの作成
Container Engine for Kubernetesを使用して新しいKubernetesクラスタを作成し、新しいKubernetesクラスタを作成します。クラスタは、コンソール、CLIおよびAPIを使用して作成できます。詳細は、クラスタの作成を参照してください。
ノード・プールの作成
コンソールを使用して新しいクラスタを作成すると、コンソールを使用して管理対象ノード・プールを作成できます。コンソール、CLIまたはAPIを使用して新しい管理対象ノード・プールを作成するには、ここを参照してください。ワーカー・ノードがプライベートとして構成されている場合は、それらにアクセスするために要塞ホストを確立する必要があります。要塞の管理を参照してください。
クラスタへのアクセスの設定
Container Engine for Kubernetesによって、kubectlを使用してクラスタにアクセスするために使用するKubernetes kubeconfig構成ファイルが作成されます。クラスタ・アクセスの設定を参照し、クラウド・シェルまたはローカル・アクセスを介してアクセスを作成します。
ツールのインストール
クラスタ・アクセスを設定したら、Oracle SOA Suiteドメインのデプロイに必要な次のバージョンのツールを確認またはインストールします: - kubectl (>= 1.24) : インストール手順は、ここを参照してください。- Helm (>= 3.10.2): HelmはKubernetesデプロイメント・パッケージ・マネージャです。helmをローカルにインストールするには、ここを参照してください。
ドメイン・ホームのストレージの作成
ファイル・ストレージ・サービスを使用して、ドメイン・ホームに使用される永続ボリューム要求をプロビジョニングできます。詳細は、OCIドキュメントのファイル・ストレージ・サービスでのPVCのプロビジョニングを参照してください。サンプル・ファイルは、CSIボリューム・プラグインを使用してPVCをプロビジョニングするために使用できます。fss-dyn-st-class.yaml
およびfss-dyn-claim.yaml
ファイルを関連するパラメータで更新して、ドメインのPVCをプロビジョニングできます。ドメイン・ホームの共有ディレクトリの権限を1000:0に更新するには、WebLogic Kubernetes Operatorのドキュメントを参照してください。
イングレス・コントローラの作成
- OCIネイティブ・イングレス・コントローラ。
- NginxやTraefikイングレス・コントローラなどのサードパーティのイングレス・コントローラ。
service.type
をLoadBalancer
に設定することに注意してください。
Oracle SOA Suiteドメインの作成
Oracle SOA Suiteドメインの環境を準備するには、環境の準備を参照してください。
次のステップを実行します。
- Kubernetesシークレットを作成して、レジストリからOracle SOA Suiteイメージをプルできるようにします。
$ kubectl -n DOMAIN_NAMESPACE create secret docker-registry image-secret \ --docker-server=container-registry.oracle.com \ --docker-username=YOUR_REGISTRY_USERNAME \ --docker-password=YOUR_REGISTRY_PASSWORD \ --docker-email=YOUR_REGISTRY_EMAIL
DOMAIN_NAMESPACE、YOUR_REGISTRY_USERNAME、YOUR_REGISTRY_PASSWORDおよびYOUR_REGISTRY_EMAILを、レジストリへのアクセスに使用する値に置き換えます。
- 永続ストレージの作成時に、
weblogicDomainStorageType
をNFSに設定し、weblogicDomainStoragePath
をドメイン・ホームのストレージの作成で取得したアドレスに設定します。
ドメインを作成するには、Oracle SOA Suiteドメインの手動作成でOracle SOA Suiteドメインの作成の詳細を参照してください。600秒のデフォルトのタイムアウト値は、OKEでドメインを作成するのに十分ではない可能性があるため、-tを指定して600を超える十分なタイムアウト値を渡します。
Oracle SOA Suiteドメイン・サービスにアクセスするためのイングレス・コントローラの構成
OCIネイティブ・イングレス・コントローラを設定した場合は、OCIドキュメントを参照してください。サードパーティのイングレス・コントローラでのイングレス・リソースの作成については、ロード・バランサの設定を参照してください。