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

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