Imposta ricerca automatica risorse
Impostare la ricerca automatica delle risorse per generare i file Terraform per le risorse esistenti nel compartimento.
Utilizzare la funzione di ricerca automatica delle risorse OCI per:
- Creare file di stato per le risorse esistenti nella console, quindi aggiungere tali risorse a un'impostazione Terraform.
- Duplica l'infrastruttura esistente in una nuova tenancy o area.
- Rileva la deviazione dello stato per le risorse aggiornate.
In questa esercitazione viene impostata la funzione di ricerca automatica delle risorse del provider Terraform di Oracle Cloud Infrastructure nell'ambiente locale. Per confermare l'impostazione, eseguire la ricerca automatica delle risorse per recuperare le informazioni dalla tenancy e crearne uno script.
I task chiave includono come:
- Creare chiavi RSA.
- Installare i file binari del provider OCI Terraform.
- Impostare le variabili di autenticazione API del provider OCI Terraform.
- Autenticare i comandi CLI del provider OCI.
- Creare uno script nell'ambiente, relativo ai domini di disponibilità nella tenancy, mediante la funzione di ricerca automatica delle risorse.
Per ulteriori informazioni, vedere Casi d'uso e vantaggi.
Informazioni preliminari
Per eseguire correttamente questa esercitazione, è necessario disporre dei seguenti elementi:
- Un account Oracle Cloud Infrastructure. Vedi Richiedi e gestisci le promozioni gratuite su Oracle Cloud.
- Un ambiente MacOS, Linux o Windows:
- Mac OS
- Linux (qualsiasi distribuzione)
- Puoi installare una VM Linux con una forma di computazione Sempre gratis su Oracle Cloud Infrastructure. Vedere Free Tier: Installare Apache e PHP in un'istanza di Oracle Linux.
-
Oracle Cloud Infrastructure Cloud Shell:
-
Cloud Shell
Nota
Se si utilizza Oracle Cloud Infrastructure Cloud Shell, il provider Terraform OCI è già installato e non è necessario creare chiavi RSA. Saltare la sezione e passare a Aggiungi criterio elenco.
-
Cloud Shell
- Come installare Linux su Windows con WSL (WSL)
- Git per Windows per accedere a una VM Linux.
1. Prepara
Preparare l'ambiente per l'autenticazione e l'esecuzione dei comandi di ricerca automatica delle risorse. Inoltre, raccogliere le informazioni necessarie per autenticare i comandi.
Puoi creare chiavi RSA per l'accesso API al tuo account Oracle Cloud Infrastructure.
Se si utilizza Cloud Shell o Resource Manager, saltare la creazione delle chiavi RSA. L'autenticazione è già stata eseguita quando si accede a OCI Console.
Ora è possibile impostare le chiavi RSA per connettersi all'account OCI.
- Di riferimento
- Come generare una chiave di firma API
Se il nome utente si trova nel gruppo Administrators, saltare questa sezione. In caso contrario, chiedere all'amministratore di aggiungere il criterio seguente alla tenancy:
allow group <a-group-that-your-username-belongs-to> to read all-resources in tenancyQuesto privilegio consente di elencare tutte le risorse della tenancy.
- Accedi alla console di Oracle Cloud.
-
Nel menu di navigazione selezionare il menu Profilo
, quindi selezionare Impostazioni utente.
- Selezionare Gruppi o Gruppi personali, a seconda dell'opzione visualizzata.
- In un blocco note, copia il nome di un gruppo a cui appartiene il tuo nome utente.
- Aprire il menu di navigazione e selezionare Identità e sicurezza. In Identità, selezionare Criteri.
- Selezionare il compartimento:
<your-tenancy>(root) - Selezionare Crea criterio.
- Nella pagina Crea criterio, immettere i valori riportati di seguito.
-
Nome:
list-resources -
Descrizione:
Allow the group <a-group-that-your-username-belongs-to> to list the resources in this tenancy. -
Compartimento:
<your-tenancy>(root)
-
Nome:
- Per Costruzione guidata criteri, selezionare Mostra editor manuale.
- Incolla nel seguente criterio:
allow group <a-group-that-your-username-belongs-to> to read all-resources in tenancy - Selezionare Crea.
Riferimento: criteri comuni
Preparare le informazioni necessarie per autenticare i comandi del provider OCI Terraform e copiarli nel blocco note.
Se si utilizza Cloud Shell, è sufficiente trovare il file
<tenancy-ocid> solo nel passo seguente.Se si utilizza Cloud Shell, saltare questa sezione.
Installare la versione più recente dei file binari del provider OCI Terraform v4.2+:
2. Creare uno script di autenticazione
Creare uno script shell per assegnare le informazioni di autenticazione alle variabili di autenticazione del provider OCI. L'account Oracle Cloud Infrastructure autentica i comandi del provider OCI tramite i valori assegnati a questi parametri.
Se si utilizza Cloud Shell o Resource Manager, non è necessario aggiungere l'autenticazione. Passare alla sezione 3. Ricerca automatica di una risorsa.
- Andare a Autenticazione (ricerca automatica delle risorse).
- Impostare le variabili di ambiente riportate di seguito per l'autenticazione basata su chiave API.
- TF_VAR_tenancy_ocid
- TF_VAR_user_ocid
- TF_VAR_fingerprint
- TF_VAR_private_key_path
- TF_VAR_region
In questa sezione, eseguire il file provider-oci.sh per aggiungere le variabili di autenticazione del provider OCI alle variabili di ambiente.
3. Trova una risorsa
Individuare i domini di disponibilità nella tenancy.
Ogni tenancy dispone di una lista di domini di disponibilità. Individuando i domini di disponibilità nella tua area, confermi che:
- Il tuo account Oracle Cloud Infrastructure può autenticare i comandi del provider Oracle Cloud Infrastructure.
- Puoi ottenere informazioni dal tuo account con la funzione di ricerca automatica delle risorse.
- Nella directory
$HOMEcreare una directory denominataresource-discovery.cdmkdir resource-discovery - Se si utilizza Cloud Shell, trovare il file del provider Terraform OCI installato nella directory
/usr/bin.ls /usr/binIl nome file è:
terraform-provider-oci_<version>Nome file campione:
terraform-provider-oci_v5.2.1 - Eseguire il comando riportato di seguito:
- In Cloud Shell:
terraform-provider-oci_<version> -command=export -compartment_id=<tenancy-ocid> -services=availability_domain -output_path=$HOME/resource-discovery - Nell'istanza di computazione o nell'ambiente locale:
tf-oci -command=export -compartment_id=<tenancy-ocid> -services=availability_domain -output_path=$HOME/resource-discovery
Importante
- Sostituire
<tenancy-ocid>con le informazioni fornite da Raccolta delle informazioni obbligatorie. - Se si utilizza Cloud Shell, sostituire
terraform-provider-oci_<version>con il nome file trovato nel passo 2.
Output di esempio:
... INFO <date> [INFO] ===> Generating resource 'oci_identity_availability_domain.export_QnsC-US-ASHBURN-AD-1' INFO <date> [INFO] ===> Generating resource 'oci_identity_availability_domain.export_QnsC-US-ASHBURN-AD-2' INFO <date> [INFO] ===> Generating resource 'oci_identity_availability_domain.export_QnsC-US-ASHBURN-AD-3' ... INFO <date> Found 6 'availability_domain' resources. Generated under '/<home-directory>/resource-discovery/availability_domain.tf'. INFO <date> === COMPLETED ===Nota
- L'OCID tenancy è l'OCID del compartimento per il compartimento radice. Se si fornisce un
<compartment-ocid>specifico o<tenancy-ocid>specifico, vengono restituiti gli stessi domini di disponibilità. - Per trovare le risorse di identità, non è necessario menzionare l'OCID di un compartimento. Nell'esempio precedente, si ottiene lo stesso risultato se si rimuove
compartment_iddal comando.compartment_idconsente di apprendere la sintassi di altri servizi.
- In Cloud Shell:
-
messaggio di errore: impossibile eseguire una query sui package di provider disponibili:
- Se ti trovi su una VPN, controlla le impostazioni proxy.
-
401 errori - (Errore del servizio:NotAuthenticated):
- Valore non corretto per una delle seguenti opzioni:
- OCID tenancy
- OCID utente
- impronta
- Chiave privata RSA (il percorso o la chiave)
- Valore non corretto per una delle seguenti opzioni:
-
host non trovato:
- Valore errato per i seguenti elementi:
- identificativo area
- Valore errato per i seguenti elementi:
- Andare a Utilizzo (individuazione risorse).
Vengono elencate due opzioni di comando.
- Selezionare l'opzione di comando che utilizza
compartment_idcome comando base:terraform-provider-oci -command=export -compartment_id= -output_path= - Aggiornare il comando di base:
- Al posto di
terraform-provider-oci, utilizzare il comando di collegamento simbolico:tf-oci - Rivedere la sezione Descrizione parametro per aggiungere i valori appropriati ai parametri nel comando base.
- Utilizzare il comando
exportper eseguire la ricerca automatica delle risorse:-command=export - Aggiungere l'OCID del compartimento in cui si trovano le risorse:
-compartment_id=<tenancy-ocid> - Creare e quindi specificare una directory per le risorse trovate:
Esempio:
-output_path=$HOME/resource-discovery
- Utilizzare il comando
- Al posto di
- Cercare la frase
availability_domaine osservare le seguenti informazioni:Resources that are dependent on availability domains will be generated under availability_domain.tf file. These include: oci_core_boot_volume oci_file_storage_file_system oci_file_storage_mount_target oci_file_storage_snapshot - Per i servizi, utilizzare:
-
availability_domain(anche se non è un servizio, funziona con il servizio.) - Esempio:
-services=availability_domain - Non sono necessarie virgolette intorno ai nomi dei servizi.
-
- Costruisci il comando:
Ad esempio:
tf-oci -command=export -compartment_id=<tenancy-ocid> -services=availability_domain -output_path=$HOME/resource-discoveryNota
Il comando di ricerca automatica delle risorse non crea una directory per le risorse trovate. Creare una directory e specificare il percorso nel comando.
Complimenti. L'account Oracle Cloud Infrastructure ora può autenticare i comandi del provider OCI Terraform. E l'ambiente è pronto per eseguire i comandi di ricerca automatica delle risorse.
Riferimenti:
Pagina successiva
Esplora altre esercitazioni su Terraform:
Per ulteriori informazioni sullo sviluppo con i prodotti Oracle, visitare i seguenti siti: