KubernetesクラスタへのOracle WebLogic Serverのデプロイ
アーキテクチャ
このリファレンス・アーキテクチャは、Oracle SOAドメインと、OCI Kubernetes Engineを使用してOracle CloudにプロビジョニングされたKubernetesクラスタにデプロイされたオプションのOracle Service Bus (OSB)ドメインを示しています。このサービスにより、Kubernetesクラスタを簡単に作成し、ロード・バランサ、ブロック・ストレージ、ネットワーキングなどの必要なサービスを提供できます。
次の図は、このリファレンス・アーキテクチャを示しています。

図soa-oke.pngの説明
このアーキテクチャには、次のコンポーネントがあります。
- リージョン
Oracle Cloud Infrastructureリージョンとは、可用性ドメインと呼ばれる1つ以上のデータ・センターを含む、ローカライズされた地理的領域です。リージョンは他のリージョンから独立し、長距離の場合は(複数の国または大陸にまたがって)分離できます。
- 可用性ドメイン
可用性ドメインは、リージョン内の独立したスタンドアロン・データ・センターです。各可用性ドメイン内の物理リソースは、他の可用性ドメイン内のリソースから分離されているため、フォルト・トレランスが提供されます。可用性ドメインどうしは、電力や冷却、内部可用性ドメイン・ネットワークなどのインフラを共有しません。そのため、ある可用性ドメインでの障害は、リージョン内の他の可用性ドメインには影響しません。
- フォルト・ドメイン
フォルト・ドメインは、可用性ドメイン内のハードウェアおよびインフラストラクチャのグループです。各アベイラビリティ・ドメインに3つのフォルト・ドメインがあり、電源とハードウェアは独立しています。複数のフォルト・ドメインにリソースを分散する場合、アプリケーションは、物理サーバーの障害、システム・メンテナンスおよびフォルト・ドメイン内の電源障害を許容できます。
- 仮想クラウド・ネットワーク(VCN)およびサブネット
VCNは、Oracle Cloud Infrastructureリージョンで設定する、カスタマイズ可能なソフトウェア定義のネットワークです。従来のデータ・センター・ネットワークと同様に、VCNsではネットワーク環境を制御できます。VCNには重複しない複数のCIDRブロックを含めることができ、VCNの作成後にそれらを変更できます。VCNをサブネットにセグメント化して、そのスコープをリージョンまたは可用性ドメインに設定できます。各サブネットは、VCN内の他のサブネットと重複しない連続した範囲のアドレスで構成されます。サブネットのサイズは、作成後に変更できます。サブネットはパブリックにもプライベートにもできます。
- ロード・バランサ
Oracle Cloud Infrastructure Load Balancingサービスは、あるエントリ・ポイントからVCNからアクセス可能な複数のサーバーへの自動トラフィック分散を提供します。
- ファイル・ストレージ
Oracle Cloud Infrastructure File Storageサービスは、永続的でスケーラブルでセキュアなエンタープライズ規模のネットワーク・ファイル・システムを提供します。File Storageサービスのファイル・システムには、VCN内のベア・メタル、仮想マシンまたはコンテナ・インスタンスから接続できます。また、Oracle Cloud Infrastructure FastConnectおよびIPSec VPNを使用して、VCN外からファイル・システムにアクセスすることもできます。ファイル・ストレージ・サービスは、SOAドメイン・アーティファクトを格納するための永続ボリュームの作成に使用されます。
- Kubernetes Engine
Oracle Cloud Infrastructure Kubernetes Engine (OCI Kubernetes EngineまたはOKE)は、コンテナ化されたアプリケーションをクラウドにデプロイするために使用できる、完全に管理されたスケーラブルで可用性の高いサービスです。アプリケーションで必要なコンピュート・リソースを指定すると、KubernetesエンジンがそれらをOracle Cloud Infrastructureの既存のテナンシにプロビジョニングします。OKEは、Kubernetesを使用して、ホストのクラスタにわたるコンテナ化されたアプリケーションのデプロイメント、スケーリングおよび管理を自動化します。
- SOAドメイン
SOAドメインは、関連するアプリケーションおよびリソースのグループであり、それらの実行に必要な構成情報です。ドメインには、クラスタ化、非クラスタ化またはクラスタ化および非クラスタ化の組合せの1つ以上のSOAインスタンスが含まれます。ドメインには、複数のクラスタを含めることができます。
- SOAおよび(オプション)Oracle Service Busクラスタ
クラスタは特定のSOAドメインの一部です。クラスタは、同時に実行され、連携して拡張性と信頼性を向上させる複数のSOAインスタンスで構成されます。
SOAクラスタは、Kubernetesクラスタとは異なります。SOAクラスタは、単一のSOAインスタンスとしてクライアントに表示されます。クラスタを構成するサーバー・インスタンスは、同じマシン上で実行することも、別のマシンに配置することもできます。クラスタ内の各サーバー・インスタンスでは、同じバージョンのOracle WebLogic Serverを実行する必要があります。
- WebLogic Kubernetes Operator
Kubernetesオペレータは、複雑なアプリケーションを管理するソフトウェアです。WebLogic Kubernetes Operatorは、従来のデータ・センター・デプロイメントで人間のオペレータと同じロールを実行するように設計されています。そのタスクには、環境の開始と停止、バックアップの開始、スケーリング操作の実行、ディザスタ・リカバリおよび高可用性ニーズに関連する手動タスクの実行、および他のデータ・センターの他のオペレータとのアクションの調整が含まれます。
レコメンデーション
お客様の要件は、ここで説明するアーキテクチャとは異なる場合があります。次の推奨事項を開始点として使用します。
- VCN
VCNを作成するときには、必要なCIDRブロックの数を決定し、VCN内のサブネットにアタッチする予定のリソースの数に基づいて各ブロックのサイズを決定します。標準のプライベートIPアドレス領域内にあるCIDRブロックを使用します。
プライベート接続を設定する他のネットワーク(Oracle Cloud Infrastructure、オンプレミス・データ・センターまたは別のクラウド・プロバイダ)と重複しないCIDRブロックを選択します。
VCNを作成した後、そのCIDRブロックを変更、追加および削除できます。
サブネットを設計するときには、トラフィック・フローおよびセキュリティ要件を考慮してください。特定の層またはロール内のすべてのリソースを、セキュリティ境界として機能できる同じサブネットにアタッチします。
リージョナル・サブネットを使用します。
このアーキテクチャでは、ロード・バランサにパブリック・サブネットを使用し、OCI Kubernetes Engineノードをホストするためにプライベート・サブネットを使用します。
- OCI Kubernetes Engine
オペレータは任意の汎用Kubernetesクラスタをサポートしていますが、このアーキテクチャではOCI Kubernetes Engineクラスタを使用します。これらのクラスタには、異なる物理ホストにまたがる5つのワーカー・ノードがあります。表示されるクラスタには、異なる物理ホストに分散したワーカー・ノードがあります。1つのクラスタに最大1000個のノードを作成できます。ワーカー・ノードは、VM.Standard2.1 Oracle Linuxホストにデプロイされます。
- ロード・バランサ
デフォルトでは、オペレータによって作成されたOracle WebLogic Serverサーバー(管理および管理対象サーバー)は、OCI Kubernetes Engineクラスタの外部では公開されません。このアーキテクチャでは、アプリケーションを外部に公開するために、ロード・バランシング・サービス上のパブリック・ロード・バランサを使用します。パブリック・ロード・バランサにはインターネットからアクセス可能なパブリックIPアドレスがあります。このアーキテクチャでは、トラフィックを処理するために100 Mbpsのロード・バランサを使用します。より多くのイングレス・トラフィックを処理する必要がある場合は、最大8000 Mbpsの高帯域幅を選択できます。
- ファイル・ストレージ
Oracle WebLogic Serverドメインを実行するためのベスト・プラクティスに準拠するために、このアーキテクチャのドメイン構成ファイルは、クラスタ内のすべてのWebLogicサーバーからアクセスできる共有ファイル・ストレージに格納されます。この設定には、次の利点があります。
- ドメイン構成の変更のためにDockerイメージを再構築する必要はありません。
- バックアップの高速化と集中化
- ログは、デフォルトで永続ストレージに格納されます。
考慮事項
- スケーラビリティ
負荷に応じてKubernetesクラスタ内のワーカー・ノードの数を更新することで、アプリケーションをスケール・アウトできます。同様に、クラスタ内のワーカー・ノードの数を減らすことでスケール・インできます。Kubernetesクラスタでは、サービスを作成するときに、ロード・バランサを作成して、そのサービスに割り当てられたノード間でサービス・トラフィックを分散できます。永続ボリュームは、TerraformまたはOracle Webコンソールを使用して作成し、オペレータ・スクリプトから参照できます。OKEクラスタ・ノードの数に関係なく、クラスタに割り当てられた管理対象サーバーの数を調整することで、SOAドメインおよびクラスタをスケーリングできます。
- アプリケーションの可用性
Kubernetesクラスタには、異なる物理インフラストラクチャに分散される管理対象サーバー用の3つのワーカー・ノードがあるため、Oracle WebLogic Serverクラスタ自体が最高の可用性を持ちます。
- セキュリティ
ポリシーを使用して、Oracle Cloud Infrastructureリソースおよび実行できる操作を制御できます。
OCI Kubernetes Engineは、Oracle Cloud Infrastructure Identity and Access Management (IAM)と統合されています。IAMは、ネイティブOracle Cloud Infrastructureのアイデンティティ機能で簡単な認証を提供します。