Share via


Inicio rápido: Implementación de JBoss EAP en Azure Red Hat OpenShift usando Azure Portal

En este artículo se muestra cómo implementar rápidamente JBoss EAP en Red Hat OpenShift en Azure (ARO) mediante Azure Portal.

En este artículo se usa la oferta de Azure Marketplace para JBoss EAP con el fin de acelerar el uso de ARO. La oferta aprovisiona automáticamente recursos, incluido un clúster de ARO con OpenShift Container Registry (OCR), el operador de JBoss EAP y, opcionalmente, una imagen de contenedor, incluido JBoss EAP y la aplicación mediante Source-to-Image (S2I). Para ver la oferta, visite el Azure Portal. Si prefiere una guía paso a paso manual para ejecutar JBoss EAP en ARO que no usa la automatización habilitada por la oferta, consulte Implementación de una aplicación Java con Red Hat JBoss Enterprise Application Platform (JBoss EAP) en un clúster de Red Hat OpenShift en Azure 4.

Requisitos previos

sudo apt update
sudo apt install mysql-server

Nota:

También puede ejecutar esta guía desde Azure Cloud Shell. Este enfoque tiene todas las herramientas de requisitos previos preinstaladas.

Nota:

Red Hat OpenShift en Azure requiere 40 núcleos como mínimo para crear y ejecutar un clúster de OpenShift. La cuota predeterminada de recursos de Azure para una suscripción nueva de Azure no cumple este requisito. Para solicitar un aumento del límite de recursos, consulte Cuota estándar: Aumento de los límites por serie de máquinas virtuales. Tenga en cuenta que la suscripción de evaluación gratuita no es válida para un aumento de cuota, por lo que debe actualizar a una suscripción de pago por uso antes de solicitar ese aumento.

Obtención de un secreto de extracción de Red Hat

La oferta de Azure Marketplace que se usa en este artículo requiere un secreto de extracción de Red Hat. En esta sección se muestra cómo obtener un secreto de extracción de Red Hat para Red Hat OpenShift en Azure. Para obtener información sobre lo que es un secreto de extracción de Red Hat y por qué lo necesita, consulte la sección Obtención de un secreto de extracción de Red Hat en Tutorial: Creación de un clúster de Red Hat OpenShift en Azure 4.

Siga estos pasos para obtener el secreto de la extracción.

  1. Abra la consola de nube híbrida de Red Hat OpenShift y, a continuación, use la cuenta de Red Hat para iniciar sesión en el portal de administrador de clústeres de OpenShift. Es posible que tenga que aceptar más términos y actualizar la cuenta, como se muestra en la captura de pantalla siguiente. Use la misma contraseña que al crear la cuenta.

    Captura de pantalla de la página Actualizar su cuenta de Red Hat.

  2. Después de iniciar sesión, seleccione OpenShift y, a continuación, Descargas.

  3. Seleccione la lista desplegable Todas las categorías y, después, seleccione Tokens.

  4. En secreto de extracción, seleccione Copiar o Descargar para obtener el valor, como se muestra en la captura de pantalla siguiente.

    Captura de pantalla del portal de consola de Red Hat que muestra el secreto de extracción.

    El siguiente contenido es un ejemplo que se copió desde el portal de la consola de Red Hat, con los códigos de autenticación reemplazados por xxxx...xxx.

    {"auths":{"cloud.openshift.com":{"auth":"xxxx...xxx","email":"contoso-user@contoso.com"},"quay.io":{"auth":"xxx...xxx","email":"contoso-user@test.com"},"registry.connect.redhat.com":{"auth":"xxxx...xxx","email":"contoso-user@contoso.com"},"registry.redhat.io":{"auth":"xxxx...xxx","email":"contoso-user@contoso.com"}}}
    
  5. Guarde el secreto en un archivo para que pueda usarlo más adelante.

Crear una entidad de servicio de Microsoft Entra desde Azure Portal

La oferta de Azure Marketplace que se usa en este artículo requiere una entidad de servicio de Microsoft Entra para implementar el clúster de Red Hat OpenShift de Azure. La oferta asigna la entidad de servicio con privilegios adecuados durante el tiempo de implementación, sin necesidad de asignación de roles. Si tiene una entidad de servicio lista para su uso, omita esta sección y vaya a la siguiente, donde creará una cuenta de servicio de Red Hat Container Registry.

Siga estos pasos para implementar una entidad de servicio y obtener su identificador de aplicación (cliente) y el secreto de Azure Portal. Para más información, consulte Creación y uso de una entidad de servicio para implementar un clúster de Red Hat OpenShift en Azure.

Nota:

Debe tener suficientes permisos para registrar una aplicación con el inquilino de Microsoft Entra. Si experimenta un problema, compruebe los permisos necesarios para asegurarse de que su cuenta puede crear la identidad. Para más información, consulte la sección permisos necesarios para registrarse en una aplicación de Uso del portal para crear una aplicación de Microsoft Entra y una entidad de servicio con acceso a los recursos.

  1. Inicie sesión en su cuenta de Azure mediante Azure Portal.

  2. Seleccione Microsoft Entra ID.

  3. Seleccione App registrations (Registros de aplicaciones).

  4. Seleccione Nuevo registro.

  5. Asigna un nombre a la aplicación: por ejemplo, jboss-eap-on-aro-app. Seleccione un tipo de cuenta compatible, que determinará quién puede usar la aplicación. Después de configurar los valores, seleccione Registro, tal como se muestra en la siguiente captura de pantalla. La aplicación tarda varios segundos en aprovisionarla. Espere a que la implementación finalice antes de continuar.

    Captura de pantalla de Azure Portal en la que se muestra la página Registrar una aplicación.

  6. Guarde el identificador de aplicación (cliente) en la página de información general, como se muestra en la captura de pantalla siguiente. Mantenga el puntero sobre el valor, que se redacta en la captura de pantalla y seleccione el icono de copia que aparece. La información sobre herramientas indica Copiar en el Portapapeles. Tenga cuidado de copiar el valor correcto, ya que los demás valores de esa sección también tienen iconos de copia. Guarde el id. de la aplicación en un archivo para que pueda usarlo más adelante.

    Captura de pantalla de Azure Portal en la que se muestra el identificador de cliente de la entidad de servicio.

  7. Cree un nuevo secreto de cliente siguiendo estos pasos:

    1. Seleccione Certificados y secretos.
    2. Seleccione Secretos de cliente y, a continuación, Nuevo secreto de cliente.
    3. Proporcione una descripción y duración del secreto. Cuando finalice, seleccione Agregar.
    4. Después de haber agregado el secreto de cliente, se muestra el valor del mismo. Copie su valor porque no se puede recuperar más adelante. Asegúrese de copiar el valor y no el identificador del secreto.

Ha creado la aplicación Microsoft Entra, la entidad de servicio y el secreto de cliente.

Creación de una cuenta de servicio de Red Hat Container Registry

Más adelante, en este artículo se muestra cómo implementar manualmente una aplicación en OpenShift mediante Source-to-Image (S2I). Se necesita una cuenta de servicio de Red Hat Container Registry para extraer la imagen de contenedor de JBoss EAP en la que ejecutar la aplicación. Si tiene una cuenta de servicio de Red Hat Container Registry lista para su uso, omita esta sección y vaya a la siguiente, donde implementará la oferta.

Siga estos pasos para crear una cuenta de servicio de Red Hat Container Registry y obtener su nombre de usuario y contraseña. Para obtener más información, consulte Creación de cuentas de servicio del Registro en la documentación de Red Hat.

  1. Use su cuenta de Red Hat para iniciar sesión en la aplicación de administración de cuentas de servicio del Registro.
  2. En la página cuentas de servicio del Registro, seleccione Nueva cuenta de servicio.
  3. Proporcione un nombre para la configuración de la cuenta de servicio. El nombre se antepone con una cadena aleatoria fija.
    • Escriba una descripción.
    • Seleccione Crear.
  4. Vuelva a sus cuentas de servicio.
  5. Seleccione la cuenta de servicio que ha creado.
    • Anote el nombre de usuario, incluida la cadena antepuesto (es decir, XXXXXXX|username). Use este nombre de usuario al iniciar sesión en registry.redhat.io.
    • Anote la nueva contraseña. Use esta contraseña para iniciar sesión en registry.redhat.io.

Ha creado su cuenta de servicio de Red Hat Container Registry.

Implementación de JBoss EAP en Red Hat OpenShift en Azure

Los pasos de esta sección le dirigen a implementar JBoss EAP en Red Hat OpenShift en Azure.

En los pasos siguientes se muestra cómo encontrar la oferta y rellenar el panel Aspectos básicos.

  1. En la barra de búsqueda de la parte superior de Azure Portal, escriba JBoss EAP. En los resultados de la búsqueda, en la sección Marketplace, seleccione JBoss EAP en Red Hat OpenShift en Azure, como se muestra en la captura de pantalla siguiente.

    Captura de pantalla de Azure Portal que muestra JBoss EAP en Red Hat OpenShift en Azure en los resultados de búsqueda.

    También puede ir directamente a la oferta JBoss EAP en Red Hat OpenShift en Azure en el Azure Portal.

  2. En la página de la oferta, seleccione Crear.

  3. En el panel Aspectos básicos, asegúrese de que el valor que se muestra en el campo Suscripción es el mismo que tiene los roles enumerados en la sección requisitos previos.

  4. Debe implementar la oferta en un grupo de recursos vacío. En el campo Grupo de recursos, seleccione Crear nuevo y complete un valor para el grupo de recursos. Dado que los grupos de recursos deben ser únicos dentro de una suscripción, elija un nombre único. Una manera fácil de tener nombres únicos es usar una combinación de sus iniciales, la fecha de hoy y algún identificador. Por ejemplo, eaparo033123rg.

  5. En Detalles de la instancia, seleccione la región para la implementación. Para obtener una lista de las regiones de Azure en las que opera OpenShift, consulte regiones para Red Hat OpenShift 4.x en Azure.

  6. Seleccione Siguiente: ARO.

Los pasos siguientes muestran cómo rellenar el panel de ARO que se muestra en la captura de pantalla siguiente:

Captura de pantalla de Azure Portal que muestra JBoss EAP en el panel ARO de Red Hat OpenShift en Azure.

  1. En Crear un nuevo clúster, seleccione .

  2. En Proporcione información para crear un nuevo clúster, para secreto de extracción de Red Hat, rellene el secreto de extracción de Red Hat que obtuvo en la sección Obtener un secreto de extracción de Red Hat. Use el mismo valor para Confirmar secreto.

  3. Rellene el id. de cliente de la entidad de servicio con el identificador de aplicación de entidad de servicio (cliente) que obtuvo en la sección Creación de una entidad de servicio de Microsoft Entra desde Azure Portal.

  4. Rellene el secreto de cliente de la entidad de servicio con el secreto de aplicación de entidad de servicio que obtuvo en la sección Creación de una entidad de servicio de Microsoft Entra desde Azure Portal. Use el mismo valor para Confirmar secreto.

  5. Seleccione Siguiente aplicación de EAP.

Los pasos siguientes muestran cómo rellenar el panel de aplicación de EAP que se muestra en la captura de pantalla siguiente y, después, inicie la implementación.

Captura de pantalla de Azure Portal que muestra JBoss EAP en el panel Aplicación EAP de Red Hat OpenShift en Azure.

  1. Deje la opción predeterminada de No en ¿Implementar una aplicación en OpenShift usando origen a imagen (S2I)?.

    Nota:

    Más adelante, en este inicio rápido se muestra cómo implementar manualmente una aplicación con una conexión de base de datos.

  2. Seleccione Siguiente: Review + create (Revisar y crear).

  3. Seleccione Revisar + crear. Asegúrese de que aparezca el mensaje verde Validación superada en la parte superior. Si el mensaje no aparece, corrija los problemas de validación y, a continuación, seleccione Revisar y crear de nuevo.

  4. Seleccione Crear.

  5. Realice un seguimiento del progreso de la implementación en la página Implementación en curso.

En función de las condiciones de red y de otra actividad de la región seleccionada, la implementación puede tardar hasta 35 minutos en completarse.

Mientras espera, puede configurar la base de datos.

Configuración de Azure Database for MySQL: servidor flexible

En las secciones siguientes se muestra cómo configurar Azure Database for MySQL: servidor flexible.

Establecimiento de variables de entorno en el shell de línea de comandos

La muestra es una aplicación de Java respaldada por una base de datos MySQL y se implementa en el clúster de OpenShift mediante origen a imagen (S2I). Para más información sobre S2I, consulte la documentación de S2I.

Abra un Shell y establezca las siguientes variables de entorno. Reemplace las sustituciones según corresponda.

RG_NAME=<resource-group-name>
SERVER_NAME=<database-server-name>
DB_DATABASE_NAME=testdb
ADMIN_USERNAME=myadmin
ADMIN_PASSWORD=Secret123456
DB_USERNAME=testuser
DB_PASSWORD=Secret123456
PROJECT_NAME=eaparo-sample
CON_REG_SECRET_NAME=eaparo-sample-pull-secret
CON_REG_ACC_USER_NAME="<red-hat-container-registry-service-account-username>"
CON_REG_ACC_PWD="<red-hat-container-registry-service-account-password>"
APPLICATION_NAME=javaee-cafe
APP_REPLICAS=3

Reemplace los marcadores de posición por los valores siguientes, que se usan a lo largo del resto de este artículo:

  • <resource-group-name>: el nombre del grupo de recursos que creó anteriormente, por ejemplo, eaparo033123rg.
  • <database-server-name>: el nombre del servidor de MySQL, que debe ser único en Azure, por ejemplo, eaparo033123mysql.
  • ADMIN_PASSWORD: la contraseña del administrador del servidor de base de datos MySQL. Este artículo se ha probado con la contraseña que se muestra. Consulte la documentación de la base de datos para conocer las reglas de contraseña.
  • <red-hat-container-registry-service-account-username> y <red-hat-container-registry-service-account-password>: el nombre de usuario y la contraseña de la cuenta de servicio de Red Hat Container Registry que creó antes.

Es recomendable guardar los pares de nombre y valor completos en un archivo de texto, en caso de que el shell se cierre antes de que haya terminado de ejecutar los comandos. De este modo, puede pegarlos en una nueva instancia del shell y continuar fácilmente.

Estos pares nombre-valor son esencialmente "secretos". Para obtener una manera lista para producción de proteger Red Hat OpenShift en Azure, incluida la administración de secretos, consulte Seguridad para el acelerador de zonas de aterrizaje de Red Hat OpenShift en Azure.

Creación e inicialización de la base de datos

A continuación, siga estos pasos para crear un servidor flexible de Azure Database for MySQL y crear un usuario con permisos para leer o escribir desde o en la base de datos específica.

  1. Use el siguiente comando para crear un servidor flexible de Azure Database for MySQL:

    az mysql flexible-server create \
        --resource-group ${RG_NAME} \
        --name ${SERVER_NAME} \
        --database-name ${DB_DATABASE_NAME} \
        --public-access 0.0.0.0  \
        --admin-user ${ADMIN_USERNAME} \
        --admin-password ${ADMIN_PASSWORD} \
        --yes
    

    Este comando puede tardar unos diez o más minutos en completarse. Cuando el comando se haya completado correctamente, verá una salida similar a la del ejemplo siguiente:

    {
      "connectionString": "mysql testdb --host ejb010406adb.mysql.database.azure.com --user myadmin --password=Secret#123345",
      "databaseName": "testdb",
      "firewallName": "AllowAllAzureServicesAndResourcesWithinAzureIps_2023-4-6_21-21-3",
      "host": "ejb010406adb.mysql.database.azure.com",
      "id": "/subscriptions/redacted/resourceGroups/ejb010406a/providers/Microsoft.DBforMySQL/flexibleServers/ejb010406adb",
      "location": "East US",
      "password": "Secret#123345",
      "resourceGroup": "ejb010406a",
      "skuname": "Standard_B1ms",
      "username": "myadmin",
      "version": "5.7"
    }
    
  2. Use los siguientes comandos para obtener el host del servidor MySQL creado:

    DB_HOST=$(az mysql flexible-server show \
        --resource-group ${RG_NAME} \
        --name ${SERVER_NAME} \
        --query "fullyQualifiedDomainName" \
        --output tsv)
    echo $DB_HOST
    

    Guarde el par nombre-valor en el archivo de texto.

  3. Use el comando siguiente para crear una regla de firewall temporal para permitir la conexión al servidor MySQL desde la red pública de Internet:

    az mysql flexible-server firewall-rule create \
        --resource-group ${RG_NAME} \
        --name ${SERVER_NAME} \
        --rule-name "AllowAllIPs" \
        --start-ip-address 0.0.0.0 \
        --end-ip-address 255.255.255.255
    
  4. Use el siguiente comando para crear un nuevo usuario de base de datos con permisos para leer y escribir la base de datos específica. Este comando es útil para enviar SQL directamente a la base de datos.

    mysql --host ${DB_HOST} --user ${ADMIN_USERNAME} --password=${ADMIN_PASSWORD} << EOF
    CREATE USER '${DB_USERNAME}'@'%' IDENTIFIED BY '${DB_PASSWORD}';
    GRANT ALL PRIVILEGES ON ${DB_DATABASE_NAME} . * TO '${DB_USERNAME}'@'%';
    FLUSH PRIVILEGES;
    EOF
    
  5. Use el siguiente comando para eliminar la regla de firewall temporalmente:

    az mysql flexible-server firewall-rule delete \
        --resource-group ${RG_NAME} \
        --name ${SERVER_NAME}  \
        --rule-name "AllowAllIPs" \
        --yes
    

Ahora tiene un servidor de bases de datos MySQL en ejecución y listo para conectarse a la aplicación.

Comprobación de la funcionalidad de la implementación

Los pasos de esta sección muestran cómo comprobar que la implementación se completa correctamente.

Si ha navegado lejos de la página La implementación está en curso, los pasos siguientes le muestran cómo volver a esa página. Si todavía está en la página que muestra La implementación se ha completado, puede ir directamente al paso 5.

  1. En la esquina de cualquier página de Azure Portal, seleccione el menú hamburguesa y seleccione Grupos de recursos.

  2. En el cuadro con el texto Filtrar para cualquier campo, escriba los primeros caracteres del grupo de recursos que creó anteriormente. Si ha seguido la convención recomendada, escriba sus iniciales y, a continuación, seleccione el grupo de recursos adecuado.

  3. En el panel de navegación, en la sección Configuración, seleccione Implementaciones. Verá una lista ordenada de las implementaciones en este grupo de recursos, con la más reciente primero.

  4. Desplácese hasta la entrada más antigua de esta lista. Esta entrada corresponde a la implementación que inició en la sección anterior. Seleccione la implementación más antigua, como se muestra en la captura de pantalla siguiente.

    Captura de pantalla de Azure Portal que muestra JBoss EAP en implementaciones de Red Hat OpenShift en Azure con la implementación más antigua resaltada.

  5. En el panel de navegación, seleccione Salidas. En esta lista se muestran los valores de salida de la implementación, que incluye información útil.

  6. Abra el shell, pegue el valor del campo cmdToGetKubeadminCredentials y ejecútelo. Verá la cuenta de administrador y las credenciales para iniciar sesión en el portal de la consola del clúster de OpenShift. El ejemplo siguiente muestra una cuenta de administrador:

    az aro list-credentials --resource-group eaparo033123rg --name clusterf9e8b9
    

    Esto genera una salida similar a la del siguiente ejemplo:

    {
      "kubeadminPassword": "xxxxx-xxxxx-xxxxx-xxxxx",
      "kubeadminUsername": "kubeadmin"
    }
    
  7. Pegue el valor del campo consoleUrl en un explorador web conectado a Internet y presione Entrar. Rellene el nombre de usuario y la contraseña del administrador y, a continuación, seleccione Iniciar sesión. En la consola de administración de Red Hat OpenShift en Azure, seleccione Operadores>Operadores instalados, donde puede encontrar que el operador de JBoss EAP está instalado correctamente, como se muestra en la captura de pantalla siguiente.

    Captura de pantalla del portal de consola del clúster de Red Hat OpenShift que muestra la página Operadores instalados.

A continuación, siga estos pasos para conectarse al clúster de OpenShift mediante la CLI de OpenShift:

  1. En el shell, use los comandos siguientes para descargar la CLI más reciente de OpenShift 4 para GNU/Linux. Si se ejecuta en un sistema operativo distinto de GNU/Linux, descargue el binario adecuado para ese sistema operativo.

    cd ~
    wget https://mirror.openshift.com/pub/openshift-v4/clients/ocp/latest/openshift-client-linux.tar.gz
    
    mkdir openshift
    tar -zxvf openshift-client-linux.tar.gz -C openshift
    echo 'export PATH=$PATH:~/openshift' >> ~/.bashrc && source ~/.bashrc
    
  2. Pegue el valor del campo cmdToLoginWithKubeadmin en el shell y ejecútelo. Debería ver el mensaje login successful y el proyecto que está usando. El contenido siguiente es un ejemplo del comando para conectarse al clúster de OpenShift mediante la CLI de OpenShift.

    oc login \
        $(az aro show \
            --resource-group ${RG_NAME} \
            --name aro-cluster \
            --query apiserverProfile.url \
            --output tsv) \
        -u $(az aro list-credentials \
            --resource-group ${RG_NAME} \
            --name aro-cluster \
            --query kubeadminUsername \
            --output tsv) \
        -p $(az aro list-credentials \
            --resource-group ${RG_NAME} \
            --name aro-cluster \
            --query kubeadminPassword \
            --output tsv)
    

    Esto genera una salida similar a la del siguiente ejemplo:

    Login successful.
    
    You have access to 68 projects, the list has been suppressed. You can list all projects with 'oc projects'
    
    Using project "default".
    

Implementación de una aplicación de JBoss EAP en el clúster de OpenShift

Los pasos de esta sección muestran cómo implementar una aplicación en el clúster.

Implementación de la aplicación al clúster

Siga estos pasos para implementar la aplicación al clúster. La aplicación se hospeda en el repositorio de GitHub rhel-jboss-templates/eap-coffee-app.

  1. En el shell, ejecute los siguientes comandos. Los comandos crean un proyecto, aplican un permiso para permitir que S2I funcione, imagen del secreto de extracción y vinculen el secreto a las cuentas de servicio relativas del proyecto para habilitar la extracción de imágenes. Ignore la advertencia de Git sobre el estado "'desasociado HEAD'".

    git clone https://github.com/Azure/rhel-jboss-templates.git
    cd rhel-jboss-templates
    git checkout 20230615
    cd ..
    oc new-project ${PROJECT_NAME}
    oc adm policy add-scc-to-user privileged -z default --namespace ${PROJECT_NAME}
    w0=-w0
    if [[ $OSTYPE == 'darwin'* ]]; then
      w0=
    fi
    
    CON_REG_ACC_USER_NAME_BASE64=$(echo ${CON_REG_ACC_USER_NAME} | base64 $w0)
    CON_REG_ACC_PWD_BASE64=$(echo ${CON_REG_ACC_PWD} | base64 $w0)
    

    Dado que en la sección siguiente se usa el formato HEREDOC, es mejor incluirlo y ejecutarlo en su propio fragmento de código.

    
    cat <<EOF | oc apply -f -
    apiVersion: v1
    kind: Secret
    metadata:
      name: ${CON_REG_SECRET_NAME}
    type: Opaque
    data:
      username: ${CON_REG_ACC_USER_NAME_BASE64}
      password: ${CON_REG_ACC_PWD_BASE64}
    stringData:
      hostname: registry.redhat.io
    EOF
    

    Debe ver secret/eaparo-sample-pull-secret created para indicar la creación correcta del secreto. Si no ve esta salida, solucione el problema antes de continuar. Por último, vincule el secreto a la cuenta de servicio predeterminada para descargar imágenes de contenedor para que el clúster pueda realizar la ejecución.

    oc secrets link default ${CON_REG_SECRET_NAME} --for=pull
    oc secrets link builder ${CON_REG_SECRET_NAME} --for=pull
    
  2. Use los comandos siguientes para extraer la trasmisión de imagen jboss-eap74-openjdk11-openshift. A continuación, inicie el proceso de origen a la imagen y espere hasta que se complete.

    oc apply -f https://raw.githubusercontent.com/jboss-container-images/jboss-eap-openshift-templates/eap74/eap74-openjdk11-image-stream.json
    oc new-build --name=${APPLICATION_NAME} --binary --image-stream=jboss-eap74-openjdk11-openshift:7.4.0 -e CUSTOM_INSTALL_DIRECTORIES=extensions
    oc start-build ${APPLICATION_NAME} --from-dir=rhel-jboss-templates/eap-coffee-app --follow
    

La salida correcta debe finaliza de modo parecido al ejemplo siguiente:

Writing manifest to image destination
Storing signatures
Successfully pushed image-registry.openshift-image-registry.svc:5000/eaparo-sample/javaee-cafe@sha256:754587c33c03bf42ba4f3ce5a11526bbfc82aea94961ce1179a415c2bfa73449
Push successful

Si no ve una salida similar, solucione el problema antes de continuar.

Creación de un secreto para la contraseña de la base de datos

A continuación, use los siguientes pasos para crear un secreto:

  1. Use el siguiente comando para crear un secreto para contener la contraseña de la base de datos:

    oc create secret generic db-secret --from-literal=password=${DB_PASSWORD}
    
  2. Use los siguientes comandos para implementar y ejecutar tres réplicas de la aplicación en contenedor en el clúster:

    cat <<EOF | oc apply -f -
    apiVersion: wildfly.org/v1alpha1
    kind: WildFlyServer
    metadata:
      name: ${APPLICATION_NAME}
    spec:
      applicationImage: ${APPLICATION_NAME}:latest
      replicas: ${APP_REPLICAS}
      env:
        - name: DB_SERVICE_PREFIX_MAPPING
          value: TEST-MYSQL=DS1
        - name: TEST_MYSQL_SERVICE_HOST
          value: ${DB_HOST}
        - name: TEST_MYSQL_SERVICE_PORT
          value: '3306'
        - name: DS1_JNDI
          value: java:jboss/datasources/JavaEECafeDB
        - name: DS1_URL
          value: jdbc:mysql://${DB_HOST}:3306/${DB_DATABASE_NAME}
        - name: DS1_DRIVER
          value: mysql
        - name: DS1_DATABASE
          value: ${DB_DATABASE_NAME}
        - name: DS1_USERNAME
          value: ${DB_USERNAME}
        - name: DS1_PASSWORD
          valueFrom:
            secretKeyRef:
              name: db-secret
              key: password
      secrets:
        - db-secret
    EOF
    

    Si el comando se completó correctamente, deberá consultar wildflyserver.wildfly.org/javaee-cafe created. Si no ve esta salida, solucione el problema antes de continuar.

  3. Ejecute oc get pod -w | grep 1/1 para supervisar si se ejecutan todos los pods de la aplicación. Cuando vea una salida similar al ejemplo siguiente, presione Ctrl + C para detener la supervisión:

    javaee-cafe-2         1/1     Running             0          31s
    javaee-cafe-1         1/1     Running             0          30s
    javaee-cafe-0         1/1     Running             0          30s
    

    Puede tardar unos minutos en llegar al estado adecuado. Incluso puede ver valores de columna STATUS, incluidos ErrImagePull y ImagePullBackOff antes de que se muestre Running.

  4. Ejecute el siguiente comando para devolver la dirección URL de la aplicación. Puede usar esta dirección URL para acceder a la aplicación de ejemplo implementada. Copie la salida en el Portapapeles.

    echo http://$(oc get route ${APPLICATION_NAME}-route -o=jsonpath='{.spec.host}')/javaee-cafe
    
  5. Pegue la salida en un explorador web conectado a Internet y presione Entrar. Debería ver la interfaz de usuario de la aplicación Java EE Cafe similar a la que aparece en la siguiente captura de pantalla:

    Captura de pantalla de la interfaz de usuario de la aplicación Cafe de Java EE.

  6. Agregue y elimine algunas filas para comprobar que la conectividad de la base de datos funciona correctamente.

Limpieza de recursos

Si no va a seguir usando el clúster de OpenShift, vuelva al grupo de recursos de trabajo. En la parte superior de la página, bajo el texto Grupo de recursos, seleccione el grupo de recursos. Luego, seleccione Eliminar grupo de recursos.

Pasos siguientes

Para más información sobre la implementación de JBoss EAP en Azure, siga estos vínculos: