Rechercher

Ce contenu n'est pas disponible dans la langue sélectionnée.

Chapter 4. Using Helm charts to build and deploy JBoss EAP applications on OpenShift

download PDF

Helm is an open-source package manager that enables you to build, deploy, and maintain your JBoss EAP applications on OpenShift. In JBoss EAP 8.0, Helm charts replace the OpenShift templates.

4.1. Helm chart use case

You can use Helm charts with JBoss EAP 8.0 to:

  • Build your application from a Maven project hosted on a Git repository using OpenShift Source-to-Image (S2I).
  • Deploy an application image on OpenShift with deep integration with the OpenShift cluster (TLS configuration, public route to expose the application, and so on).
  • Build your application image with Helm chart and use the JBoss EAP operator to deploy the image.
  • Build an application image for JBoss EAP using other methods and use the Helm chart to deploy the application image.

4.2. Helm chart customization for JBoss EAP on OpenShift

You can customize Helm chart for your JBoss EAP application by modifying the YAML file that contains specific settings for your application.

In the YAML file, there are two main sections:

  • The build configuration.
  • The deploy configuration.

By selecting configure via YAML view, You can edit the Values files file directly on your OpenShift Development Console to upgrade your Helm release with an updated configuration.

4.3. Provisioning JBoss EAP with S2I

Use the eap-maven-plugin from the application pom.xml to provision your JBoss EAP server.

Note

The build.s2i.featurePacks, build.s2i.galleonLayers and build.s2i.channels fields have been deprecated.

4.4. Building and deploying JBoss EAP applications using Helm charts

You can build your JBoss EAP application using Helms chart by configuring the build and deploy values. You must provide a URL to the Git repository that hosts your application code in your build configuration, the output is an ImageStreamTag resource that contains the built application image.

To deploy your application, you must provide an ImageStreamTag resource that contains your built application image. The output is your deployed application and other related resources you can use to access your application from inside and outside OpenShift.

Prerequisites

  • You have logged into the OpenShift Development Console.
  • You have JBoss EAP application hosted in a Git repository.
  • Your application is a Maven project
  • You have configured your application to use the org.jboss.eap.plugins:eap-maven-plugin to provision your JBoss EAP 8.0 server.

Procedure

  1. Build your application image from the source repository:

    build:
      uri: <git repository URL of your application>
  2. Optional: Enter the secret in the build section:

    build:
      sourceSecret: <name of secret login to your Git repository>

Verification

  • If your application has been successfully deployed, you should see a deployed badge next to the Helm release on OpenShift Development Console.

4.5. Building your application image using the OpenShift Development Console

You can build your JBoss EAP application image using Helm chart by configuring the build section on the OpenShift Development Console.

Note

If the application image has been built by another mechanism, you can skip the building part of the Helm chart by setting the build.enabled field to false.

Important

You must specify the build.url field with the Git URL that references your Git repository.

4.6. Deploying your application image

You can deploy your JBoss EAP application using Helm chart by configuring the deploy setting on the OpenShift Development Console.

Note

If you built your application image using another mechanism, you can skip the deployment configuration of the Helm chart by setting the build.deploy field to false.

4.6.1. OpenShift volumes for persistent data storage in Helm chart

OpenShift volumes enable containers to store and share data from various sources, including cloud storage, network file systems (NFS), or host machines. You can use Helm chart, an OpenShift package manager, to deploy applications in a consistent and reproducible manner. By adding a volume mount to a Helm chart, you can enable your application to persist data across deployments.

4.6.2. Mounting a volume with a Helm chart

This procedure explains how to mount a secret as a volume using a Helm chart on JBoss EAP 8.0. Additionally, you can also use it to mount a ConfigMap. This action enables the application to securely access and use the data, protecting it from unauthorized access or tampering.

For example, by mounting a secret as a volume, the sensitive data that you store in the secret appear as a file in the POD running the deployment where the secret has been mounted.

Prerequisites

  • You have created a secret. For example, you have created a secret named eap-app-secret that refers to a file like keystore.jks.
  • You have identified a location where to mount the secret in the container’s file system. For example, the directory /etc/jgroups-encrypt-secre-secret-volume is where the secret file, such as keystore.jks is mounted.

Procedure

  1. Specify a volume in the deploy.volumes field and configure the secret to be used. You must provide the name of the volume and the secretName of the secret:

    volumes:
      - name: eap-jgroups-keystore-volume
        secret:
          secretName: eap-app-secret
  2. Mount the volume on the file system using the deploy.volumeMounts in the deployment configuration:

    volumeMounts:
      - name: eap-jgroups-keystore-volume
        mountPath: /etc/jgroups-encrypt-secret-volume
        readOnly: true

When the pod starts, the container mounts the keystore.jks file at /etc/jgroups-encrypt-secret-volume/keystore.jks location.

Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.