• Products
  • Solutions
  • Customers
  • Resources
  • Company
  • Pricing
  • Download
Try Playground
  • Deploy Client Applications in Openshift
Show / Hide Table of Contents
  • Deploying NCache in Red Hat OpenShift
  • Create New Project in OpenShift
  • Create NCache Deployment in OpenShift
  • Create Cache Discovery Service in OpenShift
  • Create Management Gateway in OpenShift
  • Create NCache Cluster in OpenShift
  • Deploy Client Applications in Openshift
  • Monitor NCache Cluster and Clients in OpenShift
  • Adding Cache Servers at Runtime in OpenShift
  • Removing Cache Severs at Runtime in OpenShift

Deploy Client Applications in Openshift

After successful server side deployment, you need to deploy the client application with NCache within the Openshift Kubernetes cluster.

Connect Client to NCache

In order to connect the client application to your cache cluster use either of the two methods:

Method 1:

Connect to the cache using the GetCache method. Please refer Connect to Cache to see how a client can connect to cache.

Method 2:

You can connect to cache by adding the name of the Cache Discovery Service (headless service) which was created beforehand in the client.ncconf of your client.

Under the cache configuration for demoClusteredCache, add the name of the service cacheserver in the <server name> tag.

<cache id="democlusteredcache" ...">
    <server name="cacheserver"/>

Use NCache Client Dockerfile

Use your NCache client dockerfile containing the commands to create a container image by using runtime .NET or runtime SDK. This allows using both InProc and OutProc caches.

In order to create the dockerfile:

  • Get the dockerfile provided by NCache.
Note

In case of .NET SDK, you need to change the base image tag as shown below and this will allow access to runtime and other packages like PowerShell tool.

FROM mcr.microsoft.com/dotnet/core/sdk
  • In the Resources folder placed with the other files downloaded from NCache docker repository, place your client application.

  • Go to startup.sh in the Resources folder.

  • Replace sleep infinity with the your client application's path and save the startup.sh file.

In order to follow the alternative method, follow the steps below:

  • Add the path to your application in the COPY command in the dockerfile.
COPY [application-path]
  • In the startup.sh file, replace the sleep infinity tag with your application's path and save the file.
# Setting base image for dotnet
FROM mcr.microsoft.com/dotnet/core/sdk:3.0
Tip

Add the client application path in the ENTRYPOINT section of the dockerfile to not use startup.sh altogether.

Once the client dockerfile is edited, execute the following commands to convert your client application's dockerfile to a container image and upload it.

Note

Make sure that docker is installed on your machine to create the client docker image.

docker build . -t [image tag]
docker push [repository]:[image tag]

In your dockerfile, it is recommended to use the .NET SDK for the added benefit of coming packed with the PowerShell tool.

Execute the following command on you command line tool to access PowerShell tool inside your Kubernetes cluster.

oc exec client-pod-name -- pwsh -NoExit

After successful execution, import NCache PowerShell Module using the following command:

Import-Module /opt/ncache/bin/tools/ncacheps

You can now execute PowerShell commands on any pods inside the Kubernetes cluster. In order to get a complete list of NCache PowerShell tools please refer to NCache PowerShell Reference.

Embed NCache Client Libraries

For applications with no NCache installation, you can use Nuget packages to deploy NCache client in your Kubernetes cluster.

Install Nuget packages from NCache Nuget Packages by following the steps mentioned in Install Nuget in Microsoft Visual Studio. After successful installation, create image of your client application.

For your client application deployment in OpenShift, create a YAML file. Here is a sample client.yaml file:

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: client
  labels:
    app: client
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: client
    spec:
      imagePullSecrets:
      - name: ncache-private
      containers:
      - name: client
        image: your-client-application-repo-path
        ports:
        - name: management-tcp
          containerPort: 8250
        - name: management-http
          containerPort: 8251
        - name: client-port
          containerPort: 9800

Import the YAML file using either OpenShift web portal or command line tool. In order to check the client container status use the following command:

oc get pods -o wide

The next chapter explains monitoring of the cache cluster and clients after deploying the client applications.

See Also

Create New Project in Openshift
Create Cache Discovery Service in Openshift
How to Connect to Cache
Create NCache Cluster in Openshift

In This Article
  • Connect Client to NCache
  • Use NCache Client Dockerfile
  • Embed NCache Client Libraries
  • See Also

Contact Us

PHONE

+1 (214) 764-6933   (US)

+44 20 7993 8327   (UK)

 
EMAIL

sales@alachisoft.com

support@alachisoft.com

NCache
  • NCache Enterprise
  • NCache Professional
  • Edition Comparison
  • NCache Architecture
  • Benchmarks
Download
Pricing
Try Playground

Deployments
  • Cloud (SaaS & Software)
  • On-Premises
  • Kubernetes
  • Docker
Technical Use Cases
  • ASP.NET Sessions
  • ASP.NET Core Sessions
  • Pub/Sub Messaging
  • Real-Time ASP.NET SignalR
  • Internet of Things (IoT)
  • NoSQL Database
  • Stream Processing
  • Microservices
Resources
  • Magazine Articles
  • Third-Party Articles
  • Articles
  • Videos
  • Whitepapers
  • Shows
  • Talks
  • Blogs
  • Docs
Customer Case Studies
  • Testimonials
  • Customers
Support
  • Schedule a Demo
  • Forum (Google Groups)
  • Tips
Company
  • Leadership
  • Partners
  • News
  • Events
  • Careers
Contact Us

  • EnglishChinese (Simplified)FrenchGermanItalianJapaneseKoreanPortugueseSpanish

  • Contact Us
  •  
  • Sitemap
  •  
  • Terms of Use
  •  
  • Privacy Policy
© Copyright Alachisoft 2002 - 2025. All rights reserved. NCache is a registered trademark of Diyatech Corp.
Back to top