Creazione di spazi di lavoro e importazione di Terraform
Utilizza un " Schematics " per gestire le tue risorse IBM Cloud Schematics tramite Terraform. Le impostazioni dell'area di lavoro definiscono il motore Terraform ospitato in un repository Git da utilizzare, insieme alle eventuali variabili di input per personalizzare il modello.
IBM Cloud Schematics sta rendendo obsolete le versioni precedenti di Terraform e introducendo il supporto per le versioni più recenti di Terraform. Per ulteriori informazioni, consultare il ciclo di vita della deprecazione di Terraform nell' Schematics e e il calendario delle deprecazioni.
Prima di iniziare
- Creare una configurazione Terraform e salvarla in un repository su
GitHub,GitLaboBitbucket. È inoltre possibile caricare un file di archivio nastro (.tar) dalla workstation locale per fornire il template a IBM Cloud Schematics. Per ulteriori informazioni, vedi il comandoibmcloud schematics workspace uploade vedi l'API upload atarfile to your workspace. - Assicurati di disporre dei permessi necessari per creare un'area di lavoro.
Assicurati che gli endpoint location e url puntino alla stessa regione quando crei o aggiorni gli spazi di lavoro e le azioni di Schematics. Per ulteriori informazioni su ubicazione ed endpoint, vedi Dove sono memorizzate le tue informazioni?
Creazione di un'area di lavoro tramite l'interfaccia utente
- Accedere alla consoleIBM Cloud.
- Fare clic sull'icona del menu
> Automazione della piattaforma > Schematics > Terraform > Crea spazio di lavoro.
- Nella sezione Specifica modello:
-
URL del repository GitHub, GitLab, o
Bitbucket-<provide your Terraform Git repository URL. -
Token di accesso personale-
<leave it blank>. È possibile fare clic suOpen reference pickerper selezionare una chiave di riferimento Secrets Manager. Per ulteriori informazioni, vedere Creazione di un'istanza Secrets Manager. -
Versione di Terraform -
terraform_v1.4. È necessario selezionare la versione di Terraform 1.4 o una versione successiva. Ad esempio, se i tuoi modelli Terraform sono stati creati utilizzando Terraform v1.4, seleziona il parametroTerraform versioncome terraform_v1.4. È possibile selezionareTerraform_v1.5per utilizzare la versione di Terraform 1.5, oppureterraform_v1.4per utilizzare la versione di Terraform 1.4. Quando si specifica "terraform_v1.5", significa che gli utenti possono utilizzare Terraformv1.5.0,v1.5.1ov1.5.7e così via. Schematics supportaTerraform_v1.xe prevede inoltre di rendere disponibili le versioni successive a30 to 45 daysdel linguaggio di configurazione di HashiCorp (HCL).Schematics supporta la release corrente di
Terraform v1.4, tramiteTerraform_v1.6. Terraform deve utilizzare il vincolo di versione, come>o>=o~>per ilrequired_versiondi Terraform, per selezionare automaticamente la versione corrente.terraform { required_version = "~> 1.1" } -
Clicca su
Next.
-
- Nella sezione Dettagli spazio di lavoro. Inserisci un nome per il tuo
workspace name. Il nome può contenere fino a 128 caratteri e può includere caratteri alfanumerici, spazi, trattini e caratteri di sottolineatura.- Nome spazio di lavoro come
schematics-agent-service. - Tag come
my-tags. Facoltativo: immetti tag per il tuo spazio di lavoro. Puoi utilizzare i tag in un secondo momento per trovare più rapidamente il tuo spazio di lavoro. - Gruppo di risorse come
defaulto altro gruppo di risorse per questa area di lavoro. - Ubicazione come
North Americao altra regione per questa area di lavoro. Decidere dove si desidera creare lo spazio di lavoro? L'ubicazione determina dove vengono eseguiti i lavori Schematics e dove vengono archiviati i dati dello spazio di lavoro? È possibile scegliere tra una località, come il Nord America, o una città metropolitana, come Francoforte o Londra. Se selezioni un'ubicazione, Schematics determina l'ubicazione in base alla disponibilità. Se si seleziona una città metropolitana, lo spazio di lavoro viene creato in questa ubicazione. Per ulteriori informazioni su dove sono archiviati i tuoi dati, vedi Dove sono archiviati i tuoi dati? La posizione scelta è indipendente dalla regione o dalle regioni in cui si desidera fornire le risorse cloud. La console non supporta tutte le ubicazioni disponibili. Per creare lo spazio di lavoro in un'altra posizione, utilizza invece la CLI o l'API. - Facoltativo: inserisci un nome descrittivo per il tuo spazio di lavoro.
- Clicca su
Next.
- Nome spazio di lavoro come
- Clicca su
Create. Il tuo spazio di lavoro viene creato con lo stato " Bozza " e si apre la pagina delle impostazioni dello spazio di lavoro.
- Nella sezione Specifica modello:
Importazione del tuo modello Terraform
Se desideri caricare un file di archivio su nastro (.tar) invece di importare il tuo spazio di lavoro in un repository Git, devi utilizzare il ibmcloud schematics workspace upload comando e consultare l'API per il caricamento di un file tar nel proprio spazio di lavoro.
-
Nella pagina Impostazioni dello spazio di lavoro, immettere l'icona di modifica per modificare
Repository URL. Il link può puntare al ramomaster, a qualsiasi altro ramo o a una sottodirectory.- Esempio di ramo
master:https://github.com/myorg/myrepo - Esempio di altri rami:
https://github.com/myorg/myrepo/tree/mybranch - Esempio di sottodirectory:
https://github.com/mnorg/myrepo/tree/mybranch/mysubdirectory
- Esempio di ramo
-
Se desideri utilizzare un repository privato su Git, inserisci il tuo token di accesso personale. Il token di accesso personale viene utilizzato per l'autenticazione presso il tuo repository Git, al fine di accedere al tuo template Terraform. È possibile fare clic su
Open reference pickerper selezionare una chiave di riferimento Secrets Manager. Per ulteriori informazioni, vedere Creazione di un token di accesso personale per la riga di comando. Per convalidare e clonare il modello in modo sicuro, è possibile fare clic suOpen reference pickerper selezionare il riferimento alla chiave Secrets Manager. Per ulteriori informazioni, vedere Creazione di un'istanza Secrets Manager. -
Seleziona il
Terraform versionin cui sono scritti i file di configurazione Terraform. -
Selezionare la casella di controllo relativa all'opzion
I understand the changes that could happen if I edit this URL and I agree to these happening. -
Fai clic su Salva. IBM Cloud Schematics scarica automaticamente i file di configurazione Terraform dal tuo repository, li analizza alla ricerca di errori di sintassi e richiama tutte le variabili di input che hai dichiarato nei tuoi file di configurazione. Quando tutti i file di configurazione vengono scaricati correttamente e non vengono trovati errori di sintassi, lo stato dello spazio di lavoro cambia in Inattivo.
Una volta scansionati i tuoi file di configurazione Terraform, puoi visualizzare i risultati nella pagina Attività dello spazio di lavoro. Il numero totale di file scansionati nel repository di origine viene visualizzato come
scanned. Il numero totale di file vulnerabili, come le estensioni file non supportate, viene visualizzato comediscarded. Fare clic su Lavori per trovare i dettagli dei file che sono stati sottoposti a scansione ed eliminati. Per ulteriori informazioni sulla visualizzazione dei log, consultare la sezione " Verifica dei dettagli del processo di elaborazione dei dati di Schematics". -
Rivedi i valori della variabile di input predefiniti per il template Terraform. Per modificare il valore di una variabile di input, fare clic su Modifica dal menu Azioni dello spazio di lavoro. A seconda del tipo di dati utilizzato dalla variabile, è necessario immettere il valore in uno specifico formato. Consultare la tabella seguente per trovare i valori di esempio per ogni tipo di dati supportato.
| Tipo | Esempio | | --- | -- | |
number| 4.56 | |string| valore di esempio | |bool| falso | |map(string)| {key1 = "value1", key2 = "value2"} | |set(string)| ["hello", "he"] | |map(number)| {internal = 8080, external = 2020} | |list(string)| ["us-south", "eu-gb"] | |list| ["valore", 30] | |list(list(string))| : [{interno = 8300 esterno = 8300 protocollo ="tcp"},{internal = 8301 external = 8301 protocol ="ldp"}] : list(object( {internal = number external = number protocol = string} )): [{internal = 8300 external = 8300 protocol ="tcp"} {internal = 8301 external = 8301 protocol ="ldp"}] |
Utilizzo dei modelli Terraform in IBM Cloud
Puoi gestire le risorse cloud con Schematics per iniziare a creare, aggiornare o eliminare risorse cloud con Terraform.
Creazione di uno spazio di lavoro utilizzando la CLI
-
Crea un file JSON sulla tua workstation locale e aggiungi la configurazione del tuo spazio di lavoro. Per ulteriori opzioni di configurazione durante la creazione dello spazio di lavoro, consultare il comando
ibmcloud schematics workspace new.Per creare uno spazio di lavoro con l'agent, fare riferimento al comando ibmcloud schematics workspace new with Agent.
{ "name": "<workspace_name>", "type": [ "<terraform_version>" ], "location": "<location>", "description": "<workspace_description>", "tags": [], "template_repo": { "url": "<github_source_repo_url>" "branch": "master" }, "template_data": [ { "folder": ".", "type": "<terraform_version>", "variablestore": [ { "name": "<variable_name1>", "value": "<variable_value1>", "type": "string", "secure": true }, { "name": "<variable_name2>", "value": "<variable_value2>", "type": "bool", "secure": false } ] } ] }Descrizione dei componenti del file JSON Parametro Descrizione workspace_nameImmetti un nome per il tuo spazio di lavoro. La lunghezza massima del limite di caratteri è impostata su 1 MB. Per ulteriori informazioni, vedi Progettazione della struttura del tuo spazio di lavoro. terraform_versionLa versione Terraform che vuoi utilizzare per eseguire il tuo codice Terraform. Per utilizzare Terraform version 1.4, immettiterraform_v1.4e in modo simileterraform_v1.5eterraform_v1.6. Assicurati che i tuoi file di configurazione Terraform siano compatibili con la versione Terraform che specifichi. Se la versione della variabile Terraform non è specificata. per impostazione predefinita, Schematics seleziona la versione dal tuo modello.locationInserisci la posizione in cui desideri creare il tuo spazio di lavoro. L'ubicazione determina dove vengono eseguite le azioni Schematics e dove vengono archiviati i dati dello spazio di lavoro. L'ubicazione è indipendente dalla regione in cui vuoi creare i servizi IBM Cloud. descriptionImmetti una descrizione per il tuo spazio di lavoro. github_source_repo_urlInserire l' URL del repository GitHub o GitLab in cui sono memorizzati i file di configurazione di Terraform. Se si sceglie di creare l'area di lavoro senza un repository GitHub, l'area di lavoro viene creata con uno stato di bozza. Per collegare successivamente l'area di lavoro a un repository GitHub, è necessario utilizzare il comando ibmcloud schematics workspace update.variable_nameFacoltativo: inserisci il nome della variabile di input che hai dichiarato nei tuoi file di configurazione Terraform. variable_typeFacoltativo: inserire il tipo di dati della variabile di input. Per i tipi di dati supportati, consultare il comando ibmcloud schematics workspace new. -
Creare lo spazio di lavoro.
ibmcloud schematics workspace new --file workspace.json -
Verifica che il tuo spazio di lavoro sia stato creato. Assicurati che il tuo spazio di lavoro sia in uno stato Inattivo.
ibmcloud schematics workspace list -
Fare riferimento a Gestione delle risorse cloud con Schematics per aggiornare o eliminare le risorse cloud con Terraform.
Creazione di uno spazio di lavoro utilizzando l'API
-
Segui i passi per recuperare il tuo token di accesso IAM e autenticarti con IBM Cloud Schematics utilizzando l'API.
-
Crea lo spazio di lavoro utilizzando Terraform.
curl --request POST --url https://schematics.cloud.ibm.com/v1/workspaces -H "Authorization: <iam_access_token>" -d '{"name": "<workspace_name>","type": ["<terraform_version>"],"location": "<location>","description": "<description>","template_repo": {"url": "<github_source_repo_url>"},"template_data": [{"folder": ".","type": "<terraform_version>","variablestore": [{"value": "<variable_value>","name": "<variable_name>","type": "<variable_type>","secure": true}]}]}'Descrizione dei componenti del file JSON Parametro Descrizione iam_access_tokenImmetti il token di accesso IAM che hai richiamato nel passo 1. workspace_nameImmetti un nome per il tuo spazio di lavoro. La lunghezza massima del limite di caratteri è impostata su 1 MB. Per ulteriori informazioni, vedi Progettazione della struttura del tuo spazio di lavoro. terraform_versionLa versione Terraform che vuoi utilizzare per eseguire il tuo codice Terraform. Immetti terraform_v1.4per utilizzare Terraform versione 1.4e allo stesso modoterraform_v1.5eterraform_v1.6. Assicurati che i tuoi file di configurazione Terraform siano compatibili con la versione Terraform che specifichi. Se la versione della variabile Terraform non è specificata, per default Schematics seleziona la versione dal tuo template.locationInserisci la posizione in cui desideri creare il tuo spazio di lavoro. L'ubicazione determina dove vengono eseguite le azioni Schematics e dove vengono archiviati i dati dello spazio di lavoro. L'ubicazione è indipendente dalla regione in cui vuoi creare i servizi IBM Cloud. descriptionImmetti una descrizione per il tuo spazio di lavoro. github_source_repo_urlInserire l' URL del repository GitHub o GitLab in cui sono memorizzati i file di configurazione di Terraform variable_nameFacoltativo: inserisci il nome della variabile di input che hai dichiarato nei tuoi file di configurazione Terraform. variable_valueFacoltativo: inserire il valore della variabile di input. variable_typeFacoltativo: inserire il tipo di dati della variabile di input. Per i tipi di dati supportati, consultare il comando ibmcloud schematics workspace new. -
Verificare che l'area di lavoro sia stata creata correttamente.
curl -X GET https://schematics.cloud.ibm.com/v1/workspaces -H "Authorization: <iam_access_token>" -
Vedere Gestione delle risorse cloud con Schematics per aggiornare o eliminare le risorse cloud.
Creazione dello spazio di lavoro utilizzando Terraform
-
Segui i passi in Configurazione di Terraform per Schematics per creare il tuo spazio di lavoro con Terraform.
-
Vedere Gestione delle risorse cloud con Schematics per aggiornare o eliminare le risorse cloud.
Passi successivi
La fase successiva del lavoro con gli spazi di lavoro è la distribuzione degli spazi di lavoro.