El conjunto de documentos para este producto aspira al uso de un lenguaje no discriminatorio. A los fines de esta documentación, "no discriminatorio" se refiere al lenguaje que no implica discriminación por motivos de edad, discapacidad, género, identidad de raza, identidad étnica, orientación sexual, nivel socioeconómico e interseccionalidad. Puede haber excepciones en la documentación debido al lenguaje que se encuentra ya en las interfaces de usuario del software del producto, el lenguaje utilizado en función de la documentación de la RFP o el lenguaje utilizado por un producto de terceros al que se hace referencia. Obtenga más información sobre cómo Cisco utiliza el lenguaje inclusivo.
Cisco ha traducido este documento combinando la traducción automática y los recursos humanos a fin de ofrecer a nuestros usuarios en todo el mundo contenido en su propio idioma. Tenga en cuenta que incluso la mejor traducción automática podría no ser tan precisa como la proporcionada por un traductor profesional. Cisco Systems, Inc. no asume ninguna responsabilidad por la precisión de estas traducciones y recomienda remitirse siempre al documento original escrito en inglés (insertar vínculo URL).
Abstracto
Este documento presenta una guía completa sobre la implementación y la gestión de aplicaciones de automatización de procesos empresariales (BPA) mediante el servicio Amazon Elastic Kubernetes Service (EKS). Describe los requisitos previos, destaca las ventajas de utilizar EKS y proporciona instrucciones paso a paso para configurar un clúster EKS, una base de datos Amazon RDS y un sistema MongoDB Atlas. Además, el documento profundiza en la arquitectura de implementación y especifica los requisitos del entorno, ofreciendo un recurso exhaustivo para las organizaciones que pretenden aprovechar EKS para sus aplicaciones BPA en contenedores.
Palabras clave
Amazon EKS, Kubernetes, AWS, RDS, MongoDB Atlas, DevOps, Cloud Computing, automatización de procesos empresariales.
En la era digital actual, las empresas buscan agilizar y automatizar los procesos empresariales complejos en una amplia gama de entornos de TI. La automatización de procesos empresariales (BPA) se ha convertido en una tecnología fundamental que permite a las organizaciones mejorar la eficacia operativa, reducir los errores y mejorar la prestación de servicios. BPA presenta varias innovaciones y mejoras clave destinadas a avanzar en la automatización del flujo de trabajo, el aprovisionamiento de servicios y las aplicaciones de automatización estándar.
La plataforma BPA aloja aplicaciones y casos de uso operativos y de TI/empresariales, como actualizaciones de SO, aprovisionamiento de servicios e integración con motores de orquestación. Los clientes tienen acceso a un ciclo de vida de servicios y funciones de BPA que incluyen asesoría, implementación, servicios empresariales críticos y asistencia para soluciones a través de expertos de Cisco, prácticas recomendadas y técnicas y metodologías probadas que ayudan a automatizar sus procesos empresariales y a eliminar el riesgo de sus sistemas.
Estas capacidades del ciclo de vida pueden estar basadas en suscripciones o personalizarse según las necesidades individuales. Los servicios de implementación ayudan a definir, integrar e implementar herramientas y procesos para acelerar la automatización. Los expertos de Cisco llevan a cabo un proceso formal para recopilar requisitos, diseñar y desarrollar historias de usuarios basadas en procesos ágiles y herramientas de integración continua y prestación continua (CICD), e implementa servicios flexibles con pruebas automatizadas de flujos de trabajo, dispositivos y servicios nuevos o existentes. Con la Asistencia para soluciones, los clientes pueden acceder a una asistencia centralizada las 24 horas del día, los 7 días de la semana, que se centra en los problemas centrados en el software, junto con la asistencia de varios proveedores y código abierto que se ofrece a través del modelo de software por niveles de Cisco. Los expertos en asistencia para soluciones de Cisco le ayudan a gestionar su caso desde la primera llamada hasta la resolución final y actúan como el principal punto de contacto al trabajar con varios proveedores simultáneamente. Podrá experimentar hasta un 44% menos de problemas al trabajar con expertos en soluciones, lo que le ayudará a mantener la continuidad empresarial y a obtener un retorno de la inversión en BPA más rápido.
Las características técnicas clave, como la compatibilidad con FMC y dispositivos administrados con Ansible, las ejecuciones paralelas mediante Advanced Queuing Framework (AQF) y el cumplimiento ampliado de la configuración para los dispositivos NDFC y FMC, posicionan a BPA como una solución completa para la automatización empresarial a gran escala. Con capacidades añadidas en gestión de SD-WAN, incorporación de dispositivos y administración de políticas de firewall, la versión aborda aspectos críticos de la seguridad y la automatización de la red, satisfaciendo las demandas de entornos de varios proveedores a gran escala.
EKS
Amazon Elastic Kubernetes Service (EKS) es un servicio de Kubernetes totalmente administrado proporcionado por Amazon Web Services (AWS). EKS, que se lanzó en 2018, simplifica el proceso de implementación, gestión y ampliación de aplicaciones en contenedores mediante Kubernetes, una plataforma de orquestación de contenedores de código abierto. EKS abstrae las complejidades de la gestión de clústeres de Kubernetes, lo que permite a los desarrolladores centrarse en crear y ejecutar aplicaciones sin necesidad de gestionar la infraestructura subyacente.
Ventajas del uso de Amazon EKS para la implementación de aplicaciones
Amazon EKS ofrece varias ventajas para la implementación de aplicaciones, lo que lo convierte en una opción popular para las organizaciones que aprovechan aplicaciones y microservicios en contenedores.
Entre las principales ventajas se incluyen:
Plano de control de Kubernetes administrado: EKS se encarga de la implementación, la ampliación y el mantenimiento del plano de control de Kubernetes, lo que reduce la carga operativa.
Gestión de clústeres simplificada: EKS abstrae las complejidades de la configuración y gestión de clústeres de Kubernetes.
Escalabilidad: EKS permite una sencilla ampliación de clústeres para adaptarse a cargas de trabajo cada vez mayores.
Alta disponibilidad: EKS admite implementaciones de zonas de disponibilidad múltiple, lo que mejora la disponibilidad y la tolerancia a fallos.
Integración con los servicios de AWS: EKS se integra a la perfección con varios servicios de AWS.
Arquitectura de implementación de BPA
Esta imagen representa una arquitectura de alto nivel de una infraestructura basada en la nube implementada en AWS, utilizando varios componentes clave. Aquí hay un desglose del diagrama:
ALB (equilibrador de carga de aplicaciones): se sitúa en la parte frontal, recibe el tráfico de los usuarios y lo distribuye por el clúster EKS para gestionar las cargas de trabajo de las aplicaciones. El equilibrador de carga garantiza que las solicitudes se distribuyan de manera uniforme y que puedan gestionar la escalabilidad según la demanda del tráfico.
Amazon RDS (Servicio de base de datos relacional) - PostgreSQL: En el lado derecho del diagrama, hay una instancia de Amazon RDS que ejecuta PostgreSQL. A esta base de datos pueden tener acceso las aplicaciones que se ejecutan dentro del clúster EKS.
ECR (Elastic Container Registry): Aquí es donde se almacenan y administran las imágenes del contenedor Docker, que luego se implementan en Amazon EKS para ejecutar las cargas de trabajo.
MongoDB Atlas: En el lado izquierdo, MongoDB Atlas se integra en la arquitectura a través de un terminal privado. MongoDB Atlas es un servicio de base de datos NoSQL alojado en la nube, utilizado aquí para manejar los requisitos de base de datos basados en documentos. El terminal privado garantiza una comunicación segura y privada entre la instancia de MongoDB Atlas y otros componentes de AWS.
Host de bastión: ubicado en la VPC (nube privada virtual), un host de bastión proporciona un punto de entrada seguro para que los administradores accedan a los recursos dentro de la VPC sin exponerlos directamente a Internet.
En general, esta arquitectura proporciona una solución segura, escalable y de alta disponibilidad para implementar y administrar aplicaciones en contenedores mediante Amazon EKS, con compatibilidad con bases de datos relacionales (PostgreSQL) y NoSQL (MongoDB).
Configuración del clúster EKS
Para crear un clúster de Amazon EKS mediante la CLI de AWS, se puede utilizar la utilidad de línea de comandos eksctl
. Este es un ejemplo de comando:
eksctl create cluster \
--name
\ --region us-west-2 \ --nodegroup-name standard-workers \ --node-type t3.medium \ --nodes 4 \ --nodes-min 4 \ --nodes-max 6
La implementación de una base de datos relacional en Amazon RDS implica estos pasos:
Asegúrese de que la configuración predeterminada para "DB instance size" (Tamaño de instancia de base de datos) y "Storage" (Almacenamiento) esté seleccionada.
En función del tamaño del clúster y de los requisitos de datos, seleccione el tamaño de instancia de base de datos y el tipo de almacenamiento adecuados.
En función de nuestro caso práctico, hemos elegido la siguiente configuración:
Tamaño de instancia de BD: db.m5d.2xlarge
Una vez verificado, estamos listos para crear la base de datos. Vuelva al panel de Amazon RDS. Confirme que la instancia está disponible para su uso.
Actualice el grupo de seguridad entrante con el POD CIDR y el bloque CIDR del nodo.
En RDS -> Databases -> DB-NAME, haga clic en configuration y consulte la sección Parameter Group y haga clic en el grupo de parámetros para ver.
PG_ROOT_DATABASE=admin
PG_INITDB_ROOT_USERNAME=admin
PG_INITDB_ROOT_PASSWORD=Bp@Chang3d!
AUTH_DB_NAME=kong
AUTH_DB_USER=kong
AUTH_DB_PASSWORD=K@ngPwdCha*g3
WFE_DB_USER=camunda
WFE_DB_PASSWORD=W0rkFlo#ChangeNow
WFE_DB_NAME=process-engine
Autenticación de contraseña
Autentica mediante contraseñas de base de datos.
ECR como registro de imágenes
La creación de repositorios de Amazon ECR y la inserción de imágenes Docker en ellos implica varios pasos. Estos son los pasos para crear un repositorio ECR, etiquetar una imagen Docker y enviarla al repositorio mediante la CLI de AWS.
aws ecr create-repository --repository-name your-image-name --region your-region
Sustituir:
your-image-name con el nombre deseado para el repositorio de ECR.
su región con su región de AWS
Asegúrese de que los nodos de trabajo EKS (instancias EC2) tengan la función IAM necesaria asociada con permisos para extraer imágenes de ECR. La política IAM necesaria es:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ecr:GetDownloadUrlForLayer",
"ecr:BatchGetImage",
"ecr:BatchCheckLayerAvailability"
],
"Resource": "*"
}
]
}
Adjunte esta política al rol IAM asociado con sus nodos de trabajo EKS.
Implementación de BPA
La implementación de BPA implica varios pasos, incluidos el etiquetado de nodos de trabajo EKS, la preparación de directorios en nodos, la copia de paquetes BPA y la implementación de BPA mediante Helm.
Para la implementación de nuestros clientes, hemos utilizado las siguientes versiones de software y servicios en la nube:
Estos componentes garantizan que nuestra implementación sea sólida, escalable y capaz de gestionar las cargas de trabajo necesarias de forma eficaz.
kubectl label node
name=node-1 kubectl label node
name=node-2 kubectl label node
name=node-3 kubectl label node
name=node-4
rm -rf /opt/bpa/data/
mkdir -p /opt/bpa/data/zookeeper1
mkdir -p /opt/bpa/data/zookeeper4
mkdir -p /opt/bpa/data/zookeeper5
chmod 777 /opt/bpa/data/zookeeper1
chmod 777 /opt/bpa/data/zookeeper4
chmod 777 /opt/bpa/data/zookeeper5
mkdir -p /opt/bpa/data/kafka1
chmod 777 /opt/bpa/data/kafka1
sysctl -w vm.max_map_count=262144
rm -rf /opt/bpa/data
sysctl -w vm.max_map_count=262144
mkdir -p /opt/bpa/data/kafka2
mkdir -p /opt/bpa/data/zookeeper2
mkdir -p /opt/bpa/data/zookeeper4
mkdir -p /opt/bpa/data/zookeeper5
chmod 777 /opt/bpa/data/kafka2
chmod 777 /opt/bpa/data/zookeeper2
chmod 777 /opt/bpa/data/zookeeper4
chmod 777 /opt/bpa/data/zookeeper5
rm -rf /opt/bpa/data
sysctl -w vm.max_map_count=262144
mkdir -p /opt/bpa/data/kafka3
mkdir -p /opt/bpa/data/zookeeper3
mkdir -p /opt/bpa/data/zookeeper4
mkdir -p /opt/bpa/data/zookeeper5
chmod 777 /opt/bpa/data/kafka3
chmod 777 /opt/bpa/data/zookeeper3
chmod 777 /opt/bpa/data/zookeeper4
chmod 777 /opt/bpa/data/zookeeper5
Nodo 4:mkdir -p /opt/bpa/data/elk
mkdir -p /opt/bpa/data/metrices/prometheus
mkdir -p /opt/bpa/data/metrices/grafana
chmod 777 /opt/bpa/data/metrices
chmod 777 /opt/bpa/data/metrices/prometheus
chmod 777 /opt/bpa/data/metrices/grafana
sysctl -w vm.max_map_count=262144
scp -r packages to node1:/opt/bpa/
scp -r packages to node2:/opt/bpa/
scp -r packages to node3:/opt/bpa/
scp -r packages to node4:/opt/bpa/
helm install bpa-rel --create-namespace --namespace bpa-ns /opt/EKS/bpa-helm-chart
Configuración de entrada
values.
yamlpara habilitar el ingreso:ingress_controller: {create: true}
cd /opt/bpa/
/bpa/conf/common/certs/ kubectl create secret tls bpa-certificate-ingress --cert=bap-cert.pem --key=bap-key.pem -n bpa-ns
ingress-controller.yaml
archivo:cd /opt/bpa/
/templates/ vi ingress-controller.yaml "- --default-ssl-certificate=$(POD_NAMESPACE)/bpa-certificate-ingress"
Especificaciones del entorno
Las especificaciones de entorno incluyen requisitos para instancias EC2, equilibradores de carga, terminales VPC e instancias RDS. Las especificaciones clave son:
Requisitos de EC2:
Requisitos de almacenamiento:2 TB de espacio por nodos. Monte el volumen EBS en /opt y agregue una entrada en /etc/fstab para todos los nodos.
Grupo de seguridad entrante: 30101, 443, 0 - 65535 TCP, 22 para ssh.
Grupo de seguridad saliente: todo el tráfico debe estar habilitado.
Resolución de DNS: EC2 debe tener resoluciones en las instalaciones en /etc/resolve.conf.
Requisitos del equilibrador de carga:
Requisitos de RDS:
Tipo de RDS: db.r5b.2xlarge
Versión del motor Postgres: 13.7
Grupo de seguridad: el tráfico entrante debe permitir el tráfico del origen de POD CIDR.
Conceptos y componentes clave
Comprender los fundamentos de Kubernetes es esencial para implementar y administrar eficazmente aplicaciones usando Amazon EKS.
Conclusión
Este documento proporciona una guía detallada para implementar y administrar aplicaciones de automatización de procesos empresariales (BPA) mediante Amazon EKS. Siguiendo los pasos descritos y comprendiendo los conceptos clave, las organizaciones pueden aprovechar las ventajas de EKS para sus aplicaciones BPA en contenedores.
Referencias
Revisión | Fecha de publicación | Comentarios |
---|---|---|
1.0 |
10-Oct-2024 |
Versión inicial |