La introducción de la tecnología de contenedores ha mejorado significativamente la facilidad de desarrollo de aplicaciones y Kubernetes está a la vanguardia de dicho progreso. Kubernetes es una plataforma de código abierto que maneja la orquestación de sus contenedores en varias máquinas. Una de estas plataformas de Kubernetes, Red Hat OpenShift (por Red Hat), brinda a los usuarios la capacidad de escalar automáticamente las aplicaciones en la nube. Tiene contenedores de aplicaciones alimentados por Docker con servicios de orquestación y gestión cortesía de Kubernetes. Como tal, OpenShift está ganando popularidad por su arquitectura de contenedor simple. Proporciona una arquitectura de implementación integrada para administrar los contenedores mediante los servicios de orquestación de Kubernetes. Por lo tanto, varios productos están aprovechando esta implementación.
Por ejemplo, es totalmente NCache-soportado. NCache es una solución de almacenamiento en caché distribuida en memoria que garantiza un alto rendimiento y escalabilidad. Almacenamiento en caché de sus datos con NCache reduce sus viajes de red y la carga en su base de datos ya que sus datos residen en el caché, más cerca de su aplicación. En este artículo, nuestro enfoque está en los pasos necesarios para NCache implementación en Red Hat OpenShift.
NCache Detalles NCache Implementación en OpenShift-Docs Uso NCache en OpenShift-Video
NCache Arquitectura de implementación en Red Hat OpenShift
Con NCache, puede disfrutar de su orquestación en la nube basada en el entorno de OpenShift con NCache características utilizando una aplicación de contenedor fácil de administrar. Puede comenzar con un solo clúster de Kubernetes con diferentes implementaciones de aplicaciones y, lo que es más importante, la NCache despliegue de clústeres. Actualmente, las aplicaciones de contenedor basadas en Docker que se ejecutan en el entorno son:
- Aplicación web Java
- Aplicación de servicios web de Java
- ASP.NET Core solicitud en línea.
Estas aplicaciones tienen NCache instalado; en concreto, las aplicaciones Java utilizan clientes Java de NCache, mientras que un despliegue separado para ASP.NET core aplicaciones utiliza una imagen de Docker en Linux y emplear el .NET Core cliente para NCache comunicación. Para la implementación del lado del servidor, utiliza un Docker basado en Linux imagen para NCache disponible en Centro acoplable.
Las aplicaciones se conectan a un servicio llamado Cache Discovery Service, un servicio sin cabeza dentro de Kubernetes. Sirve para administrar el enrutamiento y la asignación de recursos que forman parte del NCache grupo. De manera similar, una puerta de enlace de monitoreo remoto también se conecta a este servicio para permitir el monitoreo del clúster de caché desde fuera de Kubernetes para cualquier operación como NCache gestión de caché.
Mientras trabajamos con Kubernetes, usamos pods. Básicamente, en Kubernetes, las direcciones IP se asignan a los pods. Un pod es un objeto de Kubernetes que encapsula la instancia del contenedor subyacente mientras actúa como una capa virtual sobre un contenedor. Un solo pod puede tener varios contenedores, pero se recomienda enfáticamente que un solo pod contenga un solo contenedor. En resumen, toda la asignación de recursos en un clúster de Kubernetes ocurre en el pod en lugar del contenedor.
El siguiente diagrama ofrece una descripción general del flujo de la arquitectura del NCache despliegue:
NCache Detalles Introducción a Docker ventana acoplable linux
Paso 1: Implementar NCache Servidores
El despliegue NCache servidores en Red Hat OpenShift requiere que cree un archivo YAML con su NCache configuraciones Estas implementaciones YAML contienen todos los componentes de su aplicación y son muy fáciles de implementar. Asegúrese de ajustar estos componentes según los requisitos de su aplicación. A continuación se muestra el archivo YAML de muestra con las configuraciones:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
apiVersion: apps/v1beta1 kind: Deployment metadata: name: ncache labels: app: ncache spec: replicas: 2 template: metadata: labels: app: ncache spec: containers: - name: ncache image: docker.io/alachisoft/ncache:latest ports: - name: management-tcp containerPort: 8250 - name: management-http containerPort: 8251 - name: client-port containerPort: 9800 |
Kubernetes está evolucionando muy rápidamente y sigue presentando nuevas funciones, y estas funciones se convierten rápidamente en parte de la API principal. Sin embargo, varias características no siguen esta trayectoria debido a su naturaleza experimental. Entonces, configuramos la "apiVersion" en consecuencia. La versión utilizada aquí es "v1beta1", que depende de la versión subyacente de Kubernetes. Por lo tanto, asegúrese de no estar utilizando una versión obsoleta.
Los puertos mencionados en el archivo de implementación incluyen lo siguiente:
- puerto 8250: Para la gestión de TCP.
- puerto 8251: Para la gestión y supervisión de HTTP.
- puerto 9800: Para la comunicación entre las aplicaciones cliente que se conectan a NCache.
Primero, configuramos kind para deployment. Lo siguiente es el número de réplicas (2 en este caso), y puedes aumentarlo según tu lógica. Para obtener más detalles sobre las réplicas de cápsulas, consulte esta página. Para los contenedores, debe especificar la imagen de Docker proporcionando la ruta del NCache Enterprise Imagen de servidor Linux Docker disponible en Centro acoplable. El comando general para extraer esta imagen de Docker es:
1 |
docker pull alachisoft/ncache:latest |
Una vez que haya creado el archivo YAML con todas las configuraciones necesarias, debe importar el archivo mediante la consola web de OpenShift. Cree un nuevo proyecto con el nombre que elija e importe el archivo YAML al proyecto que contiene el NCache implementaciones. También puede utilizar el Herramienta CLI de OpenShift, que muestra el estado de las implementaciones.
NCache Detalles NCache Escenarios de implementación Ventana acoplable de reenvío de puertos
Paso 2: crear un servicio de descubrimiento de caché
Como se estableció anteriormente, el Servicio de Descubrimiento de Caché es el encargado de enrutar todos los NCache comunicación con los pods subyacentes. Este servicio de descubrimiento actúa como la puerta de enlace de comunicación central entre las aplicaciones cliente y NCache clústeres de caché que forman parte del clúster de Kubernetes. Además, es un servicio sin cabeza y recupera las direcciones IP de los subyacentes NCache módulos de servidores de caché en el clúster de Kubernetes.
Para crear un servicio de este tipo, debe crear otro YAML, como se muestra a continuación:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
apiVersion: v1 kind: Service metadata: name: cacheserver labels: app: cacheserver spec: clusterIP: None sessionAffinity: ClientIP selector: app: ncache ports: - name: management-tcp port: 8250 targetPort: 8250 - name: client-port port: 9800 targetPort: 9800 |
Aquí se nombra servidor de caché Sin embargo, puede consultarlo según corresponda para sus configuraciones. En este caso, el "tipo" es de coches. Además, contiene los puertos con el nombre y los números de puerto necesarios para la comunicación junto con el servicio de descubrimiento. El "sessionAffinity" se establece en ClientIP, lo que garantiza que las operaciones de administración y monitoreo fuera del clúster de Kubernetes estén adheridas a uno de los pods en el momento dado. Después de crear el archivo YAML, importe este archivo a través del asistente y creará automáticamente su servicio de descubrimiento de caché, como se muestra en la imagen a continuación.
Paso 3: Crear puerta de enlace de administración
Este paso organiza la gestión y el seguimiento de las operaciones fuera del clúster de Kubernetes. Cualquier operación de administración que se lleve a cabo se enruta a través de esta puerta de enlace a este servicio de descubrimiento de caché y eso, a su vez, lo ayudaría a administrar y monitorear todos los pods subyacentes también.
Para crear la puerta de enlace de gestión:
- Vaya a la sección "Redes" del portal de OpenShift.
- Elija una "Ruta" en el menú desplegable.
- Cree una ruta al servicio sin cabeza, también conocido como el Servicio de descubrimiento de caché.
- Proporcione un nombre para la ruta y seleccione el servicio "cacheserver" creado en el paso anterior. Además, proporcione el puerto de destino 8251 para la administración y el monitoreo fuera del clúster de Kubernetes.
5. Una vez creado, elija la ruta de ubicación que redirigirá a NCache Web Manager en uno de los módulos del servidor de caché para "Ubicación".
Paso 4: crear un clúster de caché
Ahora que hemos implementado con éxito NCache en Red Hat OpenShift, podemos crear un clúster de caché usando NCache Web Manager.
Cree el clúster de caché siguiendo los pasos de la documentación y asegúrese de que las direcciones IP utilizadas sean las direcciones IP de sus módulos de caché. Para obtener las direcciones IP de los módulos de caché, vaya a la sección "Pods" desde la consola web de OpenShift o la herramienta de línea de comandos. Una vez el creación de caché está completo, inicie el caché usando NCache Web Manager.
NCache Detalles Crear un clúster de caché Operación de gestión de caché
Paso 5: implementar aplicaciones cliente
Ahora puede implementar y ejecutar sus aplicaciones cliente creando un archivo YAML que contenga la implementación para clientes. Importamos este archivo de implementación mediante el portal de OpenShift. Las aplicaciones cliente pueden ser .NET Core o Java según sea necesario.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
apiVersion: apps/v1beta1 kind: Deployment metadata: name: clientapp labels: app: clientapp spec: replicas: 1 template: metadata: labels: app: clientapp spec: containers: - name: clientapp image: your-client-application-repo-path ports: - name: management-tcp containerPort: 8250 |
Aquí, para conectarnos al caché, no necesitamos las direcciones IP de los módulos de caché. El servicio de descubrimiento de caché que creamos con el nombre "cacheServer" proporciona la dirección IP de los módulos de caché a nuestra aplicación cliente en tiempo de ejecución. los NCache El cliente tiene esta lógica incorporada para hablar con su servicio designado y descubrir automáticamente todos los recursos subyacentes dentro de la plataforma OpenShift Kubernetes.
Por lo tanto, la NCache El cliente es lo suficientemente inteligente como para conectarse a un clúster completamente conectado proporcionando el nombre del servicio.
Paso 6: Monitoreo NCache Médico
NCache viene con varias herramientas para ayudarlo a monitorear su clúster de caché. Supervisar su clúster de caché le brinda información en tiempo real sobre el estado del clúster, la actividad de la caché, la cantidad de operaciones que se realizan y mucho más. También puede monitorear su clúster de caché para tomar las medidas adecuadas para la interrupción de la red, los gastos generales de memoria y muchos más.
NCache Web Manager es una herramienta de gestión proporcionada por NCache para configurar los cachés y monitorear su desempeño. Similarmente, NCache Monitor web es una herramienta de administración web que le permite monitorear el rendimiento del caché en tiempo real.
Paso 7: Escalado NCache Médico
NCache es un sistema de almacenamiento en caché distribuido con una arquitectura muy escalable. Por lo tanto, para lograr una mayor capacidad y funcionalidad para NCache en su entorno OpenShift, puede escalar su NCache agrupar agregando más pods. Hay múltiples formas de hacer esto. Comenzando con el portal web de OpenShift:
- Vaya a "Implementaciones".
- Haga clic en el botón "Editar recuento".
- Aumente el número de pods haciendo clic en el botón "+".
Al continuar con estos pasos automáticamente, aumenta el recuento de réplicas en su archivo de implementación, según la cantidad de pods agregados. También puede tener lugar usando Herramienta OpenShift CLI (oc).
Tenga en cuenta que al agregar estos pods, crea otro pod, pero no se convierte en parte del clúster por sí mismo. Entonces, a añadir servidores de caché a un clúster de caché en ejecución, vaya a la página Nodos del servidor desde NCache Web Manager y agregue una IP de servidor para agregar ese nodo de servidor en el clúster. Se agrega un nodo de servidor a su clúster de caché en tiempo de ejecución y mejora drásticamente el rendimiento con NCacheEs fácil de escalar.
NCache Detalles NCache Despliegue en OpenShift Uso NCache en OpenShift
Conclusión
Esencialmente, NCache la implementación en Red Hat OpenShift es un procedimiento paso a paso fácil de seguir. La contenedorización es una necesidad tecnológica emergente del mundo actual por la naturaleza liviana que ofrecen. NCache es una solución de almacenamiento en caché distribuida extremadamente rápida y, con Red Hat OpenShift, puede administrar fácilmente su clúster de Kubernetes en contenedores. Así que entra en el mundo de NCache para ejecutar sus aplicaciones en el clúster de Kubernetes con solo unos sencillos pasos.