Cómo desplegar sus aplicaciones en Red Hat OpenShift 4.x
A continuación se describe cómo utilizar los Transformation Advisor para desplegar tus aplicaciones en un contenedor Liberty y en un clúster OpenShift.
Tiene la opción de:
Despliega una única aplicación en un contenedor Liberty.
Despliegue varias aplicaciones de un clúster o grupo en un contenedor Liberty.
Cómo desplegar una única aplicación
Esta sección explica cómo desplegar una única aplicación Java en Liberty y OpenShift utilizando artefactos de migración.
Un proyecto binario
En la sección siguiente se describe cómo desplegar un proyecto basado en binarios en Red Hat™ OpenShift. Para el proyecto binario, proporcionará archivos binarios para la aplicación y cualquier dependencia.
Puede migrar la aplicación en tres pasos. Este documento hará referencia a las siguientes variables:
<BINARY_FILE_LOCATION>es la ubicación de los archivos binarios para la aplicación, incluidas las dependencias y los archivos de biblioteca compartida.<APPLICATION_FILE>es el archivo binario de la aplicación.<DEPENDENCY_FILE_LOCATION>es la ubicación de las dependencias y los archivos de biblioteca compartida que requiere la aplicación.<APP_CONTEXT_ROOT>es la raíz de contexto de la aplicación. Si no está definido en otra parte, por ejemplo enibm-web-ext-xml, corresponde al atributonamedel elementoapplicationdel archivoserver.xml.<APPLICATION_NAME>es el nombre de la aplicación.<CONTAINER_ID>es el ID de contenedor para la imagen de docker. Para obtener este valor, especifique: docker ps<IMAGE_REFERENCE>es la referencia para esta imagen, incluido el registro, el repositorio y la etiqueta, por ejemplo, docker.io/myspace/myappimage:1.0.0<LIBERTY_HOME>es la ubicación donde ha instalado Liberty.<LIBERTY_MACHINE>es la máquina donde ha instalado el perfil de Liberty.<MIGRATION_ARTIFACTS_HOME>es la ubicación donde ha descomprimido los Transformation Advisor artefactos, o clonado el repositorio.<OCP_PROJECT>es el nombre del proyecto OpenShift donde desea instalar la aplicación.
PASO UNO: Migrar la aplicación Java a Liberty
En este paso migrará la aplicación a un servidor de Liberty local. Esto le permitirá verificar que la aplicación funciona correctamente en Liberty y realizar cambios de configuración cuando sea necesario. Después de haberla probado para asegurarse de que la aplicación funciona en Liberty, estará preparado para crear un contenedor de Liberty para su aplicación.
Requisitos previos del paso 1
Una instalación de Liberty
Puede consultar WebSphere Liberty aquí.
Nota: Si su aplicación requiere las características de Java EE 6 necesitará Websphere Liberty.Puede consultar Open Liberty aquí.
Una copia de los artefactos de migración que descargó de Transformation Advisor en la máquina en la que has instalado Liberty.
Tareas del paso 1
Añada el archivo de aplicación al paquete de migración y elimine el archivo de marcador:
cp <BINARY_FILE_LOCATION>/<APPLICATION_FILE> <MIGRATION_ARTIFACTS_HOME>/target/ rm <MIGRATION_ARTIFACTS_HOME>/target/*.placeholderAñada su(s) archivo(s) de dependencia al paquete de migración y elimine el(los) archivo(s) marcador(es) de posición:
cp <DEPENDENCY_FILE_LOCATION>/* <MIGRATION_ARTIFACTS_HOME>/src/main/liberty/lib rm <MIGRATION_ARTIFACTS_HOME>/src/main/liberty/lib/*.placeholderNota: Los archivos de marcadores de posición proporcionan el nombre(s) de todas las dependencias para su aplicación.Cree un servidor en la instalación de Liberty para ejecutar la aplicación:
cd <LIBERTY_HOME>/bin ./server create server1Vaya a la ubicación de los artefactos de migración y copie el binario de la aplicación (ear/war) del directorio de destino en el directorio de aplicaciones de Liberty:
cd <MIGRATION_ARTIFACTS_HOME> cp target/*.war <LIBERTY_HOME>/usr/servers/server1/apps- Si aún no existe, cree el directorio.
Copie los binarios adicionales de la ubicación de migración a esa ubicación:<LIBERTY_HOME>/usr/shared/config/lib/globalmkdir -p <LIBERTY_HOME>/usr/shared/config/lib/global cp src/main/liberty/lib/* <LIBERTY_HOME>/usr/shared/config/lib/global Actualice el "
server.xml" si es necesario:Cuando Transformation Advisor crea el archivo
server.xmlpara el paquete de migración, los datos sensibles se extraen como variables al final del archivoserver.xmlcon valores predeterminados vacíos. Asegúrese de que los valores predeterminados de la variable se hayan establecido correctamente.Si hay binarios adicionales listados en este archivo que no necesita, elimine cualquier referencia a los mismos.
Nota: Establezca únicamente el valor por defecto de las variables definidas en el archivoserver.xml. Si el valor se establece en el archivoserver.xml, no se pueden anular durante el tiempo de despliegue.Copie el '
server.xml' generado en su lugar, reemplazando el 'server.xmlpor defecto :cp src/main/liberty/config/server.xml <LIBERTY_HOME>/usr/servers/server1/server.xmlInicie el servidor de Liberty:
<LIBERTY_HOME>/bin/server start server1Compruebe los registros de Liberty para confirmar que la aplicación se ha iniciado correctamente y para buscar el URL para el acceso:
cd <LIBERTY_HOME>/usr/servers/server1/logs vi messages.logNota: Es posible que haya definido funciones enserver.xmlque no estén instaladas por defecto en Liberty. Éstos aparecerán en el registro. En este caso, instale las funciones necesarias mediantebin/featureUtility.Si define un elemento
dataSourceenserver.xml, puede encontrarse con un problema de autenticación similar a éste:invalid username/password; logon deniedSi ve este problema, es posible que tenga que actualizar el valor predeterminado para las variables de datos de autenticación utilizadas en las propiedades de origen de datos.
Compruebe que los registros contienen una línea similar a ésta:
Se ha iniciado el canal TCP
defaultHttpEndpointy ahora está a la escucha de peticiones en el host * ( IPv6 ) puerto 9080.Si no lo ves, es que ha habido algún problema al iniciar el servidor o lanzar la aplicación. Busque más detalles en el archivo de registro y depure los errores en consecuencia.
Abra su solicitud en el navegador accediendo al siguiente enlace:
http://<LIBERTY_HOME_MACHINE_IP>:9080/<APP_CONTEXT_ROOT>Nota: Los artefactos de migración le ayudan en la migración de su aplicación. En función de la naturaleza y la complejidad de la aplicación, es posible que sea necesaria una configuración adicional para completar totalmente esta tarea. Por ejemplo, es posible que necesite completar una configuración adicional para conectar su aplicación con un registro de usuarios, y o para configurar los enlaces de roles de seguridad de los usuarios. Consulte la documentación del producto para obtener más detalles.
PASO DOS: Contenerizar Liberty
En este paso, contenerizará la instalación de Liberty en funcionamiento. Creará una imagen de Liberty que tenga instalada y en funcionamiento la aplicación migrada y, a continuación, probará la imagen para confirmar que funciona correctamente.
Requisitos previos del paso 2
Haber completado el Paso 1: Migrar la aplicación Java a Liberty
Docker o podman está instalado.
Descargar Docker : https://www.docker.com/get-started
Descargar podman: https://podman.io/getting-started/installation
La máquina en la que se realiza esta tarea requiere acceso a Internet para descargar la imagen base de Liberty.
Tareas del paso 2
Detenga el servidor de Liberty si se está ejecutando para asegurarse de que están disponibles los puertos necesarios:
<LIBERTY_HOME>/bin/server stop server1Si utiliza docker, asegúrese de que el servicio de docker esté en ejecución. Si no es así, ponlo en marcha:
service docker startVaya a la ubicación de sus artefactos de migración y cree su imagen a partir del archivo Dockerfile:
cd <MIGRATION_ARTIFACTS_HOME> docker build --no-cache -t "<IMAGE_REFERENCE>" -f Containerfile .El paquete de migración incluye un archivo
pom.xmlque permite extraer la aplicación y todas las dependencias de Maven. Debe activar esta opción enContainerfiley actualizar los marcadores de posición en el archivopom.xmlcon los valores correctos.Nota: Los detalles de cómo hacer esto se pueden encontrar en la sección Añadir dependencias usando Maven.Ejecute la imagen y confirme que funciona correctamente:
docker run -p 9080:9080 <IMAGE_REFERENCE>Si todo es correcto, la imagen se iniciará y correlacionará con el puerto 9080. Puede acceder a ella desde su navegador con este enlace:
http://<LIBERTY_HOME_MACHINE_IP>:9080/<APP_CONTEXT_ROOT>Opcional : Compruebe su imagen cuando esté en funcionamiento iniciando sesión en el contenedor:
docker exec -ti <CONTAINER_ID> bashEsto le permite examinar el sistema de archivos del contenedor en el que se ejecuta la aplicación.
PASO TRES: Desplegar la imagen en Red Hat OpenShift
En este paso desplegará la imagen que ha creado en Red Hat OpenShift. Estas instrucciones están relacionadas con OpenShift 4 + y se han validado en OpenShift 4.12.
Requisitos previos del paso 3
Acceso a un entorno público o privado de Red Hat OpenShift 4+.
Acceso al registro de imágenes
Tendrá que enviar por push la imagen de aplicación migrada a una ubicación que sea accesible para el clúster de OpenShift. Puede utilizar un registro disponible públicamente (por ejemplo, Dockerhub) o su propio registro privado. Los artefactos de migración generados por Transformation Advisor (concretamente el archivo application-cr.yaml ) deben actualizarse con la referencia de imagen que se esté utilizando. Si no dispone de un registro adecuado, puede crear uno propio en Dockerhub o Podman para utilizarlo hasta que encuentre un registro adecuado.
Una copia de los artefactos de migración que descargó de Transformation Advisor en la máquina en la que has instalado Liberty.
Operador de WebSphere Liberty o operador Open Liberty
Para desplegar su aplicación en WebSphere Liberty en OpenShift, primero debe haber instalado el operador WebSphere Liberty en su clúster.
El operador WebSphere Liberty está disponible en el catálogo de operadores de IBM . Ir a los operadores ...OperatorHub UI y pulse el IBM Operator
Source. Puede utilizar la búsqueda para encontrar rápidamente el operador WebSphere Liberty .Pulse la interfaz de usuario del operador de WebSphere Liberty y siga las instrucciones de instalación.
Se le dará la opción de instalar el clúster de operador en todo el clúster que será capaz de instalar aplicaciones de WebSphere Liberty en todos los espacios de nombres, O bien, puede elegir instalar el operador en un espacio de nombres determinado. Elija cualquiera de las opciones según sus preferencias.
Para más información sobre el operador WebSphere Liberty, consulte la documentación aquí.
Para más detalles sobre cómo instalar el Catálogo de Operadores IBM, consulte la documentación aquí.
Para obtener soporte para su aplicación desplegada en Open Liberty en OpenShift, debe anotar los pods con anotaciones de producto WebSphere. Para obtener más información, consulte Seguimiento del uso de la licencia Liberty en Kubernetes
Para desplegar Open Liberty necesita que el operador Open Liberty realice el despliegue.
debe haber instalado primero el operador Open Liberty en el clúster.
El operador Open Liberty está disponible en el catálogo certificado. Ir a los operadores ...OperatorHub UI y pulse Certificado
Source. Puede utilizar la búsqueda para encontrar rápidamente el operador Open Liberty.Pulse en la interfaz de usuario del operador Open Liberty y siga las instrucciones para instalar.
Se le dará la opción de instalar el operador en todo el clúster que será capaz de instalar aplicaciones de Open Liberty en todos los espacios de nombres, O BIEN, puede elegir instalar el operador en un espacio de nombres determinado. Elija cualquiera de las opciones según sus preferencias.
Para más información sobre el operador Open Liberty, consulte la documentación aquí.
Tareas del paso 3
Envíe por push la imagen de aplicación a un registro que sea accesible para el clúster de OpenShift. por ejemplo,
docker push <IMAGE_REFERENCE>donde
<IMAGE_REFERENCE>es la referencia de la imagen con la que etiquetó la imagen al construirla, por ejemplodocker.io/myspace/myappimage:1.0.0.Nota: Es posible que tenga que iniciar sesión en ese registro de imágenes para poder realizar la inserción correctamente. Si el registro requiere extracciones autenticadas, deberá configurar el clúster con un secreto de extracción. Para más información, consulte la documentación de OpenShift.Inicie sesión en el clúster de OpenShift y cree un proyecto en OpenShift.
oc login -u <USER_NAME>Si todavía no ha creado un espacio de nombres al instalar el operador de Liberty, cree uno ahora.
oc new-project <OCP_PROJECT>Despliegue la imagen con su operador acompañante siguiendo las instrucciones siguientes:
Cambie al directorio kustomize en
<MIGRATION_ARTIFACTS_HOME>:cd <MIGRATION_ARTIFACTS_HOME>/deploy/kustomize- Actualice IMAGE_REFERENCE en el archivo
base/application-cr.yamlpara que coincida con la referencia de la imagen de la aplicación que introdujo en la tarea 1. - Compruebe que todos los valores definidos en el archivo
base/<APPLICATION_NAME>-configmap.yamlson correctos. - Actualice el archivo
overlays/dev/<APPLICATION_NAME>-secret.yaml, para añadir el valor de los datos sensibles. El valor debe estar codificado enbase64. Puede invocar el comandoecho -n 'your-secret-password' | base64para obtener la cadena codificada de sus datos sensibles. - Cree el recurso personalizado (CR) para su aplicación Liberty utilizando el comando
apply -kpara especificar un directorio que contengakustomization.yaml:oc apply -k overlays/dev - Puede ver el estado de su despliegue ejecutando despliegues oc get. Si no ve el estado al cabo de unos minutos, consulte los pods y, a continuación, recupere los registros de los pods Liberty:
oc get pods oc logs <pod> - Ahora puede acceder a su aplicación navegando a la interfaz de usuario
Networking...Routesen OpenShift y seleccionando el espacio de nombres donde ha desplegado.
- Opcional : Si desea eliminar su aplicación de OpenShift,, puede desinstalarla utilizando la interfaz de usuario de OpenShift. Navegue hasta
Operators...Installed operatorsen OpenShift para encontrar el operador Liberty. Haga clic en la pestañaAll instancespara buscar su instancia de aplicación y desinstalarla según sea necesario.
Añadir dependencias utilizando Maven
Visión general
El paquete de migración incluye un archivo pom.xml que permite extraer la aplicación y todas las dependencias de Maven. Debe activar esta opción en Containerfile y actualizar los marcadores de posición en el archivo pom.xml con los valores correctos.
Tareas
Vaya al paquete de migración
cd <MIGRATION_ARTIFACTS_HOME>Edite el archivo
pom.xmly actualice los valores de los marcadores de posición con los valores adecuados:Establezca los valores correctos para el elemento
<dependency>Establezca los valores correctos para cada uno de los elementos de
<artifactItem>
Edite
Containerfilepara que las dependencias se incluyan durante la creación de la imagen.Elimine el comentario de la línea
RUN mvn -X initialize process-resources verify
Un proyecto de origen
Visión general
Al migrar una aplicación, a menudo tendrá que realizar cambios en el código fuente para garantizar una migración satisfactoria a la nueva plataforma de destino. La naturaleza exacta de los cambios variará de una aplicación a otra. Transformation Advisor informa sobre los cambios necesarios para cada aplicación individual y clasificará las aplicaciones que requieren cambios de código como Moderadas o Complejas. Para saber exactamente dónde hay que hacer estos cambios en el código, puede utilizar el complemento WebSphere Application Migration Toolkit (WAMT) Eclipse. La herramienta también puede sugerir posibles arreglos. Consulte este enlace para obtener más información: https://developer.ibm.com/wasdev/downloads/#asset/tools-WebSphere_Application_Server_Migration_Toolkit.
Las tareas siguientes facilitan la creación del código fuente en una imagen.
Tareas
Vaya al paquete de migración
cd <MIGRATION_ARTIFACTS_HOME>Edite el archivo
pom.xmly actualice o elimine los valores de los marcadores de posición con los valores adecuados:Establezca los valores correctos para el elemento
<dependency>Establezca los valores correctos para cada uno de los elementos de
<artifactItem>
Actualice el archivo
pom.xmlpara crear la aplicación de acuerdo con sus especificacionesSi ya dispone de una dirección
pom.xmlpara su aplicación, puede utilizarla o combinarla con el paquete de migraciónpom.xml, según convenga.
Edite
Containerfilepara que el código fuente se construya durante la construcción de la imagen.Elimine el comentario de la línea
RUN mvn clean package
Cómo desplegar un clúster o grupo de aplicaciones
En esta sección se describe cómo utilizar el paquete de migración para un clúster o grupo para desplegar varias aplicaciones en un único contenedor de Liberty. Puede migrar cada aplicación individualmente primero y luego fusionarlas en una única implantación, o puede implantarlas todas a la vez como un primer paso único.
Si está migrando un clúster, es poco probable que obtenga un conflicto de características entre las aplicaciones. En este caso, el enfoque "Todas las aplicaciones a la vez" será el más rápido para migrar el clúster.
Si está migrando un grupo, es más probable que obtenga un conflicto de características al desplegar las aplicaciones juntas, porque es posible que las aplicaciones no se hayan ejecutado juntas antes. Se recomienda adoptar el enfoque "Todas las aplicaciones a la vez", pero si surgen problemas, se recomienda adoptar el enfoque " Aplicación por aplicación" para resolverlos.
Todas las aplicaciones a la vez
Puede migrar todas las aplicaciones en tres pasos. Este documento hará referencia a las siguientes variables:
<APP_CONTEXT_ROOT>es la raíz de contexto de la aplicación. Si no está definido en otra parte, por ejemplo enibm-web-ext-xml, corresponde al atributonamedel elemento<application>del archivoserver.xml.<APPLICATION_NAME>es el nombre de la aplicación.<MIGRATION_ARTIFACTS_HOME>es la ubicación donde ha descomprimido los Transformation Advisor artefactos, o clonado el repositorio.<IMAGE_REFERENCE>es la referencia de esta imagen, incluido el registro, el repositorio y la etiqueta, por ejemplodocker.io/myspace/myappimage:1.0.0.
PASO UNO: Recopilar aplicaciones y archivos de dependencias y actualizar la configuración
En este paso recopilará los archivos de aplicación y las dependencias y actualizará los archivos de configuración.
Tareas del paso 1
Añada los archivos de aplicación al paquete de migración y elimine los archivos de marcador:
cp <BINARY_FILE_LOCATION>/<APPLICATION_FILE> <MIGRATION_ARTIFACTS_HOME>/target/ rm <MIGRATION_ARTIFACTS_HOME>/target/*.placeholderAñada su(s) archivo(s) de dependencia al paquete de migración y elimine el(los) archivo(s) marcador(es) de posición:
cp <DEPENDENCY_FILE_LOCATION>/* <MIGRATION_ARTIFACTS_HOME>/src/main/liberty/lib rm <MIGRATION_ARTIFACTS_HOME>/src/main/liberty/lib/*.placeholderLos archivos de marcadores de posición proporcionan el nombre(s) de todas las dependencias para su aplicación.
Nota: Si está utilizando maven para importar su aplicación y dependencias puede omitir las tareas 1 y 2 de este paso.Si es necesario, actualice los archivos "
server.xml" de la aplicación:El archivo
server.xmlen<MIGRATION_ARTIFACTS_HOME>/src/main/liberty/configcontiene una serie de includes, que incluyen los archivosserver.xmlpara cada aplicación.Los archivos de la aplicación
server.xmlse encuentran en las siguientes ubicaciones:<MIGRATION_ARTIFACTS_HOME>/apps/<APPLICATION_NAME>/src/main/liberty/config.El nombre del archivo
server.xmlpara cada aplicación será<APPLICATION_NAME>_server_config.xml.Modifique cada archivo
server.xmlintroduciendo valores por defecto para cualquier dato sensible que Transformation Advisor haya eliminado.Si en el archivo '
server.xml' hay binarios adicionales que no necesitas, elimina cualquier referencia a ellos.
Nota: Establezca únicamente el valor por defecto de las variables definidas en el archivoserver.xml. Si el valor se establece en el archivoserver.xml, no se pueden anular durante el tiempo de despliegue.
PASO DOS: Containerizar todas las aplicaciones en Liberty
En este paso, contenerizará la instalación de Liberty en funcionamiento. Creará una imagen de Liberty que tenga todas las aplicaciones migradas instaladas y en funcionamiento y, a continuación, probará la imagen para confirmar que funciona correctamente.
Requisitos previos del paso 2
Ha completado el Paso 1: Recopilar aplicaciones y archivos de dependencias y actualizar la configuración.
Docker o podman está instalado.
Descargar Docker : https://www.docker.com/get-started
Descargar podman: https://podman.io/getting-started/installation
La máquina en la que se realiza esta tarea requiere acceso a Internet para descargar la imagen base de Liberty.
Tareas del paso 2
Si utiliza docker, asegúrese de que el servicio de docker esté en ejecución. Si no lo está, inícielo:
service docker startVaya al lugar donde se encuentran sus artefactos de migración y construya su imagen a partir de
Dockerfile:cd <MIGRATION_ARTIFACTS_HOME> docker build --no-cache -t "<IMAGE_REFERENCE>" -f Containerfile .Nota: El paquete de migración incluye un archivopom.xmlque permite extraer la aplicación y todas las dependencias de Maven. Debe activar esta opción enContainerfiley actualizar los marcadores de posición en el archivopom.xmlcon los valores correctos. Los detalles de cómo hacerlo se pueden encontrar en la sección Añadir dependencias usando Maven.Ejecute la imagen y confirme que funciona correctamente:
docker run -p 9080:9080 <IMAGE_REFERENCE>Si todo parece correcto, la imagen se ha iniciado y se ha asignado al puerto
9080. Puede acceder a ella desde su navegador con este enlace:http://<LIBERTY_HOME_MACHINE_IP>:9080/>Cada solicitud estará disponible en:
http://<LIBERTY_HOME_MACHINE_IP>:9080/<APP_CONTEXT_ROOT>Opcional : Compruebe su imagen cuando esté en funcionamiento iniciando sesión en el contenedor:
docker exec -ti <CONTAINER_ID> bashEsto le permite examinar el sistema de archivos del contenedor donde se ejecutan las aplicaciones.
PASO 3: Despliegue su imagen con todas las aplicaciones en Red Hat OpenShift
En este paso desplegará la imagen que ha creado en Red Hat OpenShift. Estas instrucciones están relacionadas con OpenShift 4 + y se han validado en OpenShift 4.12. Siga los mismos pasos que si su imagen tuviera una única aplicación - vea aquí.
Un proyecto binario-aplicación por aplicación
En este enfoque, configurará, colocará en contenedores y desplegará cada aplicación individualmente y, a continuación, las desplegará juntas.
Tareas
Complete los pasos de Cómo desplegar una única aplicación para cada aplicación.
cd <MIGRATION_ARTIFACTS_HOME>/appsDesplegar cada aplicación individualmente
Ahora implemente todas las aplicaciones juntas siguiendo estos pasos.
Nota: Es posible que se produzca un conflicto de funciones al desplegar aplicaciones conjuntamente. En este caso, es necesario mover las aplicaciones que están causando el conflicto a otro despliegue, o actualizar las aplicaciones para que ya no requieran funciones conflictivas.
Gestión de almacenes de claves durante la implantación
When deploying to OpenShift, if your application is configured to use non default keystores then the default route will not work without configuration changes.
Configuración de almacenes de claves en un contenedor
Transformation Advisor no migra automáticamente la información del almacén de claves en el paquete de migración. Cuando se ejecuta en un contenedor utilizando el Containerfile por defecto producido por Transformation Advisor el servidor Liberty mostrará mensajes indicando que no se pueden encontrar los archivos de almacén de claves no predeterminados.
Para obtener instrucciones sobre cómo configurar almacenes de claves en el servidor Liberty, consulte la documentación de Configuración de seguridad de Liberty.
Configuración de almacenes de claves en un despliegue de OpenShift
Al desplegar en OpenShift puede utilizar el operador de Liberty para generar todos los certificados necesarios o utilizar sus propios certificados.
Uso del Operador Liberty para generar certificados
Complete los siguientes pasos para utilizar el Operador de Liberty para generar los certificados para su aplicación.
Modifique el archivo
server.xmly elimine todos los atributos<keystore>.Crear y desplegar la imagen como normal
En este caso, el operador manejará toda la generación de certificación y la gestión del almacén de claves. Encontrará más información al respecto en la documentación de Liberty.
Uso de certificados y almacenes de claves propios en OpenShift
Puede configurar el despliegue para utilizar sus propios certificados y gestionar la seguridad usted mismo. Encontrará más información al respecto en la documentación de Liberty sobre la especificación de certificados.