RedHatEnterpriseLinux。 これは、JavaとJavaの両方で実行できます。 .NET Core 分野の様々なアプリケーションで使用されています。
OpenShiftは、エンタープライズアプリの開発とデプロイのためのKubernetesコンテナーオーケストレーターに基づくRedHatによるオープンソースコンテナーアプリケーションプラットフォームです。
アプリケーションがJavaおよび/または .NET Core Red Hat Enterprise LinuxおよびOpenShiftで実行されており、使用したい NCache ピークトランザクション負荷に対するパフォーマンスとスケーラビリティを向上させるために、次のことをご安心ください。 NCache この環境を完全にサポートします。
このビデオを見て、展開がいかに簡単かを確認してください NCache DockerデプロイメントとしてのRedHatOpenShiftKubernetesクラスターの一部として。
今日は、あなたがどのように使うことができるかを実演します NCache RedHatOpenShiftコンテナープラットフォームで。 ご存知のとおり、OpenShiftはRed Hatが提供するコンテナープラットフォームであり、Dockerを利用したアプリケーションコンテナーを中心に構築されており、オーケストレーションと管理サービスはKubernetesによって提供されます。
これはRedHatEnterprise Linuxに基づいており、本日は、のデプロイメントと使用法の詳細を段階的に説明します。 NCache このプラットフォームで。 それでは、これからすぐに始めましょう。
まず、復習しましょう NCache RedHatOpenShiftコンテナープラットフォームでのデプロイメント。 これが典型的な展開です NCache RedHatOpenShiftコンテナープラットフォームで。 さまざまなアプリケーションがデプロイされた単一のKubernetesクラスターと NCache クラスター展開。
Java Webアプリがあります。これも、さまざまなポッドにデプロイされたDockerイメージです。 別のポッドで再び表示されるJavaWebサービスがあります。 これらのJavaアプリケーションは、 NCache、一方、ASPには別の展開があります.NET Core アプリケーション、これもLinuxでDocker Imageを使用していますが、これは .NET Core のクライアント NCache コミュニケーション。 サーバー側の展開に関する限り、それは使用しています LinuxベースのDockerイメージ NCache、これは当社のWebサイトで入手できます。ここに示すように、Red Hat Enterprise Linuxで使用できます。また、さまざまなDockerを使用してキャッシュクラスターを作成します。 NCache このプラットフォームで利用できるようになった画像と私はこれを持っています キャッシュ検出サービス & NCache リモートモニタリングゲートウェイ.
したがって、このディスカバリーサービスはKubernetes内のヘッドレスサービスであり、OpenShift内で作成できます。これにより、すべてのクライアントアプリケーションがそれ自体に接続するだけで、その一部であるすべてのリソースへのルーティングとディスカバリーが管理されます。キャッシュクラスター。 たとえば、IPアドレスやポッド10、11、12の詳細を知る必要はありません。名前付きサービスであるこのディスカバリーサービスに接続するだけで、すべての内のリソース NCache キャッシュクラスター。 同様に、リモートモニタリングゲートウェイもこのディスカバリサービスに接続して、システム管理者がこのKubernetesクラスタの外部でモニタリングと管理の操作を実行できるようにします。実際にこれらを実行して作成する方法について、これらXNUMXつの実践的なデモンストレーションを行います。 。 したがって、これは、さまざまな種類のアプリケーションを接続する典型的な展開です。 NCache 単一のKubernetesクラスター内。
デモ環境のセットアップの詳細は次のとおりです。
2を使用しています NCache サーバーを作成してクラスターを作成します。2つのクライアントアプリケーションを使用してこのキャッシュに接続します。 サーバー側 NCache Dockerイメージは、このタグ「enterprise-server-linux-5.0.1」で表されます。
これは、当社のWebサイトおよび Dockerハブ。 最新の5.0SP1リリースです .NET Core バージョン。これにより、WindowsとLinuxで使用できますが、このデモンストレーションではLinuxを使用します。 JavaアプリケーションはのJavaクライアントを使用しています NCache & .NET Core アプリケーションが使用する予定です .NET Core のクライアント NCache そして私は使用しています CRUD操作 これらのアプリケーション内のアプリデータキャッシングのユースケースを表すため。
最初のステップはデプロイすることです NCache OpenShiftのサーバー。 それでは、すぐに始めましょう。 Red Hat OpenShift Webコンソールにログインしています。最初に行う必要があるのは、プロジェクトを作成することです。
それでは、空のプロジェクトを作成しましょう。 名前を付けましょう'ncacheデモ」を選択し、「作成」を選択します。その後、空のプロジェクトを作成します。
この時点では、展開はありません。 したがって、の展開を開始する必要があります NCache サーバーとそのために、カタログを参照するか、本番環境のユースケースに必要な事前構成されたYAMLファイルを使用して、そのYAMLファイルをインポートできます。 だから、実際にそれをやってみましょう、そして私はすでに私が使用するYAMLファイルを持っています NCache サーバー側の展開。 ここにあります。 つまり、これはデプロイメントタイプの権利であり、「種類」は「デプロイメント」であり、「名前」は「」に選択されます。ncache'。 XNUMXつのレプリカを使用し、ここにコンテナイメージの詳細があります。 ですから、私が強調したい主なものは、ここで使用しているDockerイメージです。
これは NCache Enterprise サーバーLinuxDockerイメージ、Docker Hubで利用可能であり、これのリファレンスを私たちから入手することもできます ダウンロードのページ 同じように。 だから、あなたが行くなら NCache ダウンロードページでは、この画像をここで見ることができます。 DockerHubで利用可能なキャッシュサーバーのLinuxイメージ。 これをクリックすると、直接に移動します Dockerハブ ここからこの画像を取得できます。 したがって、一般的なプルコマンド'ドッカープルがあります alachisoft/ncache'そして私たちが特に探しているタグはEnterpriseServerLinux 5.0.1であり、それが私たちのメインです .NET Core このデモンストレーションに使用するLinuxリリース。
次は、レプリカの数です。これは、ポートの数を定義します。2つになる予定です。これらは、私が使用しているすべてのポートの詳細です。 NCache コンテナ、少なくとも開いている必要があります。
これらは、次の管理ポートとクライアント接続ポートです。 NCache コミュニケーション。 だから、私はこのYAMLを持っています。これをインポートしてから[作成]をクリックすると、自動的に NCache サーバー。
すでにご覧のとおり、Deployments内には'ncache「デプロイメント」と「2つのポッド」が作成されています。「ポッド」をクリックすると、実行中かどうかに関係なく、これらのポッドのステータスをさらに確認できます。その後、現在のステータスが表示されます。それらが実行されていることを示し、それらも準備ができています。
したがって、XNUMXつの展開があります NCache 利用可能になります。 ちなみに、これはすべて、現在示されているようにWebコンソールから実行できます。または、コマンドラインツールを実行して、実行中のポッドのステータスをさらに確認することもできます。そのためには、コマンドを実行する必要があります。 'oc get pods' ここにデプロイされているすべてのポッドが一覧表示され、名前も一致させることができます。「r4f」と「wx7」は、作成したばかりのポッドと同じです。
さらにIPアドレスを確認したい場合は、 「ポッドを取得-oワイド」 スイッチを押すと、これらのポッドのIPの詳細もわかります。 したがって、206つのポッドとして.236と.XNUMXが実行されます。 NCache それらにデプロイされたサーバーイメージ。
すべてをルーティングするのに役立つキャッシュ検出サービスを作成します NCache 基盤となるポッドへの通信。これは、展開の一環としても議論されました。ここでは、すべてのクライアントからサーバーへの通信を管理するヘッドレスサービスがありました。 NCache また、これをこのキャッシュクラスターの管理オプションと監視オプションにも使用します。これは、Kubernetesクラスターの外部にもあります。
それでは、このキャッシュ検出サービスを作成する方法を見てみましょう。 今作成するために キャッシュ検出サービス、ここでもYAMLファイルが必要です。このファイルを使用する必要がある場合は、「Service」タイプで、「cacheserver」という名前を付けています。 あなたはどんな名前でも思いつくことができます。 SessionAffinityは「ClientIP」に設定する必要があります。 これは、Kubernetesクラスター外の管理および監視操作が常にポッドの8250つに固定されるようにするためです。 したがって、これは必須の手順であり、設定する必要があります。そうすれば、この名前付きサービスから基盤となるポッドへのマッピングが作成されます。 たとえば、サービス2ポッドからマッピングされたXNUMXポートがあり、私が選択したデプロイメントは次のとおりです。 NCache だからこれはすべてをカバーします NCache すでにデプロイしたポッド、次に8251、次にポート9800があります。したがって、最初の9800つのポートは管理および監視オプション用であり、ポートXNUMXはに接続するクライアントアプリケーション間のクライアント間通信用です。 NCache.
では、ウィザードを使用してこのYAMLをインポートし、その後、[追加]、[作成]の順に押すと、キャッシュ検出サービスが自動的に作成されます。 ご覧のとおり、「PODSELECTOR」は「ncache'。 だから、これは NCache ポッドとサービスからポートへのマッピングは、8250、8251、および9800がキャッシュ検出サービスとすべての間で正常にマッピングされていることを示しています。 NCache ポッド。 これで、ここでキャッシュ検出サービスの設定が完了しました。
次のステップは、次の管理および監視ゲートウェイを作成することです。 NCache 展開とそれにより、管理と監視が可能になります NCache このKubernetesクラスタの外部へのデプロイも同様に機能し、実行される管理操作はすべてこのゲートウェイを介してこのキャッシュ検出サービスにルーティングされ、基盤となるすべてのポッドの管理と監視にも役立ちます。
それでは、このゲートウェイをすばやく設定する方法を見てみましょう。 ここで、管理ゲートウェイを作成するには、「ネットワーク」の下に移動する必要があり、その中に「ルート」があります。
それで、私は先に進んで、このヘッドレスサービスへのルートを作成するつもりです。 したがって、クリックすると、任意の名前を付けることができ、それに基づいてサービスを選択するだけで済みます。この場合、前の手順で作成した「cacheserver」サービスを選択する必要があります。 ここにすべてのサービスが一覧表示され、管理と監視用のターゲットポートを提供する必要があります。
この時点で、8251を使用して[作成]をクリックします。これにより、作成、管理、および監視が可能になります。 NCache このKubernetesクラスタの外側でも、これはクリックするだけで自動的に開く場所です。 NCache 内のポッドのXNUMXつへのWeb管理アクセス NCache 展開すると、ご覧のとおり、.3.236IPが表示されます。
これらはいくつかの事前構成されたキャッシュであり、これが私のデプロイメント内から接続されたポッドのXNUMXつであることに気付いた場合。 そのため、基盤となるポッドに完全にアクセスして管理することができます。 ここで紹介したいのは、セッションアフィニティの側面です。これは必須の手順です。 これもまた、管理目的でポッドを開く場合は、スティッキーである必要があることを確認するためです。 管理コマンドは、そのポッドの権利に準拠している必要があります。 したがって、そのためには、この値を「ClientIP」に設定する必要があります。これは、設定する必要のある必須の手順のXNUMXつです。
これを経て、管理ポータルに戻ると、.236に接続していることがはっきりとわかります。ここから、あらゆる種類の管理および監視操作を実行できます。 NCache.
この時点で、OpenShift環境のセットアップは NCache が完了し、次に先に進んでキャッシュクラスターを作成できます。 さて、この管理ツール内で、[新規]をクリックすると、キャッシュ作成ウィザードが開きます。
キャッシュに名前を付けます。「democache」という名前を付けましょう。 ここではすべてをデフォルトのままにして、「レプリカのパーティション」を指定し、自動的に与えられる最初のIPを提供します。ここからコピーしてここに貼り付けることができるXNUMX番目のポッドのIPが必要です。次に、これをクリックして選択します。プラス(+)記号を指定すると、XNUMX番目のポッドが指定されます。 繰り返しますが、これはすべてデフォルトのままにします。 パラメータが同じで、「終了時にこのキャッシュを開始」して「終了」を選択すると、キャッシュクラスターが作成されます。 したがって、これらXNUMXつのポッドでは、 NCache Web管理ツールを使用すると、キャッシュクラスターを作成し、ここにある自分のボックスからWebマネージャーを使用できるようになります。 ここで詳細をクリックすると、監視の側面に関する詳細も表示され、このキャッシュクラスターの統計も表示されます。 したがって、ロードするとすぐに、さまざまなパラメータがあることがわかります。 完全に接続されている「クラスターヘルス」を確認できます。また、他のグラフもここで確認できます。
この時点ではクライアントが接続されていないため、クライアントプロセスやクラスターの状態に表示されるクライアントは表示されませんが、クライアントアプリケーションを展開して実行するとすぐに、実際にクライアントプロセスが表示されます。に接続します NCache ここの下だけでなく、反対側にも。 私たちの NCache キャッシュクラスターが作成され、使用できるようになります。
次のステップは、このキャッシュクラスターを使用するOpenShiftでクライアントアプリケーションをデプロイして実行することです。 繰り返しになりますが、クライアント展開用にYAMLファイルをロードします。ここに、「マルチクライアント」というラベルがあり、別の展開があります。
Dockerイメージがあります。 .NET Core このコンテナ内で実行されているJavaアプリケーションも同様です。 したがって、XNUMXつのコンテナーを使用してXNUMXつの異なるアプリケーションをホストしましたが、ここでも別々のコンテナーを使用できます。 ですから、同じプロジェクト内で、ここをクリックすると、 NCache 1つのポッドを使用し、[追加]をクリックしてクライアントデプロイメントYAMLをインポートすると、先に進んでこれを作成できます。これにより、クライアントアプリケーション用に別個のコンテナー、別個のデプロイメントが自動的に作成されます。 プロジェクトに戻ると、XNUMXつの異なるデプロイメントがあり、「マルチクライアント」とXNUMXつのポッドがあります。ncache'2つのポッドを使用します。 NCache サーバー側のセットアップ。
したがって、ポッドに移動すると、ステータスコンテナが作成され、このコマンドを再度実行すると、すべてのポッドとそのIPアドレスのリストが表示されます。 以前は236と206がありましたが、現在は47も追加されています。 これがクライアント展開ポッドであり、これがこのIDです。 さて、このポッドのこのデプロイメントで現在実行中のアプリケーションがあるかどうかをすばやく確認した場合、このコマンドを実際にすばやく実行すると、表示されるのは NCache サービスデーモン、このコンテナの「startup.sh」。 Alachisoft.NCache.Daemon.dllはで始まります NCache サービスプロセスと、Webマネージャープロセスがあること。
したがって、この時点ではこのコンテナ内からクライアントアプリケーションは実行されていません。これは、クライアントが接続されていない場合にもここから確認できることと同じです。 それでは、先に進んで、このクライアント内からJavaアプリケーションを実行してみましょう。 これを実行します。 「democache」というキャッシュの名前を実行しています。これは接続するための名前です。
ここでは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秒あたりの追加数が増えます。 フェッチ/秒も増加しました。
更新/秒が増えましたね。 したがって、すべての値は新しく追加された負荷で増加し、「クライアントダッシュボード」が表示されます。ここには、すべてのアクティビティを表示するクライアントがあります。
そう、 NCache 管理と監視は、クライアントの展開でも完全に正常に機能しています。ポートを開くだけで、 NCache サーバーとこれが同じレポートビューです。レポートにはサーバー側のカウンターがあり、クライアント展開ポッドからのクライアント側のカウンターがあります。
次にデモンストレーションするのは、「スケールアウト NCache OpenShiftPlatformの「キャッシュクラスター」。 これにより、リクエスト処理能力を向上させることができます NCache そしてそれも実行時に。
これを行う方法を確認しましょう。 ここで、容量を増やすために、このデプロイメントにポッドを追加します。 「Deployments」に行きます。
これを行うには複数の方法があります。 現在ご覧のとおり、2つのポッドがあります NCache。 したがって、これに別のインスタンスを追加するために、カウントを「編集」して3に増やし、次に「保存」するオプションがXNUMXつあります。これにより、自動的に作成されます。 だから、それは最も簡単なものです。
他のオプションは、デプロイを「編集」すると、YAMLファイルが提供され、最初に「2」に設定した「レプリカ」の数が増え、3に増やしてからリロードすると、自動的にデプロイされます。保存するだけで、先に進んで実行できます。
コマンドラインも使用できるので、今はこれを使用して[保存]を選択します。これで、所有しているDockerコンテナイメージを使用して別のポッドを作成できます。このコンテナの別のレプリカが表示されます。作成され、完全に実行されています。 OpenShift内では非常に高速であり、 'oc get pods' コマンド追加された別のIPアドレスが表示されるはずです。13.242です。 だから、私は既存のクライアントに展開しています NCache サーバーポッドの展開と、その展開内に242も追加しました。 つまり、OpenShift Podが使用可能になります。「管理」に戻って、Web Managerが使用可能であるため、キャッシュクラスターにも追加する必要があります。 したがって、そのIPアドレスをコピーして、[追加]を選択するだけで、そのIPを追加して、キャッシュに追加することを選択できます。 追加された後、「右クリック」して「開始」を選択すると、実行時にキャッシュクラスターに参加します。 クライアントアプリケーションを中断する必要はありません。実行中のキャッシュを停止する必要はまったくありません。 つまり、実行中のキャッシュクラスターがこのノードに参加し、アプリケーションがまだ実行されているため、すでにアクティビティが表示され始めているので、アクティブなバックアップを作成しました。 NCache クラスタと242はキャッシュクラスタに完全に参加しており、リクエスト処理に参加しています。
そのため、OpenShiftでキャッシュをホストするサーバーが3台ではなく2台になったことで、リクエスト処理能力が向上しました。完全に接続されています。 リクエスト/秒を見ることができます。242はすべての操作に参加しており、完全なアクティビティを示しています。「クライアントプロセス」に戻ると、これらも242に接続されています。これも、検出にヘッドレスサービスを使用しているためです。
したがって、そのデプロイメント内に追加するものが何であれ、そのサービスは一致することになり、そのためのルートがわかります。 したがって、これらすべてのサーバーが完全に参加し、完全に正常に機能しています。 つまり、OpenShift Platformでキャッシュクラスターをスケールアウトするのは簡単です。RedHatを使用すると、サポートが提供されるため、利用できます。 NCache その一環として。
これでビデオは終わりです。 デプロイ方法のデモンストレーションに成功しました NCache RedHatOpenShiftプラットフォームでの使用方法と使いやすさ NCache Java内から .NET Core アプリケーション。 また、どの程度効果的に管理および監視できるかについても確認しました。 NCache OpenShiftでのデプロイメント。 これがお役に立てば幸いです。 フィードバックや質問を私たちと共有してください Alachisoft サポート support@alachisoft.com。 ありがとうございました!