Utilizzo degli workspace per gli ambienti
Esplori gli workspace di Terraform per gestire stati separati per ambienti diversi (ad esempio dev, staging e prod) all'interno della stessa configurazione.
Utilizzo degli workspace per gli ambienti è una lezione DevOps Bootcamp gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento DevOps Bootcamp, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso DevOps Bootcamp include 4 lezioni in totale.
Cosa sono i workspace Terraform?
I workspace Terraform consentono di gestire più state distinti per la stessa configurazione Terraform. Li si può considerare come ambienti separati, ad esempio 'dev', 'staging' o 'prod'.
In questo modo può usare lo stesso insieme di file .tf per distribuire l'infrastruttura in luoghi diversi senza modificare il codice, favorendo il riutilizzo e la coerenza.
Il workspace 'default'
Quando inizializza Terraform per la prima volta in una directory (usando terraform init), utilizza automaticamente il workspace default.
Tutte le operazioni iniziali terraform apply memorizzeranno il proprio state in questo workspace default, a meno che non ne crei e selezioni un altro. È sempre presente!
Creazione di nuovi workspace
Per creare un nuovo ambiente, usi il comando terraform workspace new. Questo comando passa automaticamente anche il contesto corrente al workspace appena creato.
Creiamo un workspace dev:
terraform workspace new devTerraform creerà quindi uno state separato per questo ambiente dev.
Elenco dei workspace disponibili
Può visualizzare tutti i workspace disponibili nella directory della configurazione corrente usando il comando terraform workspace list.
Il workspace attivo in quel momento sarà contrassegnato da un asterisco (*), aiutandola a tenere traccia dei diversi ambienti.
terraform workspace listPassaggio da un workspace all'altro
Per passare da un workspace esistente all'altro, usi il comando terraform workspace select, seguito dal nome del workspace. Questo comando modifica l'ambiente attivo.
Torniamo al workspace default:
terraform workspace select defaultTutte le operazioni Terraform successive avranno come destinazione lo state dell'ambiente default.
Uso di 'terraform.workspace'
Può rendere dinamiche le configurazioni facendo riferimento al nome del workspace corrente tramite la variabile integrata terraform.workspace. È ideale per assegnare nomi alle risorse o impostare tag specifici per l'ambiente.
Provi a eseguire questo esempio. Esegua prima terraform init, poi terraform workspace new dev e infine terraform apply. Osservi il nome e i tag del bucket.
provider "aws" {
region = "us-east-1" # Or your preferred region
}
resource "aws_s3_bucket" "example" {
bucket = "my-unique-bucket-${terraform.workspace}-12345"
acl = "private"
tags = {
Environment = terraform.workspace
ManagedBy = "CoddyKit"
}
}
output "bucket_name" {
description = "Name of the S3 bucket created."
value = aws_s3_bucket.example.bucket
}File di state isolati
L'aspetto più importante dei workspace è che ciascuno mantiene il proprio file di state completamente separato.
Ciò significa che le risorse distribuite nel workspace dev non interferiranno con quelle del workspace prod, anche se sono definite dagli stessi file di configurazione. Terraform gestisce questi file di state in una directory nascosta (.terraform/environments) all'interno della directory di lavoro.
Eliminazione dei workspace
Quando un ambiente non è più necessario, può eliminare il relativo workspace usando terraform workspace delete <name>.
- Importante: non è possibile eliminare il workspace attualmente attivo.
- Fondamentale: si assicuri sempre di aver eliminato tutte le risorse associate al workspace usando
terraform destroyprima di eliminarlo. In caso contrario, potrebbero rimanere risorse orfane!
terraform workspace select default
terraform workspace delete devWorkspace e directory separate
Sebbene i workspace siano ottimi per variazioni minori della stessa configurazione, non sono sempre la scelta migliore. Consideri questi aspetti:
- Workspace: ideali per piccole differenze tra gli ambienti (ad esempio, numero di risorse e tag) mantenendo lo stesso progetto infrastrutturale di base.
- Directory separate: più adatte per progetti infrastrutturali significativamente diversi o quando team diversi gestiscono ambienti completamente separati.
Scelga l'approccio più adatto alla complessità del progetto e alla struttura del team.
Verifica sui workspace
Ha appreso come funzionano i workspace Terraform. Verifichiamo la sua comprensione.
Riepilogo: workspace per gli ambienti
Ottimo lavoro! Ha esplorato i workspace Terraform, una potente funzionalità per gestire più ambienti da un'unica configurazione. Ricordi questi punti fondamentali:
- I workspace forniscono file di state isolati per ambienti diversi (ad esempio, dev e prod).
- Usi
terraform workspace new,listeselectper gestirli. - La variabile
terraform.workspaceconsente di creare configurazioni dinamiche specifiche per l'ambiente. - Elimini sempre le risorse prima di eliminare un workspace, per evitare infrastrutture orfane.
Questo consente di distribuire l'infrastruttura in modo flessibile e organizzato!
Domande Frequenti
La lezione «Utilizzo degli workspace per gli ambienti» è gratuita?
Sì — il testo completo di «Utilizzo degli workspace per gli ambienti» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso DevOps Bootcamp, passa a CoddyKit PRO. Il corso DevOps Bootcamp include 4 lezioni in totale.
Cosa imparerò in «Utilizzo degli workspace per gli ambienti»?
Esplori gli workspace di Terraform per gestire stati separati per ambienti diversi (ad esempio dev, staging e prod) all'interno della stessa configurazione. Eserciti DevOps Bootcamp con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare DevOps Bootcamp?
Non è richiesta alcuna esperienza precedente. DevOps Bootcamp su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.
Quanto tempo richiede la lezione «Utilizzo degli workspace per gli ambienti»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione DevOps Bootcamp?
Sì. Ogni lezione DevOps Bootcamp include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Introduzione ai moduli Terraform
- Creazione di moduli riutilizzabili
- Utilizzo degli workspace per gli ambienti
- Pubblicare moduli in un registry