Informazioni sui cookie del presente sito Per il corretto funzionamento, i nostri siti Web richiedono alcuni cookie (richiesto). Inoltre, con il suo consenso, potrebbero essere utilizzati altri cookie per l'analisi dell'utilizzo del sito, per migliorare l'esperienza utente e per scopi pubblicitari. Per ulteriori informazioni, consultare le. Visitando il nostro sito web, accettate il trattamento delle informazioni da parte nostra come descritto nelladichiarazione sulla privacy di IBM. Per consentire una corretta navigazione, le preferenze per i cookie dell'utente verranno condivise sui domini Web IBM qui elencati.
Stato remoto e accesso tra aree di lavoro
IBM Cloud® fornisce la gestione remote - state integrata per Terraform. I file di stato Terraform vengono conservati automaticamente tra le esecuzioni e sono accessibili dai comandi e dalle operazioni IBM Cloud®. La gestione dello stato remoto IBM Cloud® abilita il lavoro del team e le operazioni condivise dello spazio di lavoro, con il blocco dello stato integrato che impedisce operazioni simultanee rispetto allo stesso file di stato.
La gestione dello stato remoto dello spazio di lavoro integrato supporta diversi casi di utilizzo Schematics:
- La condivisione delle informazioni sulle risorse tra le aree di lavoro. Ciò consente alla tua infrastruttura di essere suddivisa in componenti più piccoli, con le informazioni sulle risorse di sola lettura trasmesse tra gli ambienti utilizzando le origini dati dello stato remoto Schematics. Ambienti discreti collegati da origini dati consentono di delegare la responsabilità di diversi elementi dell'infrastruttura a team differenti con informazioni condivise tra gli spazi di lavoro come risorse di sola lettura.
- Integrazione dello spazio di lavoro e delle operazioni di azione con Azioni. Le informazioni sulle risorse dello spazio di lavoro possono essere trasmesse direttamente come un inventario dinamico Ansible senza la necessità di creare manualmente l'inventario host o utilizzare gli script di inventario.
Accesso allo stato dell'area di lavoro e agli output
Puoi accedere alle informazioni relative alle risorse che gestisci in un workspace da altre aree di lavoro nel tuo account utilizzando le origini dati ibm_schematics_output
e ibm_schematics_state
.
IBM Cloud® utilizza il local
supporto dello stato Terraform integrato e non utilizza il supporto backend Terraform. Non è richiesta
alcuna configurazione aggiuntiva nel tuo Terraform configs
per abilitare la gestione dello stato remoto IBM Cloud®. Schematics non utilizza l'origine dati Terraform remote_state
, ma l'origine dati ibm_schematics_output
per accedere alle informazioni.
In che modo l'origine dati ibm_schematics_state
è diversa dall'origine dati remote_state
?
Quando si utilizza un'origine dati di remote_state
, è necessario configurare un backend per
connettersi alle aree di lavoro. Con l'origine dati ibm_schematics_state
, hai automaticamente accesso al backend Schematics integrato e puoi accedere direttamente alle informazioni dello spazio di lavoro.
Cosa devo fare per accedere alle informazioni sulle risorse in altri spazi di lavoro
Analogamente all'origine dati remote_state
, puoi solo accedere alle informazioni che hai configurato come valori di output
nel tuo modello Terraform. Ad esempio, supponiamo di avere uno spazio di lavoro che hai utilizzato per eseguire il provisioning di un VPC. Per accedere all'ID VPC, devi definirlo come una variabile di output nel tuo file di configurazione
Terraform.
Per utilizzare l'origine dati ibm_schematics_output
:
-
Segui l'esempio nell'esercitazione introduttiva per creare spazi di lavoro Schematics ed eseguire il provisioning di un server virtuale in un VPC. Mentre segui le istruzioni, esamina le variabili di output definite alla fine del file di configurazione Terraform
vpc.tf
.Se hai già utilizzato un file di configurazione Terraform diverso in uno dei tuoi spazi di lavoro, puoi utilizzare questo spazio di lavoro per l'esercizio. Assicurarsi di aggiungere i valori di output come descritto in questo esempio al file di configurazione in modo che sia possibile accedere alle informazioni del workspace in un secondo momento.
output sshcommand { value = "ssh root@ibm_is_floating_ip.fip1.address" } output vpc_id { value = ibm_is_vpc.vpc.id }
In questo esempio, sono stati definiti due valori di output,
sshcommand
per accedere all'istanza del server virtuale nel tuo VPC evpc_id
. -
Richiama l'ID dello spazio di lavoro VPC che hai creato.
Attraverso la console:
- Dal dashboard dello spazio di lavoro
, selezionare lo spazio di lavoro VPC.
- Seleziona la scheda Settings.
- Trovare l'ID spazio di lavoro nella sezione Riepilogo.
Attraverso la CLI:
- Elencare gli spazi di lavoro disponibili nel proprio account.
ibmcloud schematics workspace list
- Individuare l'ID spazio di lavoro nella colonna ID dell'output della riga comandi.
L'utilizzo del comando Schematics
ibmcloud terraform
visualizza un messaggio di avvertenza e di obsolescenza poiché Alias 'terraform' è obsoleto. Usate "schemi" o "sch" nei vostri comandi. - Dal dashboard dello spazio di lavoro
-
Creare un altro file di configurazione Terraform denominato
remotestate.tf
per accedere ai parametri di emissione del filevpc.tf
utilizzando l'origine datiibm_schematics_output
. Per consentire il controllo della versione di questo file, assicurati di archiviare questo file di configurazione in un repository GitHub o GitLab.data "ibm_schematics_workspace" "vpc" { workspace_id = "<schematics_workspace_ID>" } data "ibm_schematics_output" "vpc" { workspace_id = "<schematics_workspace_ID>" template_id = data.ibm_schematics_workspace.vpc.runtime_data.0.id } output "output_vars" { value = data.ibm_schematics_output.vpc.output_values } output "ssh_command" { value = data.ibm_schematics_output.vpc.output_values.sshcommand } output "vpc_id" { value = data.ibm_schematics_output.vpc.output_values.vpc_id }
Componenti del file di configurazione Descrizione dei componenti del file di configurazione data.ibm_schematics_workspace.workspace_id
Immettere l'ID dello spazio di lavoro VPC in cui sono stati definiti i valori di output a cui si desidera accedere. Questa origine dati è necessaria per richiamare l'ID template dello spazio di lavoro nell'origine dati ibm_schematics_output
.data.ibm_schematics_output.workspace_id
Immetti l'ID dello spazio di lavoro VPC in cui hai definito i valori di output a cui vuoi accedere. data.ibm_schematics_output.template_id
Immettere data.ibm_schematics_workspace.vpc.runtime_data.0.id
per fare riferimento al template Terraform del tuo spazio di lavoro.output.output_vars.value
Utilizzare la sintassi di interpolazione Terraform per accedere a tutti i valori di output definiti nel file vpc.tf
utilizzando il parametro di outputoutput_values
dell'origine datiibm_schematics_output
. Il parametro di outputoutput_values
restituisce tutti i valori di output come un elenco.output.sshcomand.value
eoutput.vpc_id.value
È possibile accedere a un determinato valore nell'elenco di output_values
aggiungendo l'ID del valore di output all'origine datiibm_schematics_output
. Ad esempio, per accedere avpc_id
, utilizzare semplicementedata.ibm_schematics_output.vpc.output_values.vpc_id
. -
Crea uno spazio di lavoro che punti al file
remotestate.tf
nel tuo repository GitHub o GitLab. Se invece si desidera caricare un file di archivio nastro (.tar
) dalla macchina locale, utilizzare il comandoibmcloud schematics workspace upload
. -
Esegui il tuo codice Terraform in Schematics. Quando rivedi i tuoi log, puoi visualizzare i valori di output dal tuo spazio di lavoro VPC nella sezione Output.
Output di esempio
... 2020/02/21 19:49:30 Terraform show | Outputs: 2020/02/21 19:49:30 Terraform show | 2020/02/21 19:49:30 Terraform show | Output_vars = { 2020/02/21 19:49:30 Terraform show | sshcommand = ssh root@169.61.225.111 2020/02/21 19:49:30 Terraform show | vpc_id = a1a11aa1-a111-a11a-a111-aa1aa11a1a1a 2020/02/21 19:49:30 Terraform show | } 2020/02/21 19:49:30 Terraform show | sshcommand = ssh root@169.61.225.111 2020/02/21 19:49:30 Terraform show | vpc_id = a1a11aa1-a111-a11a-a111-aa1aa11a1a1a