Creazione di un'architettura distribuibile da un'offerta esistente

Puoi sfruttare un bundle di personalizzazione di IBM®per estendere e personalizzare un' architettura distribuibileAutomazione cloud per la distribuzione di un modello di architettura comune che combina una o più risorse cloud progettate per semplificare la distribuzione, la scalabilità e la modularità. IBM Cloud®. Ogni architettura distribuibile fornisce il proprio bundle di personalizzazione. Con il bundle, puoi modificare l'architettura distribuibile sul computer locale, utilizzare le tue pipeline per testare ed estendere i tuoi prodotti per soddisfare le esigenze della tua azienda. Per personalizzare un'architettura, devi avere familiarità con Terraform.

Il bundle di personalizzazione include inoltre una directory automation che include gli script starter per aiutarti a gestire il ciclo di vita della tua architettura distribuibile personalizzata, dall'onboarding e dalla convalida alla sua pubblicazione in un catalogo privato su IBM Cloud. Attualmente, due metodi di pipeline sono inclusi in questa directory: azioni GitHub o una toolchain da IBM Cloud.

La seguente guida fornisce una panoramica del bundle di personalizzazione e alcuni esempi di personalizzazione che è possibile eseguire. Non è tutto incluso e puoi apportare tutte le modifiche di cui hai bisogno. Dopo aver modificato l'architettura, puoi aggiungerla a un catalogo privato e utilizzare gli strumenti di IBMper verificare le vulnerabilità, garantire la sicurezza e la conformità e condividere l'architettura con la tua azienda. Per una procedura dettagliata più approfondita, vedi Utilizzo delle architetture distribuibili IBM Cloud per creare un'architettura distribuibile.

A seconda delle tue modifiche, IBM Cloud potrebbero non supportare l'architettura distribuibile. I componenti dell'architettura forniti nel bundle sono supportati da IBM Cloud, ma qualsiasi codice modificato utilizzato per l'estensione non lo è.

Prima di iniziare

  1. Crea un repository per archiviare l'architettura distribuibile personalizzata, ad esempio, un repository GitHub. Per ulteriori informazioni, consultare Creazione di un nuovo repository.
  2. Assicurati di avere un editor a tua scelta per modificare l'architettura distribuibile, ad esempio Visual Studio Code. Per ulteriori informazioni, consultare Visual Studio Code.
  3. Assicurati di disporre di strumenti a tua scelta per testare la tua architettura distribuibile e assicurati che funzioni. Ad esempio, puoi utilizzare il runtime Terraform, che fornisce la riga di comando Terraform.

Ricerca di un'architettura distribuibile

IBM Cloud fornisce più architetture distribuibili che puoi utilizzare così come sono o che puoi personalizzare. Per trovare un'architettura, completare la seguente procedura:

  1. Nel catalogoIBM Cloud, seleziona un'architettura distribuibile.
  2. Scarica il bundle di personalizzazione selezionando Esamina opzioni di distribuzione > Gestione codice > Scarica bundle.

Personalizzazione dell'architettura distribuibile

Quando si scarica il bundle, si riceve una serie di file progettati per iniziare la personalizzazione.

ibm_catalog.json

Il file ibm_catalog.json è un file JSON manifest che viene utilizzato per importare automaticamente le informazioni sulla versione in un catalogo privato. Con un file manifest di catalogo, è possibile evitare di immettere manualmente i metadati della versione tramite la console. Per visualizzare come impostare un file ibm_catalog.json e i valori che è possibile includere, consultare Modifica locale del manifest del catalogo.

main.tf

Il file main.tf è il luogo in cui vengono memorizzate le informazioni di configurazione relative a ciascuna architettura distribuibile che si desidera utilizzare. A seconda dell'architettura distribuibile, puoi utilizzare questo file per specificare specifiche regioni, chiavi API e ubicazioni del codice origine. Puoi anche utilizzare questo file per aggiungere altri moduli e aggiornare i parametri Terraform dell'architettura.

Esempio di main.tf con specifiche

Il seguente esempio mostra l'infrastruttura sicura su VPC per i settori regolamentati che utilizzano una regione specifica, us-south:

module "landing-zone" {
  source           = "https://cm.globalcatalog.cloud.ibm.com/api/v1-beta/offering/source//examples/power-sap?archive=tgz&catalogID=7df1e4ca-d54c-4fd0-82ce-3d13247308cd&flavor=power&kind=terraform&name=slz-vpc-with-vsis&version=0.0.22"
  ibmcloud_api_key = var.ibmcloud_api_key
  ssh_public_key   = var.ssh_public_key
  region           = "us-south"
  prefix           = "slz"
}

outputs.tf

Il file outputs.tf contiene i valori di output disponibili che puoi includere nella tua architettura distribuibile. I valori sono impostati come commento, ma è possibile includere i valori rimuovendo il simbolo # dal valore. Inoltre, è possibile aggiungere ulteriori variabili di output al file. Per includere determinati valori, completare la seguente procedura.

  1. Aprire il file outputs.tf.
  2. Rimuovere i # da qualsiasi valore di output che si desidera includere.

Esempio di outputs.tf

Il seguente esempio comprende il valore vsi_names ed esclude il valore transit_gateway_name:

output "vsi_names" {
  value       = var.vsi_names
  description = "A list of the vsis names provisioned within the VPCs"
}
#output "transit_gateway_name" {
#  value       = var.transit_gateway_name
#  description = "The name of the transit gateway"
#}

provider.tf

Il file provider.tf contiene le informazioni richieste sul provider, la chiave API e la regione che gli utenti devono utilizzare.

Queste informazioni vengono estratte dal file variables.tf. Se è necessario apportare delle modifiche, aggiornare il file variables.tf.

Esempio di un file provider.tf

Il seguente esempio elenca IBM come provider:

provider "ibm" {
  ibmcloud_api_key = var.ibmcloud_api_key
  region           = var.region
}

README.md

Il file readme contiene informazioni di background e di utilizzo sull'architettura distribuibile. È possibile personalizzare il file readme per consentire ai membri dell'azienda di utilizzare l'architettura distribuibile.

variables.tf

Il file variables.tf include le variabili richieste per l'architettura distribuibile. È possibile aggiungere ulteriori variabili necessarie.

version.tf

Il file version.tf memorizza le informazioni relative alla versione Terraform e alla versione del provider necessarie per eseguire l'architettura distribuibile. Se si sta eseguendo l'architettura distribuibile nello stato in cui si trova, non è necessario alcun aggiornamento. La configurazione potrebbe richiedere l'aggiornamento di questo file. Se devi specificare una particolare versione Terraform o provider, completa la seguente procedura:

  1. Aprire il file versions.tf.
  2. Aggiornare required_version alla versione Terrafrom che gli utenti devono utilizzare.
  3. Aggiornare version alla versione provider che gli utenti devono utilizzare.

Verifica della tua architettura distribuibile

Prima di eseguire l'onboarding della tua architettura distribuibile in un catalogo privato, verifica la tua personalizzazione e assicurati che l'architettura venga eseguita come previsto. Per verificare la tua architettura con la linea di comando Terraform, completa la seguente procedura:

  1. Dopo aver personalizzato l'architettura, inizializza la CLI Terraform. Per ulteriori informazioni, consultare la sezione Inizializzazione delle directory di lavoro.

    terraform init
    
  2. Eseguire il provisioning delle risorse. Per ulteriori informazioni, vedi Provisioning dell'infrastruttura con Terraform.

    1. Eseguire terraform plan per generare un piano di esecuzione Terraform per visualizzare in anteprima le azioni proposte.

      terraform plan
      
    2. Eseguire terraform apply per creare le risorse definite nel piano.

      terraform apply
      

Creazione di una release

Se i tuoi test hanno avuto esito positivo, puoi preparare l'onboarding della tua architettura in un catalogo privato verificando che i tuoi file siano nel repository e creando una release. Per ulteriori informazioni, consultare Creazione di una release.

Utilizzo dell'automazione per condividere un catalogo privato

Il bundle di personalizzazione ha una directory automation che include un paio di opzioni per le pipeline starter. Queste pipeline possono essere utilizzate per automatizzare il ciclo di vita dei tuoi prodotti personalizzati che condividi utilizzando un catalogo privato su IBM Cloud. Ciò include la gestione dell'onboarding, la convalida e la condivisione della versione dell'architettura distribuibile in un catalogo privato. I file README sono inclusi per ogni opzione della pipeline che forniscono dettagli su come utilizzarli. Per ulteriori informazioni su ciascuno di essi, consulta AzioniGitHub e Creazione di una toolchain.

Utilizzo della console per eseguire l'onboarding in un catalogo privato

Se desideri utilizzare la console per eseguire l'onboarding della tua architettura distribuibile, vedi onboarding della tua architettura distribuibile personalizzata in un catalogo privato per una guida dettagliata.

Passi successivi

Gli script forniti nel bundle di personalizzazione consentono di automatizzare il processo di inserimento in un catalogo privato per condividere il prodotto con altri utenti. Tuttavia, se vuoi utilizzare la console o la CLI per eseguire l'onboarding della tua architettura distribuibile, vedi onboarding della tua architettura distribuibile personalizzata in un catalogo privato per una guida dettagliata. Utilizzando i cataloghi privati, ai membri della tua azienda viene richiesto di utilizzare le architetture approvate che possono distribuire utilizzando progetti.