Personalizzazione di un'architettura distribuibile IBM Cloud per costruire la propria infrastruttura
Questa esercitazione spiega come creare un'architettura distribuibile personalizzata basata su un'architettura distribuibile esistente di IBM Cloud® per soddisfare le esigenze aziendali. Completando questa esercitazione, si impara a scaricare i file di Terraform, ad aggiornare le variabili e a testare l'architettura aggiornata.
Partendo da un'architettura distribuibile su IBM Cloud, non dovrete preoccuparvi di creare un'architettura dell'infrastruttura da zero. Puoi ottenere un avvio iniziale utilizzando un'architettura distribuibile IBM Cloud e configurandola per soddisfare le tue necessità specifiche.
Immaginate di essere un professionista dell'ingegneria dell'automazione del cloud per Example Corp, un'azienda fittizia. L'architetto dell'infrastruttura ha sfogliato il catalogo IBM Cloud e ha scoperto Cloud automation for Code Engine, un'architettura distribuibile che soddisfa la maggior parte dei requisiti. Tuttavia, l'architetto dell'infrastruttura deve apportare le seguenti modifiche per soddisfare le esigenze aziendali:
- Rimuovere le variabili indesiderate.
- Limitare le regioni di IBM Cloud alle regioni di distribuzione degli Stati Uniti.
- Aggiornare l'architettura distribuibile per fare riferimento all'applicazione AI di Example Corp.
Questa esercitazione utilizza uno scenario fittizio per aiutarti ad apprendere e comprendere alcune delle opzioni di configurazione per un'architettura distribuibile. Spiega come personalizzare un'architettura distribuibile per automatizzare la
distribuzione di un'applicazione containerizzata su IBM Cloud Code Engine. L'immagine del contenitore esistente all'indirizzo icr.io/codeengine/helloworld viene utilizzata come applicazione di esempio. Nel completare l'esercitazione,
adattate ogni fase alle esigenze della vostra organizzazione.
Prima di iniziare
-
Per costruire un'architettura, è necessario avere familiarità con Terraform.
-
Verifica che stai utilizzando un account Pagamento a consumo o Sottoscrizione andando a Manage > Account > Account settings nella console IBM Cloud.
-
Creare un repository per memorizzare l'architettura distribuibile. Ai fini di questa esercitazione, viene utilizzato GitHub. Per ulteriori informazioni, vedi Crea un repository.
-
Installare un editor di propria scelta, ad esempio, Visual Studio Code.
-
Verifica di essere assegnato ai seguenti ruoli IBM Cloud Identity and Access Management (IAM):
- Amministratore su tutti i servizi di gestione degli account IAM, su tutti i servizi di gestione degli account e su tutti i servizi abilitati all'identità e all'accesso.
- Editor sul servizio Gestione catalogo.
- Ruolo di accesso al servizio Manager per Schematics.
- Altri ruoli richiesti per risorse specifiche nell'architettura distribuibile. L'automazione del cloud per Code Engine richiede il ruolo di accesso al servizio Writer, che ha lo scopo di accedere a tutte le risorse del servizio Code Engine.
Per ulteriori informazioni, consultare Assegnazione dell'accesso ai servizi di gestione degli account e Gestione dell'accesso alle risorse.
Download dei file di architettura distribuibili
Per iniziare, è necessario scaricare i file di architettura distribuibili. I file includono un file main.tf che richiama il modulo Terraform principale.
-
Nella console IBM Cloud, fai clic su Catalog.
-
Digitare
Cloud automation for Code Enginenella barra di ricerca e selezionare l'architettura dall'elenco dei risultati. -
Selezionare v4.2.2 come versione del prodotto.
Questo tutorial è stato creato sulla base della versione 4.2.2 di Cloud automation per Code Engine. Tuttavia, se lo si desidera, è possibile selezionare un'altra versione dell'architettura distribuibile.
-
Assicuratevi che sia selezionata la variante Nuove applicazioni Code Engine.
-
Fare clic su Esaminare le opzioni di distribuzione dal pannello di riepilogo.
-
Selezionare Utilizza codice > Scarica bundle per scaricare il bundle.
-
Aprire il bundle scaricato sul computer locale.
-
Estrarre il bundle
.tar.gzper accedere e modificare i file all'interno di una cartella. Rinominare la cartella estrattaExample-corp-infrastructureper facilitarne la ricerca e l'utilizzo.Dopo aver scaricato ed estratto correttamente il bundle, verranno visualizzati i seguenti file e cartelle:
automation folderibm_catalog.jsonmain.tfoutputs.tfprovider.tfREADME.mdvariables.tfversion.tf
Modifica dell'elenco di variabili
Quando l'architetto dell'infrastruttura ha fatto ricerche su IBM Cloud Code Engine, ha deciso di modificare la regione e la chiave API IBM Cloud. Le altre variabili incluse nell'architettura non sono necessarie per i vostri scopi, quindi dovete rimuoverle usando il vostro editor preferito Visual Studio Code.
-
In Visual Studio Code, aprire il file
variables.tf. -
Spostare le seguenti variabili all'inizio del file
variables.tf.ibmcloud_api_keyprefixexisting_resource_group_nameregion
L'ordine delle variabili non ha importanza.
-
Eliminare tutte le altre variabili e salvare il file.
Aggiornamento del file main.tf
Una volta aggiornato il file di variables.tf, verificare che le informazioni di configurazione nel file main.tf siano corrette. Poiché si vuole usare Code Engine per eseguire un'applicazione creata da Example Corp,
è necessario fornire informazioni sulla propria applicazione.
-
Aprire il file
main.tf. -
Aggiornate la variabile
app_namee inserite"example-corp-ai-app"come nome dell'applicazione. -
Aggiornare la variabile
image_referencee inserire"icr.io/codeengine/helloworld", che è l'immagine docker dell'applicazione. -
Aggiungete la variabile
project_namee inserite"example-corp-ce-project"come nome per il progetto Code Engine. -
Aggiungete la variabile
provider_visibilitye impostatela su"public". -
Confermare che le variabili
ibmcloud_api_key,prefixeregionsiano incluse come mostrato nell'esempio seguente: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" } -
Salva il file.
L'architettura è ora codificata per fare riferimento all'applicazione Example Corp AI e configurata per utilizzare le variabili per la chiave API IBM Cloud, il prefisso e la regione.
Aggiornamento del file ibm_catalog.json
Il file ibm_catalog.json è un file JSON manifesto usato per importare automaticamente le informazioni sulla versione quando si inserisce un'architettura distribuibile in un catalogo privato. Poiché avete cambiato l'architettura
distribuibile, avete creato un'architettura nuova per le vostre esigenze. Aggiornare le seguenti informazioni nel file ibm_catalog.json per riflettere le modifiche.
Per ulteriori informazioni sul file manifest e su ciò che contiene, consultare Modifica locale del manifest del catalogo.
Aggiornamento delle informazioni sul prodotto
Dopo aver aggiornato la configurazione e creato la propria architettura, è necessario aggiornare anche il nome e il nome programmatico dell'architettura distribuibile.
-
Aprire il file
ibm_catalog.json. -
Trova il campo
labele aggiorna il nome della tua architettura distribuibile inExample Corp's infrastructure. -
Trova il campo
namee aggiorna il nome programmatico della tua architettura adeploy-arch-example-corp. -
Individuare il campo
versione immettere0.0.1per aggiornare il numero di versione. Se il campo manca, aggiungerlo su una nuova riga subito dopo il camponame, ad esempio:"label": "Example Corp's infrastructure", "name": "deploy-arch-example-corp", "version": "0.0.1", -
All'interno della sezione
flavors, trovare il campolabele aggiornare il nome di questa variante dell'architettura distribuibile inDeploy Example Corp AI app on IBM Cloud Code Engine. In questo modo, si identifica lo scopo di questa variante dell'architettura distribuibile e ciò che essa realizza. -
Salva il file.
Aggiornamento delle informazioni di configurazione
Ora, si vuole fare in modo che gli utenti dell'architettura distribuibile possano distribuirla solo nelle regioni degli Stati Uniti. Per fare ciò, aggiornare le informazioni sulle variabili nella sezione di configurazione del file ibm_catalog.json.
-
Nella sezione
configurationdel fileibm_catalog.json, trovare le seguenti variabili e spostarle all'inizio della sezione di configurazione:ibmcloud_api_keyprefixexisting_resource_group_nameregion
-
Per limitare le regioni alle sole regioni statunitensi, è necessario aggiungere ogni regione come opzione per la variabile
region, eliminare le sezioni non necessarie e impostare la variabileregioncome variabile obbligatoria.{ "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 } -
Eliminare il resto delle variabili nella sezione di configurazione.
Quando gli utenti distribuiscono l'architettura, possono scegliere tra le opzioni della regione che hai elencato. Per un elenco di regioni disponibili, vedi Regioni.
-
Salvare il file
ibm_catalog.json.
Verifica della tua architettura distribuibile
Prima di inserire l'architettura distribuibile configurata in un catalogo privato e renderla disponibile per l'uso, è necessario testare la configurazione per assicurarsi che l'architettura funzioni come previsto. Per verificare la tua architettura con la linea di comando Terraform, completa la seguente procedura:
-
Creare o aggiornare un file
.netrcnecessario per utilizzare i moduli Terraform da IBM Cloud. Per ulteriori informazioni, vedi ibmcloud catalog utility netrc.ibmcloud catalog utility netrc -
Inizializza la CLI Terraform. Per ulteriori informazioni, consultare la sezione Inizializzazione delle directory di lavoro.
terraform init -
Eseguire il provisioning delle risorse. Per ulteriori informazioni, vedi Provisioning dell'infrastruttura con Terraform.
-
Eseguire
terraform planper generare un piano di esecuzione Terraform per visualizzare in anteprima le azioni proposte.terraform plan -
Eseguire
terraform applyper creare le risorse definite nel piano.terraform apply
-
Passi successivi
Se l'architettura distribuibile è stata eseguita come previsto, si è riusciti a creare la propria architettura distribuibile da Cloud automation per Code Engine. Ora sei pronto a spostare i tuoi file aggiornati nel repository GitHub che hai creato e eseguire l'onboarding del tuo prodotto in un catalogo privato.
Dopo aver inserito Example Corp's infrastructure in un catalogo privato, è possibile condividerlo con la propria azienda. Se non siete pronti a condividere
la vostra architettura distribuibile, o se non fate parte di un'azienda, potete evitare di condividerla e continuare con la prossima esercitazione, che consiste nel distribuire Example Corp's infrastructure usando un progetto.