Inicio rápido: Implementación de JBoss EAP en Red Hat OpenShift en Azure
En este artículo se muestra cómo configurar rápidamente JBoss Enterprise Application Platform (EAP) en Red Hat OpenShift en Azure mediante Azure Portal.
En este artículo se usa la oferta de Azure Marketplace para JBoss EAP para acelerar el recorrido a Red Hat OpenShift en Azure. La oferta aprovisiona automáticamente recursos, incluido un clúster de Red Hat OpenShift en Azure 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 instrucciones paso a paso manuales para ejecutar JBoss EAP en ARO que no use 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 4 en Azure.
Si está interesado en proporcionar comentarios o trabajar estrechamente en sus escenarios de migración con el equipo de ingeniería que desarrolla JBoss EAP en soluciones de Azure, rellene esta breve Encuesta sobre la migración de JBoss EAP e incluya la información de contacto. El equipo de administradores de programas, arquitectos e ingenieros se pondrá en contacto rápidamente con usted para iniciar una estrecha colaboración.
Requisitos previos
Suscripción a Azure. Si no tiene una suscripción a Azure, cree una cuenta gratuita de Azure antes de empezar.
Una cuenta de Red Hat con el perfil completo. Si no tiene los derechos, puede registrarse para obtener una suscripción gratuita para desarrolladores a través de la suscripción para desarrolladores de Red Hat para usuarios.
Línea de comandos del desarrollador local con un entorno de comandos similar a UNIX (por ejemplo, Ubuntu, macOS o Subsistema de Windows para Linux) y la CLI de Azure instaladas. Para detalles sobre cómo instalar la CLI de Azure, consulte Instalación de la CLI de Azure.
La
mysql
CLI. Por ejemplo, puede instalar la CLI mediante los siguientes comandos en sistemas basados en Ubuntu o Debian:sudo apt update sudo apt install mysql-server
Una identidad de Azure que se usa para iniciar sesión con el rol de Colaborador y el rol de Administrador de acceso de usuario o el rol de Propietario en la suscripción actual. Consulte la información general sobre los roles de Azure en ¿Qué es el control de acceso basado en rol de Azure (RBAC)?.
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 de una suscripción nueva de Azure no cumple este requisito. Para solicitar un aumento en el límite de recursos, consulte Aumento de las cuotas de vCPU de la familia de máquinas virtuales. Tenga en cuenta que la suscripción de evaluación gratuita no es apta para un aumento de cuota. Actualice a una suscripción de pago por uso antes de solicitar un aumento de cuota. Para más información, consulte Actualización de una cuenta gratuita de Azure o de una cuenta de Microsoft Azure for Students Starter.
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 extracción:
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.
Después de iniciar sesión, seleccione OpenShift y, a continuación, Descargas.
Seleccione la lista desplegable Todas las categorías y, después, seleccione Tokens.
En secreto de extracción, seleccione Copiar o Descargar para obtener el valor, como se muestra en la captura de pantalla siguiente.
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"}}}
Guarde el secreto en un archivo para que pueda usarlo más adelante.
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.
- Use su cuenta de Red Hat para iniciar sesión en la aplicación de administración de cuentas de servicio del Registro.
- En la página cuentas de servicio del Registro, seleccione Nueva cuenta de servicio.
- 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.
- Vuelva a sus cuentas de servicio.
- 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 enregistry.redhat.io
. - Anote la nueva contraseña. Use esta contraseña para iniciar sesión en
registry.redhat.io
.
- Anote el nombre de usuario, incluida la cadena antepuesto (es decir,
Ha creado su cuenta de servicio de Red Hat Container Registry.
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 obtener más información, consulte Registrar una aplicación de Microsoft Entra y crear una entidad de servicio.
Inicie sesión en su cuenta de Azure mediante Azure Portal.
Seleccione Microsoft Entra ID.
Seleccione App registrations (Registros de aplicaciones).
Seleccione Nuevo registro.
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.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.
Cree un nuevo secreto de cliente siguiendo estos pasos:
- Seleccione Certificados y secretos.
- Seleccione Secretos de cliente y, a continuación, Nuevo secreto de cliente.
- Proporcione una descripción y duración del secreto. Cuando finalice, seleccione Agregar.
- 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.
Validación de la entidad de servicio
Use el siguiente comando para validar la entidad de servicio:
az login \
--service-principal \
--username <service-principal-client-id> \
--password <service-principal-client-secret> \
--tenant <tenant-id>
az account show
Reemplace <service-principal-client-id>
, <service-principal-client-secret>
y <tenant-id>
por los valores que obtuvo en los pasos anteriores. Si ve la información de la cuenta, la entidad de servicio es válida.
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.
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.
También puede ir directamente a la oferta JBoss EAP en Red Hat OpenShift en Azure en el Azure Portal.
En la página de la oferta, seleccione Crear.
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.
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.
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.
Seleccione Siguiente: ARO.
Los pasos siguientes muestran cómo rellenar el panel de ARO que se muestra en la captura de pantalla siguiente:
En Crear un nuevo clúster, seleccione Sí.
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.
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.
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.
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.
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.
Seleccione Siguiente: Review + create (Revisar y crear).
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.
Seleccione Crear.
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.
Nota:
Dado que Azure Workload Identity aún no es compatible con Azure OpenShift, en este artículo se sigue usando el nombre de usuario y la contraseña para la autenticación de base de datos en lugar de usar conexiones de base de datos sin contraseña.
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.
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 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" }
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.
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
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
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.
En la esquina de cualquier página de Azure Portal, seleccione el menú hamburguesa y seleccione Grupos de recursos.
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.
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.
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.
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.
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" }
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.
A continuación, siga estos pasos para conectarse al clúster de OpenShift mediante la CLI de OpenShift:
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
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.
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 20240904 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
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:
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}
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.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. Puede que incluso vea valores de columna
STATUS
incluyendoErrImagePull
yImagePullBackOff
antes de queRunning
se muestre.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
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:
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.
Paso siguiente
Para más información sobre la implementación de JBoss EAP en Azure, vea Red Hat JBoss EAP en Azure.