Personalización de una arquitectura desplegable IBM Cloud para crear su propia infraestructura
Este tutorial le guiará en la creación de una arquitectura desplegable personalizada basada en una arquitectura desplegable existente de IBM Cloud® para satisfacer sus necesidades empresariales. Al completar este tutorial, aprenderás a descargar los archivos Terraform, actualizar las variables y luego probar la arquitectura actualizada.
Al empezar con una arquitectura desplegable en IBM Cloud, no tendrá que preocuparse de crear una arquitectura de infraestructura desde cero. Puede obtener un salto inicial utilizando una arquitectura desplegable de IBM Cloud y configurándola para satisfacer sus necesidades específicas.
Imagina que eres un profesional de la ingeniería de automatización de la nube para Example Corp, una empresa ficticia. Su arquitecto de infraestructuras navegó por el catálogo IBM Cloud y descubrió Cloud automation para Code Engine, una arquitectura desplegable que cumple la mayoría de sus requisitos. Sin embargo, el arquitecto de su infraestructura necesita que realice los siguientes cambios para satisfacer las necesidades de su empresa:
- Elimine las variables no deseadas.
- Limite las regiones de IBM Cloud a las regiones de despliegue de EE.UU.
- Actualizar la arquitectura desplegable para hacer referencia a la aplicación AI de Example Corp.
Esta guía de aprendizaje utiliza un escenario ficticio para ayudarle a aprender y comprender algunas de las opciones de configuración para una arquitectura desplegable. Explica cómo personalizar una arquitectura desplegable para automatizar el
despliegue de una aplicación en contenedores en IBM Cloud Code Engine. La imagen de contenedor existente en icr.io/codeengine/helloworld se utiliza como aplicación de ejemplo. A medida que completes el tutorial, adapta cada paso
a las necesidades de tu organización.
Antes de empezar
-
Para construir una arquitectura, debe estar familiarizado con Terraform.
-
Verifique que está utilizando una cuenta de Pago según uso o Suscripción yendo a Gestionar > Cuenta > Valores de la cuenta en la consola de IBM Cloud.
-
Cree un repositorio para almacenar su arquitectura desplegable. A efectos de esta guía de aprendizaje, se utiliza GitHub. Para obtener más información, consulte Crear un repositorio.
-
Instale un editor de su elección, por ejemplo, Visual Studio Code.
-
Compruebe que tiene asignadas las siguientes funciones de IBM Cloud Identity and Access Management (IAM):
- Administrador en todos los servicios de gestión de cuentas de IAM, todos los servicios de gestión de cuentas y todos los servicios habilitados de identidad y acceso.
- Editor en el servicio de Gestión de Catálogos.
- Función de acceso al servicio de administrador para Schematics.
- Otros roles que se requieren para recursos específicos en su arquitectura desplegable. La automatización en la nube para Code Engine requiere la función de acceso al servicio Writer, que se aplica a todos los recursos del servicio Code Engine.
Para más información, consulte Asignación de acceso a los servicios de gestión de cuentas y Gestión del acceso a los recursos.
Descarga de los archivos de arquitectura desplegables
Para empezar, debe descargar los archivos de arquitectura desplegables. Los archivos incluyen un archivo main.tf que invoca el módulo raíz de Terraform.
-
En la consola IBM Cloud, haga clic en Catálogo.
-
Introduzca
Cloud automation for Code Engineen la barra de búsqueda y seleccione la arquitectura en la lista de resultados. -
Seleccione v4.2.2 como versión del producto.
Este tutorial ha sido creado en base a la versión 4.2.2 de Cloud automation para Code Engine. No obstante, si lo desea, puede seleccionar otra versión de la arquitectura desplegable.
-
Asegúrese de que está seleccionada la variación New Code Engine apps.
-
Pulse Revisar opciones de despliegue en el panel de resumen.
-
Seleccione Trabajar con código > Descargar paquete para descargar el paquete.
-
Abra el paquete descargado en el sistema local.
-
Extraiga el paquete
.tar.gzpara acceder a los archivos de una carpeta y editarlos. Cambie el nombre de la carpeta extraída aExample-corp-infrastructurepara facilitar su localización y uso.Después de descargar y extraer correctamente el paquete, verá los siguientes archivos y carpetas:
automation folderibm_catalog.jsonmain.tfoutputs.tfprovider.tfREADME.mdvariables.tfversion.tf
Edición de la lista de variables
Cuando su arquitecto de infraestructuras investigó IBM Cloud Code Engine, decidió modificar la región y la clave API IBM Cloud. El resto de variables que se incluyen en la arquitectura no son necesarias para tus propósitos, por lo que deberás eliminarlas utilizando tu editor favorito Visual Studio Code.
-
En Visual Studio Code, abra el archivo
variables.tf. -
Mueva las variables siguientes al inicio del archivo
variables.tf.ibmcloud_api_keyprefixexisting_resource_group_nameregion
El orden de las variables no importa.
-
Suprima todas las demás variables y guarde el archivo.
Actualización del archivo main.tf
Ahora que ha actualizado el archivo variables.tf, asegúrese de que la información de configuración del archivo main.tf sea correcta. Dado que desea utilizar Code Engine para ejecutar una aplicación creada por Example Corp,
debe proporcionar información sobre su aplicación.
-
Abra el archivo
main.tf. -
Actualice la variable
app_namee introduzca"example-corp-ai-app"como nombre de la aplicación. -
Actualiza la variable
image_referencee introduce"icr.io/codeengine/helloworld", que es la imagen docker para tu aplicación. -
Añada la variable
project_namee introduzca"example-corp-ce-project"como nombre para su proyecto Code Engine. -
Añade la variable
provider_visibilityy establécela en"public". -
Confirme que las variables
ibmcloud_api_key,prefix, yregionestán incluidas como se muestra en el siguiente ejemplo:module "deploy-arch-ibm-code-engine" { source = "https://cm.globalcatalog.cloud.ibm.com/api/v1-beta/offering/source/archive//solutions/apps?archive=tgz&catalogID=7a4d68b4-cf8b-40cd-a3d1-f49aff526eb3&flavor=apps&installType=fullstack&kind=terraform&name=deploy-arch-ibm-code-engine&version=v4.2.2" ibmcloud_api_key = var.ibmcloud_api_key prefix = var.prefix existing_resource_group_name = var.existing_resource_group_name region = var.region app_name = "example-corp-ai-app" image_reference = "icr.io/codeengine/helloworld" project_name = "example-corp-ce-project" provider_visibility = "public" } -
Guarde el archivo.
Su arquitectura está ahora codificada para hacer referencia a su aplicación de IA de Example Corp y configurada para utilizar las variables para la clave de API IBM Cloud, el prefijo y la región.
Actualización del archivo ibm_catalog.json
El archivo ibm_catalog.json es un archivo JSON de manifiesto que se utiliza para importar automáticamente la información de versión cuando se incorpora una arquitectura desplegable a un catálogo privado. Como ha cambiado la arquitectura
desplegable, ha creado una arquitectura totalmente nueva para sus necesidades. Actualice la siguiente información en el archivo ibm_catalog.json para reflejar los cambios.
Para obtener más información sobre el archivo de manifiesto y lo que contiene, consulte Edición local del manifiesto de catálogo.
Actualización de la información del producto
Ahora que ha actualizado la configuración y creado su propia arquitectura, también debe actualizar el nombre y el nombre programático de la arquitectura desplegable.
-
Abra el archivo
ibm_catalog.json. -
Busque el campo
labely actualice el nombre de la arquitectura desplegable aExample Corp's infrastructure. -
Busque el campo
namey actualice el nombre programático de la arquitectura adeploy-arch-example-corp. -
Busque el campo
versiony especifique0.0.1para actualizar el número de versión. Si falta el campo, añádalo en una nueva línea inmediatamente después del camponame, por ejemplo:"label": "Example Corp's infrastructure", "name": "deploy-arch-example-corp", "version": "0.0.1", -
Dentro de la sección
flavors, busque el campolabely actualice el nombre de esta variación de su arquitectura desplegable aDeploy Example Corp AI app on IBM Cloud Code Engine. Al hacerlo, identificará el propósito de esta variación de su arquitectura desplegable y lo que consigue. -
Guarde el archivo.
Actualización de la información de configuración
Ahora, quiere asegurarse de que los usuarios de su arquitectura desplegable puedan desplegarla sólo en regiones de EE.UU. Para ello, actualice la información de variable en la sección de configuración del archivo ibm_catalog.json.
-
En la sección
configurationdel archivoibm_catalog.json, busque las siguientes variables y muévalas al principio de la sección de configuración:ibmcloud_api_keyprefixexisting_resource_group_nameregion
-
Para restringir las regiones sólo a las de EE.UU., debe añadir cada región como opción para la variable
region, eliminar las secciones innecesarias y establecerregioncomo variable obligatoria.{ "key": "region", "type": "string", "default_value": "us-south", "description": "The region in which to provision all resources created by this solution.", "required": true, "options": [ { "displayname": "us-east", "value": "us-east" }, { "displayname": "us-south", "value": "us-south" } ], "virtual": false } -
Suprima el resto de las variables de la sección de configuración.
Cuando los usuarios despliegan la arquitectura, pueden elegir entre las opciones de región que ha listado. Para ver una lista de las regiones disponibles, consulte Regiones.
-
Guarde el archivo
ibm_catalog.json.
Prueba de la arquitectura desplegable
Antes de incorporar su arquitectura desplegable configurada a un catálogo privado y ponerla a disposición para su uso, pruebe su configuración para asegurarse de que la arquitectura se ejecuta según lo previsto. Para probar la arquitectura con la línea de mandatos de Terraform, realice los pasos siguientes:
-
Cree o actualice un archivo
.netrcnecesario para utilizar los módulos Terraform de IBM Cloud. Para obtener más información, consulte ibmcloud catalog utility netrc.ibmcloud catalog utility netrc -
Inicialice la CLI de Terraform. Para obtener más información, consulte Inicialización de directorios de trabajo.
terraform init -
Suministre los recursos. Para obtener más información, consulte Infraestructura de suministro con Terraform.
-
Ejecute
terraform planpara generar un plan de ejecución de Terraform para obtener una vista previa de las acciones propuestas.terraform plan -
Ejecute
terraform applypara crear los recursos definidos en el plan.terraform apply
-
Próximos pasos
Si su arquitectura desplegable se ejecutó como se esperaba, ha creado con éxito su propia arquitectura desplegable desde Cloud automation para Code Engine. Ahora está preparado para mover los archivos actualizados al repositorio GitHub que ha creado y incorporar el producto a un catálogo privado.
Después de incorporar Example Corp's infrastructure a un catálogo privado, puede compartirlo con su empresa. Si no estás preparado para compartir tu arquitectura
desplegable, o no formas parte de una empresa, puedes saltarte el compartirla y continuar con el siguiente tutorial, desplegando Example Corp's infrastructure mediante un proyecto.