Utilizzo dell'interfaccia a riga di comando con un dispositivo dell'infrastruttura Roving Edge
Viene descritto come utilizzare l'interfaccia della riga di comando per accedere a un dispositivo dell'infrastruttura Roving Edge.
L'interfaccia CLI (Command Line Interface) di Oracle Cloud Infrastructure fornisce un set di comandi per configurare ed eseguire i task dell'infrastruttura Roving Edge. Utilizzare la CLI come alternativa all'esecuzione dei comandi dalla console del dispositivo. A volte è necessario utilizzare l'interfaccia CLI per completare alcuni task in cui non è disponibile alcun equivalente nella console del dispositivo.
Utilizza le interfacce CLI per eseguire i task del servizio dell'infrastruttura Roving Edge all'interno di Oracle Cloud Infrastructure Cloud. Questi task possono includere la richiesta di nodi e l'esecuzione di task direttamente sui nodi del dispositivo. Installare la CLI separatamente su ciascun dispositivo. Le interfacce CLI installate sui dispositivi vengono eseguite localmente all'interno dell'ambiente e non richiedono l'accesso a Internet.
Versione CLI minima richiesta
La versione CLI minima richiesta per l'infrastruttura Roving Edge è la 2.12.1.
Determinazione delle versioni CLI
Accedere al seguente URL per visualizzare la versione attualmente disponibile dell'interfaccia CLI:
https://github.com/oracle/oci-cli/blob/master/CHANGELOG.rst
Immettere il seguente comando al prompt per visualizzare la versione dell'interfaccia CLI attualmente installata sul computer:
oci --version
Se sul computer è presente una versione precedente a quella attualmente disponibile, installare la versione più recente.
Eseguire sempre l'aggiornamento alla versione più recente dell'interfaccia CLI. L'interfaccia CLI non viene aggiornata automaticamente e l'interfaccia CLI è possibile accedere a funzionalità nuove o aggiornate solo installando la versione corrente.
Aggiornamento del file host
Aprire il file /etc/hosts
e aggiungere una voce ip_address host_name
per il RED.
Dove ip_address
è l'indirizzo IP del dispositivo dell'infrastruttura Roving Edge e host_name
è il nome dell'host dell'infrastruttura Roving Edge su cui si esegue l'interfaccia CLI.
Ad esempio:
10.0.1.8 rover.mycompany.com
Per accedere al nome host, eseguire i comandi seguenti:
-
Scaricare il certificato
redroot.pem
:echo -n | openssl s_client -showcerts -connect ip_address:8015 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > redroot.pem
-
Quindi visualizzare i nomi host DNS:
openssl x509 -in redroot.pem -text -noout | grep DNS
In caso di ritorno del comando, viene visualizzato quanto segue:
-
DNS:*.certcommonname.com
: indica un certificato con caratteri jolly. Prefisso il certificato con il sottodominio di vostra scelta "ex: rover" e aprire il file/etc/hosts
e aggiungere una riga con il seguente:10.145.140.5 rover.certcommonname.com
-
DNS:rover-install-red-1, DNS:…,
: scegliere uno qualsiasi degli output DNS e aggiungere la riga seguente al file/etc/hosts
:10.145.140.5 rover-install-red-1
Aprire il file /etc/hosts
e aggiungere una riga con la riga seguente:
10.145.140.5 rover.mycompany.com otec-console-local rover-install-red-1
Se il valore del parametro richiesto è elencato come variabile, ad esempio name
, è necessario fornire un valore. Immettere il comando visualizzato nella documentazione.
L'inclusione di [OPTIONS]
nella sintassi del comando indica parametri facoltativi. Accedere alla Guida in linea dell'interfaccia CLI per un elenco di parametri facoltativi e del relativo utilizzo.
Installazione della CLI
L'installazione e la configurazione delle interfacce CLI vengono descritte in dettaglio nell'argomento Command Line Interface (CLI) nella documentazione di Oracle Cloud Infrastructure.
Impostazione del file di configurazione
Prima di configurare il file di configurazione, è necessario acquisire le seguenti informazioni:
-
OCID tenancy dell'infrastruttura Roving Edge. Ottenere l'OCID della tenancy utilizzando il comando seguente:
curl -k https://ip_address:12060/v1/tenants/orei
dove
ip_address
è l'indirizzo IP del dispositivo dell'infrastruttura Roving Edge. L'OCID tenancy è contenuto nella restituzione, ad esempio:{ "id" : "ocid1.tenancy.orei..uniqueID", "name" : "orei" }
In alternativa, immettere l'URL riportato di seguito nel browser Web della console del dispositivo:
https://ip_address:12060/v1/tenants/orei
L'OCID tenancy viene restituito nel browser Web.
-
OCID IAM (Identity and Access Management) dell'utente dell'infrastruttura Roving Edge. Ottenere l'OCID della tenancy mediante i passi riportati di seguito.
-
Accedere alla console del dispositivo per il nodo del dispositivo.
-
Aprire il menu di navigazione e selezionare Identity Management > Utenti.
Viene visualizzata la pagina Utenti. Tutti gli utenti sono elencati in formato tabulare.
-
Selezionare l'utente di cui si desidera ottenere i dettagli. Viene visualizzata la pagina Dettagli dell'utente.
-
Trovare la riga OCID in Informazioni utente nella pagina Dettagli, quindi copiare e salvare queste informazioni.
Mantenere aperta la pagina Web dell'utente IAM in base alle esigenze per caricare la chiave pubblica in formato PEM.
-
Creare una directory
.oci
nella directory home dell'host in cui è installata l'interfaccia CLI OCI. Ad esempio:-
Linux e Macintosh:
cd $HOME mkdir .oci cd .oci
-
Windows PowerShell:
mkdir %HOMEDRIVE%%HOMEPATH%\.oci cd ~ cd .oci
-
-
-
Coppia di chiavi RSA in formato PEM: in un terminale Linux o Macintosh o nella finestra PowerShell di Windows, passare alla directory
.oci
ed eseguire:oci setup keys
Il comando crea i seguenti file nella directory
.oci
:-
oci_api_key_public.pem
-
oci_api_key.pem
Tornare alla console del dispositivo e andare alla pagina Dettagli utente IAM. Selezionare Chiavi API sul lato sinistro della finestra, quindi selezionare Aggiungi chiave pubblica e selezionare il file
oci_api_key_public.pem
da caricare.Dopo aver caricato la chiave, registrare il valore Impronta in quanto sarà necessario in un secondo momento per aggiornare il file di configurazione.
Nella directory
.oci
creare il fileconfig
e inserirlo nei seguenti campi:[DEFAULT] user=user_ocid_from_RED_console fingerprint=your_fingerprint_generated_after_uploading_the_public_key key_file=path_to_home_directory/.oci/oci_api_key.pem tenancy=tenancy_ocid_from_curl_command_or_web_browser region=region_name Example: [DEFAULT] user=ocid1.user.orei..uniqueID fingerprint=10:00:00:db:dd:c4:de:71:a1:01:10:88:f9:95:1e:23 tenancy=ocid1.tenancy.orei..uniqueID region=us-ashburn-1 key_file=/Users/username/.oci/oci_api_key.pem
-
Se durante la creazione della chiave PEM è stata inclusa una passphrase, aggiungere una riga con:
pass_phrase=your_passphrase
Gli OCID dell'infrastruttura Roving Edge, ad esempio per user
e tenancy
, contengono orei
nei valori.
Se si dispone già di un file config
con un profilo DEFAULT
, è possibile creare più voci con un profilo con il nome desiderato.
Ogni tenancy (dispositivo) dell'infrastruttura Roving Edge richiede un proprio profilo. È possibile utilizzare un nome base e incrementare il numero per ciascun dispositivo. Nell'esempio seguente viene utilizzato il nome profilo ROVINGEDGE1
dal nome base ROVINGEDGE
:
L'esempio seguente utilizza il profilo ROVINGEDGE1
:
[DEFAULT]
user=user_ocid
fingerprint=your_fingerprint
key_file=path_to_home_directory/.oci/oci_api_key.pem
tenancy=tenancy_ocid
region=region_name
[ROVINGEDGE1]
user=user_ocid_from_RED_console_UI
fingerprint=your_fingerprint_generated_after_uploading_the_public_key
key_file=path_to_home_directory/.oci/oci_api_key.pem
tenancy=tenancy_ocid_from_curl_command_or_web_browser
region=region_name
Example:
[DEFAULT]
user=ocid1.user.oc1..uniqueID
fingerprint=10:00:00:db:dd:c4:de:71:a1:01:10:88:f9:95:1e:23
tenancy=ocid1.tenancy.oc1..uniqueID
region=us-ashburn-1
key_file=/Users/username/.oci/oci_api_key.pem
[ROVINGEDGE1]
user=ocid1.user.orei..uniqueID
fingerprint=10:00:00:db:dd:c4:de:71:a1:01:10:88:f9:95:1e:23
tenancy=ocid1.tenancy.orei..uniqueID
region=us-ashburn-1
key_file=/Users/username/.oci/oci_api_key.pem
Tutti gli OCIDS dell'infrastruttura Roving Edge contengono la stringa orei
.
Se si utilizza un nome di profilo non predefinito, includere l'opzione --profile profile_name
in tutti i comandi dell'interfaccia CLI. Per questo esempio, l'uso del profilo ROVINGEDGE1
richiede di includere --profile ROVINGEDGE1
nella sintassi CLI. La sezione "Impostazione del file RC dell'interfaccia CLI OCI" riportata di seguito descrive un metodo facoltativo per eliminare questo requisito.
Ogni dispositivo di infrastruttura Roving Edge richiede un proprio profilo. Selezionare un nome base come ROVINGEDGE
e incrementare il numero di ciascun dispositivo. Ad esempio: ROVINGEDGE1
.
Impostazione del file RC dell'interfaccia CLI OCI
Oracle consiglia vivamente di impostare un file RC CLI OCI facoltativo quando si utilizzano i dispositivi dell'infrastruttura Roving Edge. L'impostazione di un file RC dell'interfaccia CLI OCI semplifica l'esecuzione dei comandi CLI eliminando la necessità di includere l'opzione --profile profile_name
in tutti i comandi CLI.
Il file RC dell'interfaccia CLI OCI deve corrispondere al profilo impostato nel file config
. Se si utilizza un profilo DEFAULT
nel file config
, anche il file RC dell'interfaccia CLI OCI utilizza DEFAULT
. Se è stato creato un profilo con un altro nome, ad esempio ROVINGEDGE1
, utilizzare il profilo ROVINGEDGE1
per il file RC dell'interfaccia CLI OCI.
Prima di impostare il file RC dell'interfaccia CLI OCI, eseguire i task riportati di seguito per ottenere le informazioni riportate di seguito.
-
Crea un bundle di certificati:
Tornare alla posizione in cui sono state generate le chiavi PEM ed eseguire il comando seguente:
echo -n | openssl s_client -showcerts -connect ip_address:8015|sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > bundle.pem
Nella directory
.oci
viene creato un file con tre certificati. Registrare il percorso per uso futuro. -
Creare un file denominato
oci_cli_rc
nella directory.oci
con i seguenti contenuti:[DEFAULT] # Specifies cert bundle to use cert-bundle = path_to_bundle/.oci/bundle.pem # Specifies default compartment id so it doesn't have to be set as env variable or on CLI compartment-id = tenancy_ocid_used_in_config_file # Defines endpoint to use for compute compute.endpoint = https://otec-console-local:19060 # Defines endpoint to use for object storage os.endpoint = https://otec-console-local:8019 # Defines namespace os.namespace = rover-namespace # Defines endpoint to use for IAM iam.endpoint = https://otec-console-local:12050 # Defined endpoint for block bv.endpoint = https://otec-console-local:5012 # Defined endpoint for VCN 18336 network.endpoint = https://otec-console-local:18336
Se si dispone già di un file oci_cli_rc
configurato con una voce DEFAULT
, trovare il nome utilizzato nel file config
. Se si utilizza un altro nome di profilo (ad esempio, ROVINGEDGE1
), il file oci_cli_rc
include tale nome. Ad esempio:
[DEFAULT]
# Defines OCI Tenancy object namespace
os.namespace = idbcq3arv1py
[ROVINGEDGE1]
# Specifies cert bundle to use
cert-bundle = /Users/username/.oci/bundle.pem
# Specifies default compartment id so it doesn't have to be set as env variable or on CLI
compartment-id = ocid1.tenancy.orei..uniqueID
# Defines Roving Edge endpoint to use for compute
compute.endpoint = https://otec-console-local:19060
# Defines Roving Edge endpoint to use for object storage
os.endpoint = https://otec-console-local:8019
# Defines Roving Edge object namespace
os.namespace = rover-namespace
# Defines Roving Edge endpoint to use for IAM
iam.endpoint = https://otec-console-local:12050
# Defined Roving Edge endpoint for block
bv.endpoint = https://otec-console-local:5012
# Defined Roving Edge endpoint for VCN 18336
network.endpoint = https://otec-console-local:18336
Uso dell'interfaccia CLI
È possibile specificare le opzioni dell'interfaccia CLI utilizzando i comandi indicati di seguito.
-
--option value
or
-
--option=value
Non utilizza il file RC dell'interfaccia CLI OCI
Se non si utilizza un file oci_cli_rc
, la sintassi CLI di base per l'infrastruttura Roving Edge è la seguente:
oci resource action options --endpoint resource_endpoint --compartment-id Roving_Edge_tenancy_ocid_used_in_config_file --cert-bundle path_to_cert bundle
Questa sintassi è applicata ai seguenti elementi:
-
oci
è il nome del comando CLI abbreviato -
os bucket
è un esempio diresource
-
create
è un esempio diaction
-
Le altre stringhe sono
options
Gli endpoint delle risorse sono:
-
Storage degli oggetti:
https://otec-console-local:8019
I comandi dello storage degli oggetti devono includere anche l'opzione
--namespace rover-namespace
. -
Computazione:
https://otec-console-local:19060
-
Storage a blocchi:
https://otec-console-local:5012
-
IAM:
https://otec-console-local:12050
-
Rete:
https://otec-console-local:18336
-
Sincronizzazione dati:
https://otec-console-local:21060
-
Aggiornamento del sistema:
https://otec-console-local:23060
- Eventi:
https://otec-console-local:18000
- Monitoraggio:
https://otec-console-local:22060
- Strumenti diagnostici:
https://otec-console-local:31060
Includere il valore otec-console-local
per la voce di riga IP address
nel file /etc/hosts
per utilizzare la funzionalità del file oci_cli_rc
.
Se stai utilizzando un certificato Oracle Cloud Infrastructure, gli endpoint delle risorse sono:
Ex: DNS:*.commonname.com
-
Storage degli oggetti:
https://rover.commonname.com:8019
I comandi dello storage degli oggetti devono includere anche l'opzione
--namespace rover-namespace
. -
Computazione:
https://rover.commonname.com:19060
-
Storage a blocchi:
https://rover.commonname.com:5012
-
IAM:
https://rover.commonname.com:12050
-
Rete:
https://rover.commonname.com:18336
-
Sincronizzazione dati:
https://rover.commonname.com:21060
-
Aggiornamento del sistema:
https://rover.commonname.com:23060
-
Eventi:
https://rover.commonname.com:18000
-
Monitoraggio:
https://rover.commonname.com:22060
-
Strumenti diagnostici:
https://rover.commonname.com:31060
Se il certificato del dispositivo è autofirmato, includere il valore otec-console-local
per la riga dell'indirizzo IP nel file /etc/hosts per utilizzare la funzionalità del file oci_cli_rc
.
Di seguito è riportato un esempio di comando di una CLI.
oci os bucket list --compartment-id ocid1.tenancy.orei..uniqueID --endpoint https://otec-console-local:8019 --cert-bundle /Users/username/.oci/bundle.pem
Se la voce del file config
per l'ambiente dell'infrastruttura Roving Edge non è DEFAULT
, includere l'opzione --profile profile_name
nella sintassi CLI. Ad esempio:
oci os bucket list --compartment-id ocid1.tenancy.orei..uniqueID --endpoint https://otec-console-local:8019 --cert-bundle /Users/username/.oci/bundle.pem --profile ROVINGEDGE1
Evitare di inserire informazioni riservate come parte del nome visualizzato.
Utilizzo del file RC dell'interfaccia CLI OCI
Se si utilizza il file the oci_cli_rc
, la sintassi CLI di base per l'infrastruttura Roving Edge è la seguente:
oci resource action options
Questa sintassi è applicata ai seguenti elementi:
-
oci
è il nome del comando CLI abbreviato -
os bucket
è un esempio diresource
-
list
è un esempio diaction
-
Le altre stringhe sono
options
L'esempio di riga di comando riportato di seguito mostra un costrutto tipico di comandi CLI per elencare i bucket in un compartimento specificato.
oci os bucket list --compartment-id ocid1.tenancy.orei..uniqueID
Se la voce del file config
per l'ambiente dell'infrastruttura Roving Edge non è DEFAULT
, è necessario includere anche l'opzione --profile profile_name
nella sintassi CLI. Ad esempio:
oci os bucket list --compartment-id ocid1.tenancy.orei..uniqueID --endpoint https://otec-console-local:8019 --cert-bundle /Users/username/.oci/bundle.pem --profile ROVINGEDGE1
Parametri obbligatori e facoltativi
La maggior parte delle utility della riga di comando include parametri obbligatori e facoltativi inclusi nel comando. I parametri richiesti sono inclusi nella sintassi del comando, ad esempio:
oci os bucket create --name name [OPTIONS]
Se il valore del parametro richiesto è elencato come variabile, ad esempio name
, è necessario fornire un valore. Immettere il comando visualizzato nella documentazione.
L'inclusione di [OPTIONS]
nella sintassi del comando indica parametri facoltativi. Accedere alla Guida in linea dell'interfaccia CLI per un elenco di parametri facoltativi e del relativo utilizzo.
Esecuzione dei comandi CLI sulle istanze ospitate sul dispositivo
Seguire queste linee guida per eseguire i comandi CLI sulle istanze di computazione ospitate dai dispositivi Roving Edge.
Le istruzioni in questo argomento riguardano i computer host Oracle Linux.
-
Chiedi all'istanza di passare attraverso il seguente IP locale:
169.254.169.254
Chiedere all'istanza di fare riferimento al dispositivo Roving Edge come
otec-console-local
. -
Utilizzare le seguenti regole delle tabelle IP:
{ for i in 19060 8019 12050 21060 22060 23060 22060 12060;do iptables -I BareMetalInstanceServices -d 169.254.169.254/32 -p tcp -m tcp --dport $i -m comment --comment "Rover service access port" -j ACCEPT;done }
Per un elenco delle porte disponibili, vedere Service Ports.
Nota
In alcuni sistemi operativi, la catena
BareMetalInstanceServices
potrebbe invece essereInstanceServices
. Utilizzare il comando iptables -L per visualizzare i componenti applicabili al sistema operativo in uso.Salvare la tabella IPtable in modo che le regole persistano dopo un reboot:
iptables save
Comandi CLI non supportati
Al momento i seguenti comandi dell'interfaccia CLI non sono supportati. Se disponibili, vengono fornite soluzioni alternative.
-
CLI di storage degli oggetti:
oci os list
Il comando
oci os list
può essere utilizzato solo quando si include l'opzione--fields
. Ad esempio:# oci os object list --bucket-name generic-image --fields name,size,timeCreated,md5,etag { "data": [ { "archival-state": null, "etag": "b2c123ff0f1231c4c7f41ff92294e4a0-32", "md5": "ssYx/w8SUcTH9B/5IpTkoA==-32", "name": "exported-image", "size": 2132357120, "storage-tier": null, "time-created": "2022-03-01T19:50:03.076000+00:00", "time-modified": null }, { "archival-state": null, "etag": "fe5e3c12e12e31de65b86722a6fe29e7-32", "md5": "/l48AOleMd5luGcipv4p5w==-32", "name": "imported-image-20210830-1542_ocid1.image.oc1.iad..uniqueID.oci", "size": 2132224000, "storage-tier": null, "time-created": "2022-03-01T19:50:59.968000+00:00", "time-modified": null } ], "prefixes": [] }
-
CLI di computazione:
oci compute instance list-vnics
Il comando
oci compute instance list-vnics
elenca le VNIC collegate all'istanza specificata e viene spesso utilizzato per ottenere l'IP pubblico per un nodo di calcolo. Questa CLI non è attualmente supportata nell'infrastruttura Roving Edge. Puoi ottenere informazioni sulla VNIC, incluso l'indirizzo IP associato a una VNIC collegata a un nodo di calcolo, utilizzando uno dei metodi riportati di seguito.-
Console dispositivo: andare alla posizione seguente:
Compute > Istanze > Dettagli istanza > VNIC collegate
Nella finestra di dialogo visualizzata sono elencati gli indirizzi IP delle VNIC.
-
CLI:
oci compute instance list-vnics
Eseguire il comando riportato di seguito per elencare tutti i collegamenti della VNIC.
oci compute vnic-attachment list --instance-id <> --all
Successivamente, eseguire il comando seguente per la VNIC specifica per la quale si desidera ottenere i dettagli:
oci network vnic get --vnic-id <>
L'esempio seguente mostra questi due comandi vengono eseguiti insieme ai rispettivi resi:
# oci compute vnic-attachment list --instance-id ocid1.instance.orei.orei-1..uniqueID --all { "data": [ { "availability-domain": "orei-1-ad-1", "compartment-id": "ocid1.tenancy.orei..uniqueID", "display-name": null, "id": "ocid1.vnicattachment.orei.orei-1..uniqueID", "instance-id": "ocid1.instance.orei.orei-1..uniqueID", "lifecycle-state": "ATTACHED", "nic-index": 0, "subnet-id": "ocid1.subnet.orei.orei-1..uniqueID", "time-created": "2022-03-01T21:07:00.937000+00:00", "vlan-id": null, "vlan-tag": 1, "vnic-id": "ocid1.vnic.orei.orei-1..uniqueID" } ] } # oci network vnic get --vnic-id ocid1.vnic.orei.orei-1..uniqueID { "data": { "availability-domain": "orei-1-ad-1", "compartment-id": "ocid1.tenancy.orei..uniqueID", "defined-tags": {}, "display-name": "test-instance", "freeform-tags": {}, "hostname-label": "test-instance", "id": "ocid1.vnic.orei.orei-1..uniqueID", "is-primary": true, "lifecycle-state": "AVAILABLE", "mac-address": "02:00:17:00:04:00", "nsg-ids": [], "private-ip": "10.0.0.2", "public-ip": "10.145.142.128", "skip-source-dest-check": false, "subnet-id": "ocid1.subnet.orei.orei-1..", "time-created": "2022-03-01T21:07:00.155000+00:00", "vlan-id": null }, "etag": "2c082d1c" }
Se è collegata una sola VNIC, è possibile combinare questi comandi CLI con altri strumenti Linux per limitare l'output solo all'indirizzo IP pubblico utilizzando il seguente comando:
oci compute vnic-attachment list --instance-id <> --all|grep -m 1 vnic-id|awk -F'"' '{print $4}'|xargs -I{} oci network vnic get --vnic-id {}|grep public-ip|awk -F'"' '{print $4}'
Ad esempio:
# oci compute vnic-attachment list --instance-id ocid1.instance.orei.orei-1..uniqueID --all|grep -m 1 vnic-id|awk -F'"' '{print $4}'|xargs -I{} oci network vnic get --vnic-id {}|grep public-ip|awk -F'"' '{print $4}' 10.145.142.128
-
Accesso alla Guida dell'interfaccia della riga di comando
A tutti i comandi della Guida dell'interfaccia CLI è associato un componente della Guida a cui è possibile accedere dalla riga di comando. Per visualizzare la Guida, immettere i comandi seguiti dalle opzioni --help
o -h
. Ad esempio:
oci os bucket --help