HEADER_lecciones_de_software

Instalación y configuración ODM Kubernetes AWS EKS

por Diego Alexander Arias, el 7 de diciembre de 2020

Instalación y configuración ODM Kubernetes AWS EKS

IBM Operational Decision Management (ODM) es una familia de productos que utilizan TI y usuarios comerciales para crear y administrar la lógica de decisiones comerciales que se utiliza a lo largo de sus organizaciones. Permite a las empresas responder a los datos en tiempo real con sistemas inteligentes y decisiones automatizadas.

La gestión de decisiones operativas consta de dos componentes clave:

  • WebSphere Decision Center proporciona un repositorio integrado y permite la gestión de reglas de negocio y lógica basada en eventos. Proporciona una gobernanza de decisiones integral, permitiendo que los usuarios de TI y empresariales trabajen en colaboración en toda una organización.
  • WebSphere Decision Server proporciona herramientas basadas en Eclipse y ejecución de alto rendimiento times, Decision Server Rules y Decision Server Events, para el procesamiento de reglas y eventos.

Este proyecto implementa tecnologías de Kubernetes y Docker, para más detalle de la implementación seguir el link.

Instalación y configuración ODM Kubernetes AWS EKS 1

PRERREQUISITOS

Se requiere instalar y configurar las siguientes aplicaciones:

Pasos para implementar ODM en Kubernetes en Amazon EKS
Estos pasos nos permitirán implementar una topología en clúster de IBM Operational Decision Manager (ODM) en la nube de Amazon utilizando el servicio Elastic Kubernetes Service (EKS).
ODM en Kubernetes en Amazon EKS 1

La instalación Comprende los siguientes componentes:

  • Operational Decision Manager de IBM
  • Amazon Elastic Kubernetes (Amazon EKS)
  • Registro de contenedores elásticos de Amazon (Amazon ECR)
  • Base de datos relacional de Amazon (Amazon RDS)
  • Balanceador de carga de aplicaciones de Amazon (Amazon ALB)

Para complementar la información pueden revisar ODM sobre AWS EKS

1. Crear role IAM para cluster EKS

Abra la consola de IAM, Elija Roles y a continuación, Crear rol y luego seleccione EKS en la lista de servicios

Crear role IAM para cluster EKS 1

 Luego Seleccione para su caso de uso EKS - Cluster y continuación Siguiente:Permisos.

Crear role IAM para cluster EKS 2

Seleccione Siguiente:etiquetas.

De manera opcional, añada metadatos al rol asociando etiquetas como pares de clave-valor y seleccione Siguiente:Revisar.
En nombre de rol (eks-pruebaODM-cluster), debe ser un nombre exclusivo para su rol y elija Crear rol.

Crear role IAM para cluster EKS 3

2. Crear una VPC

Al crear un clúster de Amazon EKS, se deben especificar las subredes de la VPC que el clúster va a usar. Amazon EKS requiere subredes en al menos dos Zona de disponibilidad y recomienda una VPC con subredes públicas y privadas para que Kubernetes pueda crear balanceadores de carga públicos en las subredes públicas que equilibren la carga de tráfico con los pods que se ejecutan en los nodos de las subredes privadas.

Abra la consola AWS CloudFormation.

Asegure una región compatible con Amazon EKS y elija Crear stack, con nuevos recursos [estándar], y creamos el stack a partir de un template donde seleccionamos la ubicación del archivo con el template (eksODM-prueba-VPC.yaml), debemos asegurar que el template no cree NATGateway, ni Elastic IP y seleccionamos Siguiente.

Crear una VPC 1

Seleccionamos crear stack y esperamos que se cree el stack y la VPC.

3. Crear cluster EKS Consola administrativa de AWS

Abra la consola de Amazon EKS, elija Crear cluster y en configurar clúster rellene los siguientes campos:

  • Nombre: Un nombre único para el clúster (cluster_EKS_ODM_prueba).
  • Versión de Kubernetes: Versión de Kubernetes que debe usarse para el clúster (1.17).
  • Rol de servicio de clúster: Seleccione el rol de IAM con el que creó Cree su rol de IAM del clúster de Amazon EKS (eks-pruebaODM-cluster).

Crear cluster EKS Consola administrativa de AWS 1

Para los campos de cifrado de secretos, se deben tener las siguientes consideraciones y posterior al diligenciamiento, seleccionamos Siguiente.

  • Cifrado de secretos: (Opcional) Seleccione habilitar el cifrado de sobres de los secretos de Kubernetes mediante AWS Key Management Service (AWS KMS).
  • Etiquetas: (opcional) añada las etiquetas a su clúster para su identificación.

En la página Especificar red, seleccione valores para los siguientes campos:

  • VPC: la VPC que creó anteriormente en Crear la VPC del clúster de Amazon EKS.
  • Encontrará el nombre de la VPC en la lista desplegable.
  • Subredes: De forma predeterminada se escogen las subredes disponibles de la VPC especificada en el campo anterior.
  • Security Groups: El valor de SecurityGroups de la salida de AWS CloudFormation generada en Crear la VPC del clúster de Amazon EKS. Este grupo de seguridad tiene ControlPlaneSecurityGroup en el nombre desplegable.

Crear cluster EKS Consola administrativa de AWS 2

Configurar el intervalo de direcciones IP del servicio Kubernetes (Opcional), especifique un valor en Service IPv4 range (Intervalo de IPv4 del servicio) si desea especificar el bloque de CIDR desde el que Kubernetes asigna direcciones IP del servicio.

En Acceso de punto de enlace del clúster, elija la opción público/privado y seleccione Siguiente:

Public and private (Público y/o privado): Permite el acceso público y privado al punto de enlace del servidor de la API Kubernetes de su clúster, De forma predeterminada, se permite el acceso desde cualquier dirección IP de origen.

Crear cluster EKS Consola administrativa de AWS 3

En la página Configure logging (Configurar registro) puede elegir opcionalmente los tipos de registro que desea habilitar. De forma predeterminada, los tipos de registro están Disabled (Deshabilitados). Seleccione Next (Siguiente).

En la página revisar y crear, revise la información que ha introducido o seleccionado en las páginas anteriores y seleccione Crear.

Crear cluster EKS Consola administrativa de AWS 4

El campo Status (Estado) muestra CREATING (CREANDO) hasta que termina el proceso de aprovisionamiento del clúster. Cuando se complete el aprovisionamiento del clúster (normalmente entre 10 y 15 minutos), observe los valores de API server endpoint (Punto de enlace del servidor de API) y Certificate authority (Autoridad de certificado). Se usarán en la configuración de kubectl.

Crear cluster EKS Consola administrativa de AWS 5

4. Configurar kubeconfig

Existen varios métodos para crear o actualizar su kubeconfig. en nuestro caso utilizaremos rápidamente un kubeconfig con el update-kubeconfig comando de la AWS CLI.

Ejecutar el comando, para la creación del kubeconfig

$aws eks --region us-east-1 update-kubeconfig --name cluster_EKS_ODM_prueba

Comprobar que el entorno esté configurado correctamente, obtenga la información del clúster ejecutando el siguiente comando:

$kubectl get svc

Configurar kubeconfig

5. Create compute

Para crear el compute, se puede utilizar Fargate – Linux o Managed nodes – Linux, para este caso utilizaremos la segunda opción. Para profundizar más en las posible opciones, podemos validar el link

Role del compute

Abra la consola de IAM, elija Rol y Crear rol, elija EC2 en la lista de Casos de uso comunes, y elija Siguiente:Permisos.

Create compute AWS  EKS

En el cuadro Políticas de filtro, escriba AmazonEKSWorkerNodePolicy y active la casilla de verificación situada a la izquierda de AmazonEKSWorkerNodePolicy, repita los pasos para la politica AmazonEKS_CNI_Policy y AmazonEC2ContainerRegistryReadOnly, poterior a esto seleccione Siguiente:Etiquetas.

Create compute AWS  EKS 2

Create compute AWS  EKS 3

De manera opcional, añada metadatos al rol asociando etiquetas como pares de clave-valor y seleccione Siguiente:Review.

  • Nombre de rol: Escriba un nombre único para su rol (eks-pruebaODM-NodeInstanceRole).
  • Descripción del rol: Sustituya el texto actual por el texto descriptivo (Amazon EKS - Node Group Role), a continuación elija Crear rol
    Create compute AWS  EKS 4

Crear grupo de nodos administrados

Para crear su grupo de nodos administrados mediante la consola de administración de AWS, se debe asegurar que el estado del clúster creado previamente, se encuentre en estado ACTIVO, de lo contrario no puede crear un grupo de nodos administrados.

Abra la consola AWS EKS, elija el nombre del clúster en el que desea crear el grupo de nodos administrados y en la página del clúster, seleccione la pestaña Calcular y, a continuación, elija Agregar grupo de nodos.

Create compute AWS  EKS 5

En la página Configurar grupo de nodos rellene los parámetros en consecuencia y, a continuación, elija Siguiente.

  • Nombre: Escriba un nombre único para el grupo de nodos administrados (NodeGroupCompute-eks-pruebaODM).
  • Nombre del rol de – del nodo: Elija el rol de instancia de nodo que va a utilizar con el grupo de nodos (eks-pruebaODM-NodeInstanceRole).

Create compute AWS  EKS 6

  • Use launch template (opcional): elija si desea utilizar una plantilla de lanzamiento existente y, a continuación, seleccione una Launch template version (opcional). Si no selecciona una versión, Amazon EKS utiliza la versión predeterminada de la plantilla.
  • Kubernetes labels (opcional): puede elegir aplicar etiquetas de Kubernetes a los nodos de su grupo de nodos administrados.
  • Tags (Opcional): Puede elegir etiquetar el grupo de nodos administrados de Amazon EKS. Estas etiquetas no se propagan a otros recursos del grupo de nodos, como instancias o grupos Auto Scaling.

En la página configurar compute y configuración de scaling, rellene los parámetros según corresponda y elija Next.

Para la configuración del compute del grupo de nodos, se debe tener en cuenta:

  • AMI type: – Elija Amazon Linux 2 (AL2_x86_64) para instancias que no sean de GPU.
  • Instance type: Elija el tipo de instancia que desea utilizar en el grupo de nodos administrados (t3.medium).
  • Disk size: Escriba el tamaño del disco (20 en GiB) que se usará para el volumen raíz del nodo.

Create compute AWS  EKS 7

Parar la configuración de escalado del grupo de nodos, debe considerar:

  • Minimum size: Especifique el número mínimo de nodos al que puede escalar el grupo de nodos administrados.
  • Maximum size: Especifique el número máximo de nodos al que puede escalar el grupo de nodos administrados.
  • Desired size: Especifique el número actual de nodos que debe mantener el grupo de nodos administrados durante el lanzamiento.

Create compute AWS  EKS 8

En la página Especificar redes, diligencie los parámetros teniendo en cuenta cada parámetros y, a continuación, elija Next (Siguiente).

  • Subredes: Seleccione las subredes en las que iniciar los nodos gestionados.
  • Allow remote access to nodes (opcional, pero predeterminado): El acceso SSH le permite conectarse a sus instancias y recopilar información de diagnóstico si hay algún problema.
  • Par de claves SSH: Elija una clave SSH de Amazon EC2 para utilizar.

En la página Revisar y crear revise la configuración del grupo de nodos administrados y elija Crear.

Create compute AWS  EKS 9

Observe el estado de sus nodos y espere a que alcancen el Ready estado.

Create compute AWS  EKS 10

Para validar el estado de los nodos, ejecutar el comando.

$ kubectl get nodes --watch

Create compute AWS  EKS 11

6. Envíe las imágenes ODM al registro ECR

Amazon ECR, puede usar los registros de para alojar sus imágenes de contenedor en una arquitectura escalable y de alta disponibilidad, lo que le permite implementar contenedores para sus aplicaciones con fiabilidad.

Conectarse desde cli hacia AWS ECR

$ aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin <AWS-AccountId>.dkr.ecr.us-east-1.amazonaws.com

Crear instancias de repositorio ECR

Puede administrarrepositorios ECR que consten de imágenes de Docker, para lo cual se debe utilizar el comando en realcion y el parámetro (--repository-name), donde se debe enviar por cada imagen a utilizar (odm-decisioncenter, odm-decisionrunner, odm-decisionserverruntime, odm-decisionserverconsole y dbserver)

$ aws ecr create-repository --repository-name <Ingresar nombre de cada imagen> --image-scanning-configuration scanOnPush=true --region us-east-1

7. Cargar imágenes de ODM localmente

Descargue binarios de IBM passport advantage

Descargue uno o más paquetes (archivos .tgz) de IBM Passport Advantage, para ver la lista completa de imágenes de instalación de eAssembly.

Cargar imágenes de ODM localmente 1

Compruebe que puede ejecutar un comando de Docker, de lo contrario asegure la descarga e instalación.

$ docker ps

Cargar imágenes a un docker local

Utilizar el comando para cargar las imágenes, con el parámetro (--input), donde se debe ingresar el nombre de cada imagen.

$ docker load --input [Ingrese el nombre de cada una de las imágenes descargadas y descomprimida en formato tar.gz]

Etiquetar imágenes en docker local

Se debe etiquetar las imágenes en el registro ECR creado previamente, utilizando el comando en relación y modificando el parámetro (--repository-name), donde se debe enviar por cada imagen a utilizar (odm-decisioncenter, odm-decisionrunner, odm-decisionserverruntime, odm-decisionserverconsole y dbserver)
.

$ docker tag odm-decisioncenter:8.10.3.0-amd64 <AWS-AccountId>.dkr.ecr.us-east-1.amazonaws.com/<Ingresar nombre del tag de cada imagen>:8.10.3.0-amd64

Crear a pull secret para registro ECR

Utilizar el siguiente comando para generar un secreto de pull para las imágenes.

$ kubectl create secret docker-registry ecrodm --docker-server=<AWS-AccountId>.dkr.ecr.us-east-1.amazonaws.com --docker-username=AWS --docker-password=$(aws ecr get-login-password --region us-east-1)

Subir imágenes de docker local a repositorio ECR

Se debe cargar las imágenes en el registro ECR creado previamente, utilizando el comando en relación y teniendo en cuenta cada uno de los tag configurados en cada imagen.

$ docker push <AWS-AccountId>.dkr.ecr.eu-west-3.amazonaws.com/<Ingresar nombre del tag de cada imagen>:8.10.3.0-amd64

En una nueva lección estaremos realizando la Instalación y configuración ODM 8.10.3 - AWS EKS

 

Descarga la guia para trabajar con ambientes IBM Websphere portal

Temas:Desarrollo de Software

Lecciones Pragma

Lecciones en Academia Pragma

Aquí encontrarás tutoriales técnicos para que apliques en temas de desarrollo de software, cloud, calidad en software y aplicaciones móviles. 

También puedes visitar nuestro Blog con contenido actual sobre Transformación Digital, Marketing, Conocimiento de Usuario y más. 

Blog

Suscríbete a la academia

Descarga la Guía para trabajar con ambientes IBM Websphere Portal