Ejecución de trabajos con la infraestructura Lithops
Lithops es una infraestructura de código abierto que se ha diseñado para escalar las aplicaciones de Python de forma masiva. Lithops le lleva a vivir la experiencia de IBM Cloud® Code Engine para que pueda centrarse en el código Python, mientras que Lithops se centra en el despliegue de su código a gran escala mientras se supervisan las ejecuciones, obteniendo resultados y mucho más. Lithops permite la integración nativa de Python con Code Engine utilizando la API de Lithops. Para más información sobre Lithops, consulte la guía de inicio rápido de Lithops.
Ejecución del primer flujo a través de la infraestructura de Lithops
Para poder ejecutar trabajos que hagan referencia a la infraestructura de Lithops, primero debe instalar Lithops y configurar un programa de fondo de almacenamiento.
Antes de empezar
- Instale la CLI de Code Engine.
- Cree y trabaje con un proyecto de Code Engine.
- Busque y defina la variable de entorno
kubeconfig.
Instalación de Lithops
-
Instale Lithops.
-
Cree el archivo de configuración de Lithops.
-
Instale Docker(edición de comunidad)versión.
-
Inicie la sesión en Docker.
docker login
Configuración de un programa de fondo de almacenamiento para Lithops
Seleccione un programa de fondo de almacenamiento soportado; por ejemplo, IBM Cloud Object Storage.
Para configurar IBM Cloud Object Storage,
- Cree una cuenta de IBM Cloud Object Storage.
- Cree un grupo en la región que desea utilizar.
- En la navegación lateral, pulse Puntos finales para hallar el punto final de la API. Debe copiar tanto los puntos finales públicos como los privados de la región en la que ha creado el grupo.
- Cree las credenciales para acceder a su cuenta de IBM Cloud Object Storage. Elija una opción
Opción 1 (clave de API) para Lithops
-
Desde la navegación de IBM Cloud Object Storage, pulse Credenciales de servicio.
-
Pulse Nueva credencial + y proporcione un nombre y seleccione un rol.
-
Pulse Añadir para generar la credencial de servicio.
-
Pulse Ver credenciales y copie el valor
apikey. -
Edite el archivo de configuración de
lithopsy añada las claves siguientes.lithops: storage_backend: ibm_cos ibm_cos: endpoint : <REGION_ENDPOINT> private_endpoint : <PRIVATE_REGION_ENDPOINT> api_key : <API_KEY>
Opción 2 (credenciales de HMAC de IBM Cloud Object Storage) para Lithops
-
Desde la navegación de IBM Cloud Object Storage, pulse Credenciales de servicio.
-
Pulse Nueva credencial + y proporcione un nombre y seleccione un rol.
-
Pulse Opciones avanzadas y habilite la opción
Include HMAC Credential. -
Pulse Añadir para generar la credencial de servicio.
-
Pulse Ver credenciales y copie los valores
access_key_idysecret_access_key. -
Edite el archivo de configuración de
lithopsy añada las claves siguientes:lithops: storage_backend: ibm_cos ibm_cos: endpoint : <REGION_ENDPOINT> private_endpoint : <PRIVATE_REGION_ENDPOINT> access_key : <ACCESS_KEY_ID> secret_key : <SECRET_KEY_ID>
Opción 3 (clave de API de IBM IAM) para Lithops
-
Si no dispone de una clave de API de IAM, vaya al panel de control de IBM IAM.
-
Pulse Crear una clave de API de IBM Cloud. Especifique un nombre y una descripción opcional para la clave de API y pulse Crear.
-
Copie la clave de API de IAM generada (puede ver la clave sólo cuando se crea, así que asegúrese de copiarla).
-
Edite el archivo de configuración de
lithopsy añada las claves siguientes:lithops: storage_backend: ibm_cos ibm: iam_api_key: <IAM_API_KEY> ibm_cos: endpoint : <REGION_ENDPOINT> private_endpoint : <PRIVATE_REGION_ENDPOINT>
Despliegue el primer trabajo de Code Engine utilizando Lithops
Ejecute el siguiente ejemplo de hello world,
import lithops
iterdata = [1,2,3,4,5]
def my_map_function(data):
return data + 1
if __name__ == '__main__':
pw = lithops.function_executor(type = "serverless", backend='code_engine')
futures = pw.map(my_map_function, iterdata)
print (pw.get_result())
pw.clean()
Pasos siguientes para Lithops
Puede encontrar más ejemplos y casos de uso, así como formular preguntas, en la página del proyecto Lithops.