Automatización de despliegue de WebLogic acoplable clúster En Cualquier Nube
Fondo
Los desarrolladores de Java y profesionales DevOps han luchado durante mucho tiempo para automatizar el despliegue de aplicaciones empresariales Java. La compleja naturaleza de estas aplicaciones por lo general significa que las dependencias de aplicaciones e integraciones externas tuvieron que ser re-configurado cada vez que una aplicación se ha desplegado en entornos / PRUEBA DEV.
Muchas soluciones anuncian el mensaje "modelo una vez, desplegar en cualquier lugar" para la implementación de aplicaciones. En realidad, sin embargo, siempre había complejidades que hacía muy difícil volver a utilizar una plantilla de aplicación en todos a la vez un entorno virtual de vSphere en las instalaciones y un entorno de AWS, por ejemplo.
Más recientemente, sin embargo, los contenedores Docker popularizaron la idea de componentes de aplicaciones de envasado en recipientes de Linux que puede ser desplegado exactamente igual en cualquier host Linux, siempre y cuando se instala acoplable motor.
Desafortunadamente contenerización de aplicaciones empresariales Java sigue siendo un desafío sobre todo porque los marcos de composición de aplicaciones existentes no abordan dependencias complejas, integraciones externas o auto-escala flujos de trabajo de post-prestación. Por otra parte, el diseño efímero de contenedores significa que los desarrolladores tenían que girar nuevos contenedores y volver a crear las complejas dependencias y integraciones externas con cada actualización de versión.
DCHQ, disponible en versiones alojados y en las instalaciones, se dirige a todos estos retos y simplifica la contenerización de aplicaciones empresariales Java a través de un marco de composición solicitud previa que se extiende acoplable Componer con asociaciones de variables de entorno-imagen Cruz, extensibles escritura del golpe plug-ins que pueden ser invocado durante la petición o posterior a la disposición, y la agrupación de aplicaciones de alta disponibilidad a través de múltiples hosts o regiones con soporte para escalado automático.
Una vez que se aprovisiona una aplicación, un usuario puede monitorizar la CPU, memoria, I / O y de los contenedores de funcionamiento, recibir notificaciones y alertas, y realizar dia-2 operaciones como copias de seguridad programadas, Recipiente actualizaciones usando escritura del golpe de plug-ins, y la Escala Dentro fuera. Por otra parte, los flujos de trabajo fuera de la caja que faciliten la entrega continua con Jenkins permiten a los desarrolladores para actualizar el archivo WAR de Java de una aplicación que se ejecuta sin interrumpir las dependencias y las integraciones existentes.
En este blog, vamos a ir sobre la automatización de la implementación de extremo a extremo de un cluster WebLogic basada en acoplable. Vamos a cubrir:
- La construcción de la plantilla de solicitud de cluster WebLogic que se vuelve a utilizar en cualquier sistema Linux corriendo en cualquier parte
- Aprovisionamiento y de auto-escalar la infraestructura subyacente en cualquier nube (con Rackspace es el ejemplo en este blog)
- Despliegue del cluster WebLogic en los servidores de la nube de Rackspace
- La implementación de la cesta de la compra GUERRA archivo Java en el servidor de administración
- Acceso a la Terminal en el navegador para ejecutar Contenedores
- Habilitación del flujo de trabajo de entrega continua con Jenkins para actualizar el archivo WAR de las aplicaciones que se ejecutan cuando se desencadena una acumulación
- El control de la CPU, memoria y E / S de los contenedores Operando
La construcción de la plantilla de aplicación para el clúster 12c Oracle WebLogic
O na vez registrado para DCHQ (ya sea el DCHQ.io alojado o en las instalaciones de la versión), un usuario puede navegar a App & Machine y luego haga clic en el + botón para crear un nuevo acoplable Componer plantilla.
Hemos creado una plantilla de aplicación cluster WebLogic utilizando una imagen personalizada que construimos la imagen de Radu Dobrinescu (radudobrinescu / wls12c: 2.0) aprovechamiento.
Usted notará que el CLUSTER_SIZE parámetro le permite especificar el número de contenedores para poner en marcha (con las mismas dependencias de la aplicación). Lo utilizamos para definir el tamaño del cluster servidor administrado.
El anfitrión parámetro le permite especificar el host que desea utilizar para las implementaciones de contenedores. De esta manera se puede garantizar una alta disponibilidad para sus clústeres de servidores de aplicaciones a través de los diferentes huéspedes (o regiones) y se puede cumplir con las reglas de afinidad para asegurar que la base de datos se ejecuta en un equipo diferente, por ejemplo. Éstos son los valores admitidos para el parámetro host:
- host1, host2, host3 , etc. - selecciona un host al azar dentro de un centro de datos (o clúster) para implementaciones de contenedores
- <Dirección IP 1, dirección IP 2, etc.> - permite a un usuario especificar el actual direcciones IP a usar para implementaciones de contenedores
- <Nombre de host 1, 2 Nombre de host, etc.> - permite a un usuario especificar los nombres de host reales de usar para los despliegues de contenedores
- Los comodines (por ejemplo, "db- *", o "app-SRV-*") - para especificar los caracteres comodín para utilizar dentro de un nombre de host
Además, un usuario puede crear imagen-cruz asociaciones de variables de entorno, haciendo referencia a la variable de entorno de otra imagen. En este caso, hemos hecho una unión en este caes: ADMIN_HOSTNAME = {{AdminServer | ip}} - en la que el servidor de administración IP de host se resuelve dinámicamente en tiempo de petición y se utiliza para garantizar que los servidores administrados pueden establecer una conexión con el servidor de administración.
Aquí está una lista de valores de variables de entorno soportados:
- {{alphanumeric | 8}} - crea una cadena alfanumérica de 8 caracteres al azar. Esto es muy útil para crear contraseñas aleatorias.
- {{<Image Name> | ip}} - le permite introducir la dirección IP del host de un recipiente como un valor para una variable de entorno. Esto es muy útil para permitir que el nivel de middleware para establecer una conexión con la base de datos.
- {{<Image Name> | container_ip}} - le permite introducir el nombre del contenedor de un contenedor como un valor para una variable de entorno. Esto es muy útil para permitir que el nivel de middleware para establecer una conexión segura con la base de datos (sin exponer el puerto de base de datos).
- {{<Image Name> | container_private_ip}} - le permite introducir la dirección IP interna de un recipiente como un valor para una variable de entorno. Esto es muy útil para permitir que el nivel de middleware para establecer una conexión segura con la base de datos (sin exponer el puerto de base de datos).
- {{<Image Name> | port _<Port Number>}} - le permite introducir el número de puerto de un recipiente como un valor para una variable de entorno. Esto es muy útil para permitir que el nivel de middleware para establecer una conexión con la base de datos. En este caso, el número de puerto especificado tiene que ser el número de puerto interno - es decir, no el puerto externo que se asigna al recipiente. Por ejemplo, {{PostgreSQL | port_5432}} será traducido al puerto externo real que permitirá que la capa de middleware para establecer una conexión con la base de datos.
- {{<Image Name> | <Environment Variable Name>}} - le permite introducir el valor de la variable de entorno de una imagen en la variable de entorno de otra imagen. Los casos de uso son infinitas - como la mayoría de las aplicaciones de varios niveles tendrán dependencias imagen cruz.
El edificio actual de la imagen de la ventana acoplable WebLogic puede ser automatizado a través DCHQ también. Un usuario puede hacer clic en la creación de imágenes y haga clic en el botón +. Un usuario puede crear una imagen usando un Dockerfile o un proyecto privado / público GitHub que tiene un Dockerfile.
La imagen que creamos para WebLogic se construyó utilizando la imagen de Radu Dobrinescu (radudobrinescu / wls12c: 2.0) ( https://hub.docker.com/r/radudobrinescu/wls12c/ ). Hicimos un par de modificaciones a la imagen en nuestra propia Dockerfile y luego empujó la nueva imagen a nuestro propio repositorio (DCHQ / WebLogic: últimas). La construcción de las imágenes se puede programar utilizando una expresión cron. Por otra parte, un usuario puede utilizar {{}} marca de tiempo en el nombre de la etiqueta con el fin de crear nombres de etiqueta única con cada nueva generación. De esta forma el usuario puede volver a las imágenes más antiguas de copia de seguridad.
Aprovisionamiento y auto-escala la infraestructura subyacente En Cualquier Nube
Una vez que se guarda una aplicación, un usuario puede registrar un proveedor de nube para automatizar el aprovisionamiento y la auto-escala de los racimos en 13 diferentes nube de puntos finales, incluyendo vSphere, OpenStack, CloudStack, Servicios Web de Amazon, Rackspace, Microsoft Azure, digitalocean, HP Pública nube, IBM SoftLayer, Google Compute Engine, y muchos otros.
En primer lugar, un usuario puede registrar un proveedor de nube de Rackspace (por ejemplo) navegando a proveedores de la nube y luego hacer clic en el + botón para seleccionar Rackspace . La clave de API de Rackspace debe ser proporcionada - que puede ser recuperada de la sección Configuración de la cuenta del Panel de control Rackspace Cloud.
Un usuario puede crear un clúster con una política de auto-escala para girar automáticamente los nuevos servidores de la nube. Esto puede hacerse navegando a Clusters página y luego hacer clic en el + botón. Puede seleccionar una política de colocación basadas en la capacidad y luego Tejer como la capa de red con el fin de facilitar la comunicación-contenedor cruz protegido por contraseña segura a través de múltiples hosts dentro de un grupo.
Un usuario puede ahora suministrar un número de servidores de nube en el clúster recién creado por la navegación hacia las máquinas y luego hacer clic en el + botón para seleccionar Rackspace . Una vez seleccionado el proveedor de la nube, un usuario puede seleccionar la región, el tamaño y la imagen sea necesario. Un racimo Luego se activa y el número de Servidores Cloud se puede especificar.
El despliegue de cluster WebLogic a los servidores de la nube de Rackspace
Una vez que los Servidores Cloud se aprovisionan, un usuario puede desplegar un multi-capas, las aplicaciones Java basadas en estibador en los nuevos servidores de la nube. Esto puede hacerse navegando a la Biblioteca de autoservicio y luego hacer clic en Personalizar para solicitar una aplicación multi-nivel.
Un usuario puede seleccionar una Etiqueta para el Medio Ambiente (como DEV o QE) y el Cluster Rackspace creado antes de hacer clic en Ejecutar.
Una vez que se aprovisiona el Cluster WebLogic, un usuario puede tener acceso a la consola de administración del servidor para asegurarse de que los servidores gestionados se descubren y se ejecuta. La dirección URL sería http: // <admin_server_host_ip>: 7001 / console . Las credenciales predeterminadas serían weblogic / welcome1.
Distribución de la cesta de la compra GUERRA archivo Java utilizando la arquitectura de plug-in
Una vez que el cluster WebLogic está en funcionamiento, un usuario puede ejecutar un plug-in de escritura del golpe para desplegar un WAR de Java del archivo de uno de los servidores. En este caso, simplemente invocamos a un plug-in para desplegar la aplicación de carro de compras en el servidor de administración. Del acciones de menú, el usuario puede seleccionar Plug-ins y luego seleccione el contenedor (s) en el que se ejecutará el plug-in. Un usuario puede entonces buscar el plug-in e invalidar los argumentos expuestos.
En este sencillo plug-in, nos estamos agarrando tres archivos desde un servidor remoto, accesible con el fin de implementar la aplicación.
- deploy.py
- deploy_app.sh
- shoppingcart.war
Aquí están los ficheros usados:
deploy.py
---------------------
deploy_app.sh
---------------------
En el acceso a la Terminal-Browser para los contenedores para correr
Un icono de símbolo del sistema debe estar disponible junto a los nombres de los recipientes en la página de aplicaciones en vivo. Esto permite a los usuarios introducir el recipiente usando un protocolo de comunicación segura a través de la cola de mensajes del agente. Una lista blanca de comandos se puede definir por el inquilino de administración para garantizar que los usuarios no hacen ningún cambio perjudicial en los contenedores de funcionamiento.
En este caso, hemos utilizado el símbolo del sistema para asegurarse de que el archivo fue hecho deploy.py descargado en el servidor de administración. Al hacer un simple gato /oracle/fmwhome/wlst_custom/deploy.py - hemos podido comprobar que el archivo de hecho existe en ese contenedor.
a continuación, se accedió la consola de administración del servidor y navegado a despliegues para asegurarse de que la aplicación Cesta de la compra fue de hecho desplegado.
Por último, hemos accedido la aplicación real en http: // <admin_server_host_ip>: 7001 / carrito de la compra
El monitoreo de la CPU, memoria y utilización de E / S de los RunningContainers
Una vez que la aplicación está en funcionamiento, nuestros desarrolladores monitorear la CPU, memoria, I / O y de los contenedores de funcionamiento para recibir alertas cuando estas métricas superan un umbral predefinido. Esto es especialmente útil cuando nuestros desarrolladores están realizando pruebas funcionales y de carga.
Un usuario puede realizar el seguimiento del análisis histórico y correlacionar las cuestiones a las actualizaciones de contenedores o construir implementaciones. Esto se puede hacer haciendo clic en el Acciones menú de la aplicación en ejecución y después de Monitoreo . Un intervalo de fechas personalizado se puede seleccionar para ver la CPU, memoria y E / S históricamente.
El flujo de trabajo que permite la entrega continua con Jenkins para actualizar el archivo WAR de la aplicación se ejecuta cuando se activa A Físico
Para los desarrolladores que deseen seguir el modelo de contenedores "inmutables" mediante la reconstrucción de imágenes acoplables que contienen el código de la aplicación y girando nuevos contenedores con cada actualización de la aplicación, DCHQ proporciona una característica de construcción automatizado que permite a los desarrolladores crear automáticamente imágenes acoplables de Dockerfiles o proyectos de GitHub privados que contienen Dockerfiles.
Sin embargo, muchos desarrolladores pueden desear actualizar los contenedores de servidor de aplicaciones en ejecución con el último archivo WAR de Java en su lugar. Por eso, DCHQ permite a los desarrolladores para permitir un flujo de trabajo continuo con la entrega Jenkins. Esto se puede hacer haciendo clic en el Acciones menú de la aplicación en ejecución y luego seleccionando entrega continua . Un usuario puede seleccionar una instancia de Jenkins que ya ha sido registrada con DCHQ, el trabajo real de Jenkins que producirá el último archivo WAR, y luego una secuencia de comandos BASH plug-in para agarrar esta acumulación y desplegarlo en un servidor de aplicación que se ejecuta. Una vez que esta política se guarda, DCHQ va a agarrar el último archivo WAR de Jenkins cualquier momento una acumulación se activa y desplegarlo en el servidor de aplicación que se ejecuta.
Tenga en cuenta que el plug-in de escritura del golpe puede ser personalizado para asegurarse de que la secuencia correcta de pasos se da por el Servidor WebLogic. Por ejemplo, un usuario puede desear utilizar un plan de despliegue específico o ejecutar algunos scripts antes de ONU-despliegue y luego desplegar el nuevo archivo WAR.
Los desarrolladores, como resultado siempre tendrán la última archivo WAR de Java implementado en sus contenedores se ejecutan en entornos / PRUEBA DEV.
Conclusión
Contenerización de aplicaciones empresariales Java sigue siendo un desafío sobre todo porque los marcos de composición de aplicaciones existentes no abordan dependencias complejas, integraciones externas o auto-escala flujos de trabajo de post-prestación. Por otra parte, el diseño efímero de contenedores significa que los desarrolladores tenían que girar nuevos contenedores y volver a crear las complejas dependencias y integraciones externas con cada actualización de versión.
DCHQ, disponible en versiones alojados y en las instalaciones, se dirige a todos estos retos y simplifica la contenerización de aplicaciones empresariales Java a través de un marco de composición solicitud previa que facilita enlaces de variables de entorno-imagen Cruz, extensibles escritura del golpe plug-ins que se pueden invocar en solicitar tiempo o después de la prestación, y la agrupación de aplicaciones de alta disponibilidad a través de múltiples hosts o regiones con soporte para escalado automático.
para obtener acceso a las plantillas de aplicaciones Java de varias filas fuera de la caja junto con la funcionalidad de gestión del ciclo de vida de aplicaciones como monitoreo, actualizaciones de contenedores, en escala / entrega y continua.
Automatización de despliegue de WebLogic acoplable clúster En Cualquier Nube
Fondo
Los desarrolladores de Java y profesionales DevOps han luchado durante mucho tiempo para automatizar el despliegue de aplicaciones empresariales Java. La compleja naturaleza de estas aplicaciones por lo general significa que las dependencias de aplicaciones e integraciones externas tuvieron que ser re-configurado cada vez que una aplicación se ha desplegado en entornos / PRUEBA DEV.
Muchas soluciones anuncian el mensaje "modelo una vez, desplegar en cualquier lugar" para la implementación de aplicaciones. En realidad, sin embargo, siempre había complejidades que hacía muy difícil volver a utilizar una plantilla de aplicación en todos a la vez un entorno virtual de vSphere en las instalaciones y un entorno de AWS, por ejemplo.
Más recientemente, sin embargo, los contenedores Docker popularizaron la idea de componentes de aplicaciones de envasado en recipientes de Linux que puede ser desplegado exactamente igual en cualquier host Linux, siempre y cuando se instala acoplable motor.
Desafortunadamente contenerización de aplicaciones empresariales Java sigue siendo un desafío sobre todo porque los marcos de composición de aplicaciones existentes no abordan dependencias complejas, integraciones externas o auto-escala flujos de trabajo de post-prestación. Por otra parte, el diseño efímero de contenedores significa que los desarrolladores tenían que girar nuevos contenedores y volver a crear las complejas dependencias y integraciones externas con cada actualización de versión.
DCHQ, disponible en versiones alojados y en las instalaciones, se dirige a todos estos retos y simplifica la contenerización de aplicaciones empresariales Java a través de un marco de composición solicitud previa que se extiende acoplable Componer con asociaciones de variables de entorno-imagen Cruz, extensibles escritura del golpe plug-ins que pueden ser invocado durante la petición o posterior a la disposición, y la agrupación de aplicaciones de alta disponibilidad a través de múltiples hosts o regiones con soporte para escalado automático.
Una vez que se aprovisiona una aplicación, un usuario puede monitorizar la CPU, memoria, I / O y de los contenedores de funcionamiento, recibir notificaciones y alertas, y realizar dia-2 operaciones como copias de seguridad programadas, Recipiente actualizaciones usando escritura del golpe de plug-ins, y la Escala Dentro fuera. Por otra parte, los flujos de trabajo fuera de la caja que faciliten la entrega continua con Jenkins permiten a los desarrolladores para actualizar el archivo WAR de Java de una aplicación que se ejecuta sin interrumpir las dependencias y las integraciones existentes.
En este blog, vamos a ir sobre la automatización de la implementación de extremo a extremo de un cluster WebLogic basada en acoplable. Vamos a cubrir:
- La construcción de la plantilla de solicitud de cluster WebLogic que se vuelve a utilizar en cualquier sistema Linux corriendo en cualquier parte
- Aprovisionamiento y de auto-escalar la infraestructura subyacente en cualquier nube (con Rackspace es el ejemplo en este blog)
- Despliegue del cluster WebLogic en los servidores de la nube de Rackspace
- La implementación de la cesta de la compra GUERRA archivo Java en el servidor de administración
- Acceso a la Terminal en el navegador para ejecutar Contenedores
- Habilitación del flujo de trabajo de entrega continua con Jenkins para actualizar el archivo WAR de las aplicaciones que se ejecutan cuando se desencadena una acumulación
- El control de la CPU, memoria y E / S de los contenedores Operando
La construcción de la plantilla de aplicación para el clúster 12c Oracle WebLogic
O na vez registrado para DCHQ (ya sea el DCHQ.io alojado o en las instalaciones de la versión), un usuario puede navegar a App & Machine y luego haga clic en el + botón para crear un nuevo acoplable Componer plantilla.
Hemos creado una plantilla de aplicación cluster WebLogic utilizando una imagen personalizada que construimos la imagen de Radu Dobrinescu (radudobrinescu / wls12c: 2.0) aprovechamiento.
Usted notará que el CLUSTER_SIZE parámetro le permite especificar el número de contenedores para poner en marcha (con las mismas dependencias de la aplicación). Lo utilizamos para definir el tamaño del cluster servidor administrado.
El anfitrión parámetro le permite especificar el host que desea utilizar para las implementaciones de contenedores. De esta manera se puede garantizar una alta disponibilidad para sus clústeres de servidores de aplicaciones a través de los diferentes huéspedes (o regiones) y se puede cumplir con las reglas de afinidad para asegurar que la base de datos se ejecuta en un equipo diferente, por ejemplo. Éstos son los valores admitidos para el parámetro host:
- host1, host2, host3 , etc. - selecciona un host al azar dentro de un centro de datos (o clúster) para implementaciones de contenedores
- <Dirección IP 1, dirección IP 2, etc.> - permite a un usuario especificar el actual direcciones IP a usar para implementaciones de contenedores
- <Nombre de host 1, 2 Nombre de host, etc.> - permite a un usuario especificar los nombres de host reales de usar para los despliegues de contenedores
- Los comodines (por ejemplo, "db- *", o "app-SRV-*") - para especificar los caracteres comodín para utilizar dentro de un nombre de host
Además, un usuario puede crear imagen-cruz asociaciones de variables de entorno, haciendo referencia a la variable de entorno de otra imagen. En este caso, hemos hecho una unión en este caes: ADMIN_HOSTNAME = {{AdminServer | ip}} - en la que el servidor de administración IP de host se resuelve dinámicamente en tiempo de petición y se utiliza para garantizar que los servidores administrados pueden establecer una conexión con el servidor de administración.
Aquí está una lista de valores de variables de entorno soportados:
- {{alfanumérica | 8}} - crea una cadena alfanumérica de 8 caracteres al azar. Esto es muy útil para crear contraseñas aleatorias.
- {{<Nombre de imagen> | ip}} - le permite introducir la dirección IP del host de un recipiente como un valor para una variable de entorno. Esto es muy útil para permitir que el nivel de middleware para establecer una conexión con la base de datos.
- {{<Nombre de imagen> | container_ip}} - le permite introducir el nombre del contenedor de un contenedor como un valor para una variable de entorno. Esto es muy útil para permitir que el nivel de middleware para establecer una conexión segura con la base de datos (sin exponer el puerto de base de datos).
- {{<Nombre de imagen> | container_private_ip}} - le permite introducir la dirección IP interna de un recipiente como un valor para una variable de entorno. Esto es muy útil para permitir que el nivel de middleware para establecer una conexión segura con la base de datos (sin exponer el puerto de base de datos).
- {{<Nombre de imagen> | puerto _ <número de puerto>}} - le permite introducir el número de puerto de un recipiente como un valor para una variable de entorno. Esto es muy útil para permitir que el nivel de middleware para establecer una conexión con la base de datos. En este caso, el número de puerto especificado tiene que ser el número de puerto interno - es decir, no el puerto externo que se asigna al recipiente. Por ejemplo, {{PostgreSQL | port_5432}} será traducido al puerto externo real que permitirá que la capa de middleware para establecer una conexión con la base de datos.
- {{<Nombre de imagen> | <Nombre de la variable medio ambiente>}} - le permite introducir el valor de la variable de entorno de una imagen en la variable de entorno de otra imagen. Los casos de uso son infinitas - como la mayoría de las aplicaciones de varios niveles tendrán dependencias imagen cruz.
El edificio actual de la imagen de la ventana acoplable WebLogic puede ser automatizado a través DCHQ también. Un usuario puede hacer clic en la creación de imágenes y haga clic en el botón +. Un usuario puede crear una imagen usando un Dockerfile o un proyecto privado / público GitHub que tiene un Dockerfile.
La imagen que creamos para WebLogic se construyó utilizando la imagen de Radu Dobrinescu (radudobrinescu / wls12c: 2.0) ( https://hub.docker.com/r/radudobrinescu/wls12c/ ). Hicimos un par de modificaciones a la imagen en nuestra propia Dockerfile y luego empujó la nueva imagen a nuestro propio repositorio (DCHQ / WebLogic: últimas). La construcción de las imágenes se puede programar utilizando una expresión cron. Por otra parte, un usuario puede utilizar {{}} marca de tiempo en el nombre de la etiqueta con el fin de crear nombres de etiqueta única con cada nueva generación. De esta forma el usuario puede volver a las imágenes más antiguas de copia de seguridad.
Aprovisionamiento y auto-escala la infraestructura subyacente En Cualquier Nube
Una vez que se guarda una aplicación, un usuario puede registrar un proveedor de nube para automatizar el aprovisionamiento y la auto-escala de los racimos en 13 diferentes nube de puntos finales, incluyendo vSphere, OpenStack, CloudStack, Servicios Web de Amazon, Rackspace, Microsoft Azure, digitalocean, HP Pública nube, IBM SoftLayer, Google Compute Engine, y muchos otros.
En primer lugar, un usuario puede registrar un proveedor de nube de Rackspace (por ejemplo) navegando a proveedores de la nube y luego hacer clic en el + botón para seleccionar Rackspace . La clave de API de Rackspace debe ser proporcionada - que puede ser recuperada de la sección Configuración de la cuenta del Panel de control Rackspace Cloud.
Un usuario puede crear un clúster con una política de auto-escala para girar automáticamente los nuevos servidores de la nube. Esto puede hacerse navegando a Clusters página y luego hacer clic en el + botón. Puede seleccionar una política de colocación basadas en la capacidad y luego Tejer como la capa de red con el fin de facilitar la comunicación-contenedor cruz protegido por contraseña segura a través de múltiples hosts dentro de un grupo.
Un usuario puede ahora suministrar un número de servidores de nube en el clúster recién creado por la navegación hacia las máquinas y luego hacer clic en el + botón para seleccionar Rackspace . Una vez seleccionado el proveedor de la nube, un usuario puede seleccionar la región, el tamaño y la imagen sea necesario. Un racimo Luego se activa y el número de Servidores Cloud se puede especificar.
El despliegue de cluster WebLogic a los servidores de la nube de Rackspace
Una vez que los Servidores Cloud se aprovisionan, un usuario puede desplegar un multi-capas, las aplicaciones Java basadas en estibador en los nuevos servidores de la nube. Esto puede hacerse navegando a la Biblioteca de autoservicio y luego hacer clic en Personalizar para solicitar una aplicación multi-nivel.
Un usuario puede seleccionar una Etiqueta para el Medio Ambiente (como DEV o QE) y el Cluster Rackspace creado antes de hacer clic en Ejecutar.
Una vez que se aprovisiona el Cluster WebLogic, un usuario puede tener acceso a la consola de administración del servidor para asegurarse de que los servidores gestionados se descubren y se ejecuta. La dirección URL sería http: // <admin_server_host_ip>: 7001 / console . Las credenciales predeterminadas serían weblogic / welcome1.
Distribución de la cesta de la compra GUERRA archivo Java utilizando la arquitectura de plug-in
Una vez que el cluster WebLogic está en funcionamiento, un usuario puede ejecutar un plug-in de escritura del golpe para desplegar un WAR de Java del archivo de uno de los servidores. En este caso, simplemente invocamos a un plug-in para desplegar la aplicación de carro de compras en el servidor de administración. Del acciones de menú, el usuario puede seleccionar Plug-ins y luego seleccione el contenedor (s) en el que se ejecutará el plug-in. Un usuario puede entonces buscar el plug-in e invalidar los argumentos expuestos.
En este sencillo plug-in, nos estamos agarrando tres archivos desde un servidor remoto, accesible con el fin de implementar la aplicación.
- deploy.py
- deploy_app.sh
- shoppingcart.war
Aquí están los ficheros usados:
deploy.py
---------------------
deploy_app.sh
---------------------
En el acceso a la Terminal-Browser para los contenedores para correr
Un icono de símbolo del sistema debe estar disponible junto a los nombres de los recipientes en la página de aplicaciones en vivo. Esto permite a los usuarios introducir el recipiente usando un protocolo de comunicación segura a través de la cola de mensajes del agente. Una lista blanca de comandos se puede definir por el inquilino de administración para garantizar que los usuarios no hacen ningún cambio perjudicial en los contenedores de funcionamiento.
En este caso, hemos utilizado el símbolo del sistema para asegurarse de que el archivo fue hecho deploy.py descargado en el servidor de administración. Al hacer un simple gato /oracle/fmwhome/wlst_custom/deploy.py - hemos podido comprobar que el archivo de hecho existe en ese contenedor.
a continuación, se accedió la consola de administración del servidor y navegado a despliegues para asegurarse de que la aplicación Cesta de la compra fue de hecho desplegado.
Por último, hemos accedido la aplicación real en http: // <admin_server_host_ip>: 7001 / carrito de la compra
El monitoreo de la CPU, memoria y utilización de E / S de los RunningContainers
Una vez que la aplicación está en funcionamiento, nuestros desarrolladores monitorear la CPU, memoria, I / O y de los contenedores de funcionamiento para recibir alertas cuando estas métricas superan un umbral predefinido. Esto es especialmente útil cuando nuestros desarrolladores están realizando pruebas funcionales y de carga.
Un usuario puede realizar el seguimiento del análisis histórico y correlacionar las cuestiones a las actualizaciones de contenedores o construir implementaciones. Esto se puede hacer haciendo clic en el Acciones menú de la aplicación en ejecución y después de Monitoreo . Un intervalo de fechas personalizado se puede seleccionar para ver la CPU, memoria y E / S históricamente.
El flujo de trabajo que permite la entrega continua con Jenkins para actualizar el archivo WAR de la aplicación se ejecuta cuando se activa A Físico
Para los desarrolladores que deseen seguir el modelo de contenedores "inmutables" mediante la reconstrucción de imágenes acoplables que contienen el código de la aplicación y girando nuevos contenedores con cada actualización de la aplicación, DCHQ proporciona una característica de construcción automatizado que permite a los desarrolladores crear automáticamente imágenes acoplables de Dockerfiles o proyectos de GitHub privados que contienen Dockerfiles.
Sin embargo, muchos desarrolladores pueden desear actualizar los contenedores de servidor de aplicaciones en ejecución con el último archivo WAR de Java en su lugar. Por eso, DCHQ permite a los desarrolladores para permitir un flujo de trabajo continuo con la entrega Jenkins. Esto se puede hacer haciendo clic en el Acciones menú de la aplicación en ejecución y luego seleccionando entrega continua . Un usuario puede seleccionar una instancia de Jenkins que ya ha sido registrada con DCHQ, el trabajo real de Jenkins que producirá el último archivo WAR, y luego una secuencia de comandos BASH plug-in para agarrar esta acumulación y desplegarlo en un servidor de aplicación que se ejecuta. Una vez que esta política se guarda, DCHQ va a agarrar el último archivo WAR de Jenkins cualquier momento una acumulación se activa y desplegarlo en el servidor de aplicación que se ejecuta.
Tenga en cuenta que el plug-in de escritura del golpe puede ser personalizado para asegurarse de que la secuencia correcta de pasos se da por el Servidor WebLogic. Por ejemplo, un usuario puede desear utilizar un plan de despliegue específico o ejecutar algunos scripts antes de ONU-despliegue y luego desplegar el nuevo archivo WAR.
Los desarrolladores, como resultado siempre tendrán la última archivo WAR de Java implementado en sus contenedores se ejecutan en entornos / PRUEBA DEV.
Conclusión
Contenerización de aplicaciones empresariales Java sigue siendo un desafío sobre todo porque los marcos de composición de aplicaciones existentes no abordan dependencias complejas, integraciones externas o auto-escala flujos de trabajo de post-prestación. Por otra parte, el diseño efímero de contenedores significa que los desarrolladores tenían que girar nuevos contenedores y volver a crear las complejas dependencias y integraciones externas con cada actualización de versión.
DCHQ, disponible en versiones alojados y en las instalaciones, se dirige a todos estos retos y simplifica la contenerización de aplicaciones empresariales Java a través de un marco de composición solicitud previa que facilita enlaces de variables de entorno-imagen Cruz, extensibles escritura del golpe plug-ins que se pueden invocar en solicitar tiempo o después de la prestación, y la agrupación de aplicaciones de alta disponibilidad a través de múltiples hosts o regiones con soporte para escalado automático.
para obtener acceso a las plantillas de aplicaciones Java de varias filas fuera de la caja junto con la funcionalidad de gestión del ciclo de vida de aplicaciones como monitoreo, actualizaciones de contenedores, en escala / entrega y continua.
No comments:
Post a Comment