NCache Red Hat OpenShift を使用した場合

Kubernetesクラスター、Docker、Linux

デプロイする方法を学ぶ NCache Red Hat OpenShift上でKubernetesクラスタを使用し、Red Hat Enterprise Linux上でDockerポッドを利用することで、Javaアプリケーションと.NET Coreアプリケーションの両方に対応できます。

OpenShiftは、エンタープライズアプリの開発とデプロイのためのKubernetesコンテナーオーケストレーターに基づくRedHatによるオープンソースコンテナーアプリケーションプラットフォームです。

アプリケーションが Red Hat Enterprise Linux および OpenShift 上で動作する Java および/または .NET Core であり、 NCache ピークトランザクション負荷に対するパフォーマンスとスケーラビリティを向上させるために、次のことをご安心ください。 NCache この環境を完全にサポートします。

このビデオを見て、展開がいかに簡単かを確認してください NCache DockerデプロイメントとしてのRedHatOpenShiftKubernetesクラスターの一部として。

今日は、あなたがどのように使うことができるかを実演します NCache RedHatOpenShiftコンテナープラットフォームで。 ご存知のとおり、OpenShiftはRed Hatが提供するコンテナープラットフォームであり、Dockerを利用したアプリケーションコンテナーを中心に構築されており、オーケストレーションと管理サービスはKubernetesによって提供されます。

これはRedHatEnterprise Linuxに基づいており、本日は、のデプロイメントと使用法の詳細を段階的に説明します。 NCache このプラットフォームで。 それでは、これからすぐに始めましょう。

NCache 展開

まず、復習しましょう NCache RedHatOpenShiftコンテナープラットフォームでのデプロイメント。 これが典型的な展開です NCache RedHatOpenShiftコンテナープラットフォームで。 さまざまなアプリケーションがデプロイされた単一のKubernetesクラスターと NCache クラスター展開。

ncache デプロイメント Redhat OpenShift
NCache RedHatOpenShiftでのデプロイ

Java Webアプリがあります。これも、さまざまなポッドにデプロイされたDockerイメージです。 別のポッドで再び表示されるJavaWebサービスがあります。 これらのJavaアプリケーションは、 NCache一方、ASP.NET Core アプリケーション用に別のデプロイメントがあり、これも Linux 上の Docker イメージを使用していますが、これは .NET Core クライアントを使用しています。 NCache コミュニケーション。 サーバー側の展開に関する限り、それは使用しています LinuxベースのDockerイメージ NCache、これは当社のWebサイトで入手できます。ここに示すように、Red Hat Enterprise Linuxで使用できます。また、さまざまなDockerを使用してキャッシュクラスターを作成します。 NCache このプラットフォームで利用できるようになった画像と私はこれを持っています キャッシュ検出サービス (NAIST) と NCache リモートモニタリングゲートウェイ.

したがって、このディスカバリーサービスはKubernetes内のヘッドレスサービスであり、OpenShift内で作成できます。これにより、すべてのクライアントアプリケーションがそれ自体に接続するだけで、その一部であるすべてのリソースへのルーティングとディスカバリーが管理されます。キャッシュクラスター。 たとえば、IPアドレスやポッド10、11、12の詳細を知る必要はありません。名前付きサービスであるこのディスカバリーサービスに接続するだけで、すべての内のリソース NCache キャッシュクラスター。 同様に、リモートモニタリングゲートウェイもこのディスカバリサービスに接続して、システム管理者がこのKubernetesクラスタの外部でモニタリングと管理の操作を実行できるようにします。実際にこれらを実行して作成する方法について、これらXNUMXつの実践的なデモンストレーションを行います。 。 したがって、これは、さまざまな種類のアプリケーションを接続する典型的な展開です。 NCache 単一のKubernetesクラスター内。

デモ環境のセットアップの詳細は次のとおりです。

デモ-環境-詳細
デモ環境の詳細

2を使用しています NCache サーバーを作成してクラスターを作成します。2つのクライアントアプリケーションを使用してこのキャッシュに接続します。 サーバー側 NCache Dockerイメージは、このタグ「enterprise-server-linux-5.0.1」で表されます。

デモ-環境-詳細2

これは、当社のWebサイトおよび Dockerハブこれは最新の 5.0 SP1 リリース .NET Core バージョンなので、Windows だけでなく Linux でも使用できますが、このデモでは Linux を使用します。Java アプリケーションは、Java クライアントを使用しています。 NCache .NET Core アプリケーションは .NET Core クライアントを使用します NCache そして私は使用しています CRUD操作 これらのアプリケーション内のアプリデータキャッシングのユースケースを表すため。

配備します NCache サーバー

最初のステップはデプロイすることです NCache OpenShiftのサーバー。 それでは、すぐに始めましょう。 Red Hat OpenShift Webコンソールにログインしています。最初に行う必要があるのは、プロジェクトを作成することです。

プロジェクトの作成

それでは、空のプロジェクトを作成しましょう。「ncachedemo」という名前を付けて、「作成」を選択し、その後、空のプロジェクトを作成します。

作成_プロジェクト2

この時点では、展開はありません。 したがって、の展開を開始する必要があります NCache サーバーとそのために、カタログを参照するか、本番環境のユースケースに必要な事前構成されたYAMLファイルを使用して、そのYAMLファイルをインポートできます。 だから、実際にそれをやってみましょう、そして私はすでに私が使用するYAMLファイルを持っています NCache サーバー側のデプロイメントです。これがデプロイメント タイプです。「種類」は「デプロイメント」で、「名前」は「ncache」に選択されています。レプリカを 2 つ使用し、コンテナー イメージの詳細がここにあります。ここで強調したいのは、ここで使用している Docker イメージです。

ヤムル

これは NCache エンタープライズサーバーLinux Dockerイメージ、Docker Hubで利用可能であり、これのリファレンスを私たちから入手することもできます ダウンロードのページ 同じように。 だから、あなたが行くなら NCache ダウンロードページでは、この画像をここで見ることができます。 DockerHubで利用可能なキャッシュサーバーのLinuxイメージ。 これをクリックすると、直接に移動します Dockerハブ そして、そこからこのイメージを取得できます。一般的なプルコマンドは「docker pull alachisoft/ncache」で、特に探しているタグは「Enterprise Server Linux 5.0.1」です。これは、今回のデモで使用するメインの.NET Core Linuxリリースです。

ドッカーハブ

次は、レプリカの数です。これは、ポートの数を定義します。2つになる予定です。これらは、私が使用しているすべてのポートの詳細です。 NCache コンテナ、少なくとも開いている必要があります。

yaml2

これらは、次の管理ポートとクライアント接続ポートです。 NCache コミュニケーション。 だから、私はこのYAMLを持っています。これをインポートしてから[作成]をクリックすると、自動的に NCache サーバー。

レッドハット2

すでにおわかりのように、デプロイメント内には「ncache」デプロイメントがあり、作成中の「2 つのポッド」があります。さらに、「ポッド」をクリックすると、これらのポッドのステータス、つまり実行中かどうかを確認できます。その後、現在のステータスが表示され、実行中であり、準備ができていることがわかります。

レッドハット3

したがって、XNUMXつの展開があります NCache 利用可能になります。 ちなみに、これはすべて、現在示されているようにWebコンソールから実行できます。または、コマンドラインツールを実行して、実行中のポッドのステータスをさらに確認することもできます。そのためには、コマンドを実行する必要があります。 'oc get pods' ここにデプロイされているすべてのポッドが一覧表示され、名前も一致させることができます。「r4f」と「wx7」は、作成したばかりのポッドと同じです。

コマンドラインツール

さらにIPアドレスを確認したい場合は、 「ポッドを取得-oワイド」 スイッチを押すと、これらのポッドのIPの詳細もわかります。 したがって、206つのポッドとして.236と.XNUMXが実行されます。 NCache それらにデプロイされたサーバーイメージ。

コマンドラインツール2

キャッシュ検出サービス

すべてをルーティングするのに役立つキャッシュ検出サービスを作成します NCache 基盤となるポッドへの通信。これは、展開の一環としても議論されました。ここでは、すべてのクライアントからサーバーへの通信を管理するヘッドレスサービスがありました。 NCache また、これをこのキャッシュクラスターの管理オプションと監視オプションにも使用します。これは、Kubernetesクラスターの外部にもあります。

それでは、このキャッシュ検出サービスを作成する方法を見てみましょう。 今作成するために キャッシュ検出サービス、ここでもYAMLファイルが必要です。このファイルを使用する必要がある場合は、「Service」タイプで、「cacheserver」という名前を付けています。 あなたはどんな名前でも思いつくことができます。 SessionAffinityは「ClientIP」に設定する必要があります。 これは、Kubernetesクラスター外の管理および監視操作が常にポッドの8250つに固定されるようにするためです。 したがって、これは必須の手順であり、設定する必要があります。そうすれば、この名前付きサービスから基盤となるポッドへのマッピングが作成されます。 たとえば、サービス2ポッドからマッピングされたXNUMXポートがあり、私が選択したデプロイメントは次のとおりです。 NCache だからこれはすべてをカバーします NCache すでにデプロイしたポッド、次に8251、次にポート9800があります。したがって、最初の9800つのポートは管理および監視オプション用であり、ポートXNUMXはに接続するクライアントアプリケーション間のクライアント間通信用です。 NCache.

yaml3

さて、このYAMLをウィザードでインポートし、「追加」をクリックして「作成」をクリックすると、キャッシュ検出サービスが自動的に作成されます。ご覧のとおり、「POD SELECTOR」は「ncache」です。これは NCache ポッドとサービスからポートへのマッピングは、8250、8251、および9800がキャッシュ検出サービスとすべての間で正常にマッピングされていることを示しています。 NCache ポッド。 これで、ここでキャッシュ検出サービスの設定が完了しました。

作成-キャッシュ-発見
キャッシュ検出サービスの作成

管理ゲートウェイを作成する

次のステップは、次の管理および監視ゲートウェイを作成することです。 NCache 展開とそれにより、管理と監視が可能になります NCache このKubernetesクラスタの外部へのデプロイも同様に機能し、実行される管理操作はすべてこのゲートウェイを介してこのキャッシュ検出サービスにルーティングされ、基盤となるすべてのポッドの管理と監視にも役立ちます。

それでは、このゲートウェイをすばやく設定する方法を見てみましょう。 ここで、管理ゲートウェイを作成するには、「ネットワーク」の下に移動する必要があり、その中に「ルート」があります。

作成管理ゲートウェイ
管理ゲートウェイを作成する

それで、私は先に進んで、このヘッドレスサービスへのルートを作成するつもりです。 したがって、クリックすると、任意の名前を付けることができ、それに基づいてサービスを選択するだけで済みます。この場合、前の手順で作成した「cacheserver」サービスを選択する必要があります。 ここにすべてのサービスが一覧表示され、管理と監視用のターゲットポートを提供する必要があります。

レッドハット4

この時点で、8251を使用して[作成]をクリックします。これにより、作成、管理、および監視が可能になります。 NCache このKubernetesクラスタの外側でも、これはクリックするだけで自動的に開く場所です。 NCache 内のポッドのXNUMXつへのWeb管理アクセス NCache 展開すると、ご覧のとおり、.3.236IPが表示されます。

clustered-cache

これらはいくつかの事前構成されたキャッシュであり、これが私のデプロイメント内から接続されたポッドのXNUMXつであることに気付いた場合。 そのため、基盤となるポッドに完全にアクセスして管理することができます。 ここで紹介したいのは、セッションアフィニティの側面です。これは必須の手順です。 これもまた、管理目的でポッドを開く場合は、スティッキーである必要があることを確認するためです。 管理コマンドは、そのポッドの権利に準拠している必要があります。 したがって、そのためには、この値を「ClientIP」に設定する必要があります。これは、設定する必要のある必須の手順のXNUMXつです。

これを経て、管理ポータルに戻ると、.236に接続していることがはっきりとわかります。ここから、あらゆる種類の管理および監視操作を実行できます。 NCache.

キャッシュクラスターの作成

この時点で、OpenShift環境のセットアップは NCache が完了し、次に先に進んでキャッシュクラスターを作成できます。 さて、この管理ツール内で、[新規]をクリックすると、キャッシュ作成ウィザードが開きます。

作成-キャッシュ-クラスター
キャッシュクラスターの作成

キャッシュに名前を付けます。「democache」という名前を付けましょう。 ここではすべてをデフォルトのままにして、「レプリカのパーティション」を指定し、自動的に与えられる最初のIPを提供します。ここからコピーしてここに貼り付けることができるXNUMX番目のポッドのIPが必要です。次に、これをクリックして選択します。プラス(+)記号を指定すると、XNUMX番目のポッドが指定されます。 繰り返しますが、これはすべてデフォルトのままにします。 パラメータが同じで、「終了時にこのキャッシュを開始」して「終了」を選択すると、キャッシュクラスターが作成されます。 したがって、これらXNUMXつのポッドでは、 NCache Web管理ツールを使用すると、キャッシュクラスターを作成し、ここにある自分のボックスからWebマネージャーを使用できるようになります。 ここで詳細をクリックすると、監視の側面に関する詳細も表示され、このキャッシュクラスターの統計も表示されます。 したがって、ロードするとすぐに、さまざまなパラメータがあることがわかります。 完全に接続されている「クラスターヘルス」を確認できます。また、他のグラフもここで確認できます。

クラスターヘルス

この時点ではクライアントが接続されていないため、クライアントプロセスやクラスターの状態に表示されるクライアントは表示されませんが、クライアントアプリケーションを展開して実行するとすぐに、実際にクライアントプロセスが表示されます。に接続します NCache ここの下だけでなく、反対側にも。 私たちの NCache キャッシュクラスターが作成され、使用できるようになります。

クライアントアプリケーションの展開と実行

次のステップは、このキャッシュクラスターを使用するOpenShiftでクライアントアプリケーションをデプロイして実行することです。 繰り返しになりますが、クライアント展開用にYAMLファイルをロードします。ここに、「マルチクライアント」というラベルがあり、別の展開があります。

yaml4

.NET CoreとJavaアプリケーションがコンテナ内で実行されるDockerイメージがあります。つまり、1つのコンテナを使用して2つの異なるアプリケーションをホストしていますが、ここでは別のコンテナを使用することもできます。同じプロジェクト内で、ここをクリックすると、 NCache 1つのポッドがあり、「追加」をクリックしてクライアントデプロイメントYAMLをインポートすると、これを作成することができ、クライアントアプリケーション用の別のコンテナ、別のデプロイメントが自動的に作成されます。プロジェクトに戻ると、2つの異なるデプロイメントがあります。XNUMXつのポッドを持つ「マルチクライアント」とXNUMXつのポッドを持つ「ncache」です。これは、 NCache サーバー側のセットアップ。

レッドハット5

したがって、ポッドに移動すると、ステータスコンテナが作成され、このコマンドを再度実行すると、すべてのポッドとそのIPアドレスのリストが表示されます。 以前は236と206がありましたが、現在は47も追加されています。 これがクライアント展開ポッドであり、これがこのIDです。 さて、このポッドのこのデプロイメントで現在実行中のアプリケーションがあるかどうかをすばやく確認した場合、このコマンドを実際にすばやく実行すると、表示されるのは NCache サービスデーモン、このコンテナの「startup.sh」。 Alachisoft.NCache.Daemon.dllはで始まります NCache サービスプロセスと、Webマネージャープロセスがあること。

CMD

したがって、この時点ではこのコンテナ内からクライアントアプリケーションは実行されていません。これは、クライアントが接続されていない場合にもここから確認できることと同じです。 それでは、先に進んで、このクライアント内からJavaアプリケーションを実行してみましょう。 これを実行します。 「democache」というキャッシュの名前を実行しています。これは接続するための名前です。

cmd2

ここではIPアドレスは必要ありませんが、代わりに検出用のヘッドレスサービスが必要です。 ディスカバリーサービスを作成したことを思い出してください。「services」に戻って名前を取得する必要があります。名前は「cacheserver」で、このサービスから基盤となるすべてのポッドへのポートマッピングがあります。 と NCache クライアントには、この名前付きサービスと通信するこの組み込みロジックがあり、そのサービスから、OpenShiftKubernetesプラットフォーム内の基盤となるすべてのポッドを自動的に検出します。 したがって、このサービスの名前を指定すると、 NCache クライアントは十分にインテリジェントであり、完全に接続されたクライアントをサーバーに自動的に接続して定式化します。 NCache 集まる。 したがって、このアプリケーションは現在実行されており、これのモニタリングの側面を取り戻すと、XNUMXつのクライアントが追加された完全に接続されたクラスターを確認でき、additions / secに表示されるクライアントアクティビティをすでに確認でき、コンソールにも同様に、OpenShift内のキャッシュクラスターでCRUD操作が実行されていることがわかります。

クライアントプロセスを見ると、47個のIPが表示されており、これは236と206に接続されています。したがって、ヘッドレスサービスを使用すると、検出は成功し、基盤となるすべてのポッドに接続できました。問題。

サーバー-ダッシュボード

そうです、監視と管理の側面も完全に正常に機能していることがわかります。 ここで、同じコマンドをもう一度実行すると、このポッドのこのクライアント展開内で実行中のプロセスが表示されます。 したがって、これをコピーすると、次を使用するJavaアプリケーションが表示されるはずです。 NCache この一部として実行されているJavaクライアントも同様です。 だから、以外 NCache Web Managerのサービスでは、接続用のサーバーパラメータとして「cacheserver」を使用してこの「democache」を使用するJavaアプリケーションが実行されています。

つまり、Javaアプリケーションを実行するのはとても簡単です。 NCache すべてOpenShiftPlatformを使用するKubernetesで。

次のステップは.NET Coreアプリケーションを実行することです。そのためには、クライアント側の同じコンテナに含まれている.NET Coreクライアントを実行するだけで済みます。

つまり、私の場合も手順は同じで、これをすぐに実行すると、.NET Core クライアントが起動して接続されます。 NCache また、基盤となるポッドに接続するためのヘッドレス検出サービスである「democache」と「cacheserver」が必要です。 したがって、XNUMX番目のクライアントが実行され、クライアントプロセスが増加するのがわかります。 これで、別のクライアントプロセスが接続されました NCache ここに戻ると、2つのクライアントが接続されており、すべてのパラメーターがあり、すべてのカウンターがアクティビティを示しています。これにより、容量が増加します。 したがって、XNUMX秒あたりの追加数が増えます。 フェッチ/秒も増加しました。

サーバーダッシュボード2

更新/秒が増えましたね。 したがって、すべての値は新しく追加された負荷で増加し、「クライアントダッシュボード」が表示されます。ここには、すべてのアクティビティを表示するクライアントがあります。

クライアント-ダッシュボード

そう、 NCache 管理と監視は、クライアントの展開でも完全に正常に機能しています。ポートを開くだけで、 NCache サーバーとこれが同じレポートビューです。レポートにはサーバー側のカウンターがあり、クライアント展開ポッドからのクライアント側のカウンターがあります。

レポート-ダッシュボード

スケールアウト NCache クラスタ

次にデモンストレーションするのは、「スケールアウト NCache OpenShiftPlatformの「キャッシュクラスター」。 これにより、リクエスト処理能力を向上させることができます NCache そしてそれも実行時に。

これを行う方法を確認しましょう。 ここで、容量を増やすために、このデプロイメントにポッドを追加します。 「Deployments」に行きます。

レッドハット6

これを行うには複数の方法があります。 現在ご覧のとおり、2つのポッドがあります NCache。 したがって、これに別のインスタンスを追加するために、カウントを「編集」して3に増やし、次に「保存」するオプションがXNUMXつあります。これにより、自動的に作成されます。 だから、それは最も簡単なものです。

レッドハット7

他のオプションは、デプロイを「編集」すると、YAMLファイルが提供され、最初に「2」に設定した「レプリカ」の数が増え、3に増やしてからリロードすると、自動的にデプロイされます。保存するだけで、先に進んで実行できます。

レッドハット8

コマンドラインも使用できるので、今はこれを使用して[保存]を選択します。これで、所有しているDockerコンテナイメージを使用して別のポッドを作成できます。このコンテナの別のレプリカが表示されます。作成され、完全に実行されています。 OpenShift内では非常に高速であり、 'oc get pods' コマンド追加された別のIPアドレスが表示されるはずです。13.242です。 だから、私は既存のクライアントに展開しています NCache サーバーポッドの展開と、その展開内に242も追加しました。 つまり、OpenShift Podが使用可能になります。「管理」に戻って、Web Managerが使用可能であるため、キャッシュクラスターにも追加する必要があります。 したがって、そのIPアドレスをコピーして、[追加]を選択するだけで、そのIPを追加して、キャッシュに追加することを選択できます。 追加された後、「右クリック」して「開始」を選択すると、実行時にキャッシュクラスターに参加します。 クライアントアプリケーションを中断する必要はありません。実行中のキャッシュを停止する必要はまったくありません。 つまり、実行中のキャッシュクラスターがこのノードに参加し、アプリケーションがまだ実行されているため、すでにアクティビティが表示され始めているので、アクティブなバックアップを作成しました。 NCache クラスタと242はキャッシュクラスタに完全に参加しており、リクエスト処理に参加しています。

レポート-ダッシュボード2
レポートダッシュボード

そのため、OpenShiftでキャッシュをホストするサーバーが3台ではなく2台になったことで、リクエスト処理能力が向上しました。完全に接続されています。 リクエスト/秒を見ることができます。242はすべての操作に参加しており、完全なアクティビティを示しています。「クライアントプロセス」に戻ると、これらも242に接続されています。これも、検出にヘッドレスサービスを使用しているためです。

サーバーダッシュボード3

したがって、そのデプロイメント内に追加するものが何であれ、そのサービスは一致することになり、そのためのルートがわかります。 したがって、これらすべてのサーバーが完全に参加し、完全に正常に機能しています。 つまり、OpenShift Platformでキャッシュクラスターをスケールアウトするのは簡単です。RedHatを使用すると、サポートが提供されるため、利用できます。 NCache その一環として。

これでビデオは終わりです。 デプロイ方法のデモンストレーションに成功しました NCache RedHatOpenShiftプラットフォームでの使用方法と使いやすさ NCache Java および .NET Core アプリケーション内から。また、効果的に管理および監視する方法についても検討しました。 NCache OpenShiftでのデプロイメント。 これがお役に立てば幸いです。 フィードバックや質問を私たちと共有してください Alachisoft 対応 support@alachisoft.com。 ありがとうございました!

お問い合わせ

電話

+1 214-619-2601 (米国)

+44 20 7993 8327 (英国)

©著作権 Alachisoft 2002 - . All rights reserved. NCache はダイヤテック株式会社の登録商標です。