Uso di Cloud Shell
In questa sezione viene descritto come utilizzare Cloud Shell.
Guida introduttiva a Cloud Shell
È possibile accedere a Cloud Shell in due modi:
- Tramite OCI Console
- Tramite il pulsante 'Prova' che appare su molti esempi di riga di comando e codice in tutta la documentazione
Cloud Shell utilizza l'OCID utente per creare la directory home. Se si dispone di più account in una tenancy (ad esempio, si dispone di un account utente federato e non federato), si otterrà una directory home Cloud Shell separata e univoca per ogni account.
Per accedere a Cloud Shell tramite la console:
- Eseguire il login alla console.
- Fare clic sull'icona Cloud Shell/Editor di codice nell'intestazione della console e selezionare Cloud Shell dal menu a discesa. Tenere presente che l'interfaccia CLI OCI in esecuzione in Cloud Shell eseguirà i comandi in base all'area selezionata nel menu di selezione Area della console all'avvio di Cloud Shell.
Viene visualizzata la Cloud Shell in un "cassetto" nella parte inferiore della console:
È possibile utilizzare le icone nell'angolo superiore destro della finestra Cloud Shell per ridurre, ingrandire, riavviare e chiudere la sessione Cloud Shell.
Per spostare l'evidenziazione da Cloud Shell utilizzando la tastiera, usare Ctrl-ESCAPE.
Per le operazioni degli Appunti, gli utenti di Windows possono utilizzare Ctrl-C o Ctrl-Insert per copiare e Maiusc-Insert o Ctrl-V per incollare. Per gli utenti Mac OS, utilizzare Cmd-C per copiare e Cmd-V per incollare.
Per accedere a Cloud Shell tramite il pulsante Prova:
Molti esempi di codice e comandi nella documentazione OCI includono un pulsante Prova. Questo pulsante copierà l'esempio negli appunti e aprirà una sessione di Cloud Shell in modo da poter provare l'esempio.
Cloud Shell viene fornito con l'interfaccia CLI OCI preautenticata, pertanto non è necessaria alcuna impostazione prima di poter iniziare a utilizzarla.
Provalo con i seguenti comandi:
oci os ns get
oci iam compartment list
Interagisci con un cluster OKE da Cloud Shell
Seguire le istruzioni riportate in Impostazione dell'accesso Cloud Shell ai cluster per effettuare le operazioni riportate di seguito.
- Impostare un file kubeconfig OKE da utilizzare con Cloud Shell:
- Selezionare un cluster.
- Selezionare il pulsante Cluster di accesso.
- Selezionare Accesso a Cloud Shell.
- Selezionare Avvia Cloud Shell per visualizzare la finestra Cloud Shell.
Nella finestra Cloud Shell eseguire il comando CLI di Oracle Cloud Infrastructure per impostare il file kubeconfig e salvarlo in una posizione accessibile a kubectl. Ad esempio:
$ oci ce cluster create-kubeconfig --cluster-id ocid1.cluster.oc1.phx.aaaaaaaaae... --file $HOME/.kube/config --region us-phoenix-1 --token-version 2.0.0
-
Verificare che kubectl sia disponibile e che possa connettersi al cluster dalla finestra Cloud Shell immettendo il comando seguente nella finestra Cloud Shell:
$ kubectl get nodes
Trasferimento di file
- È possibile selezionare un solo file alla volta da trasferire con la finestra di dialogo Trasferimento file, ma è possibile selezionare più file da trasferire mediante il trascinamento della selezione.
- Impossibile trasferire le directory.
- La dimensione massima del file è 4 GB.
- Le autorizzazioni file non vengono conservate sui file trasferiti.
- I nomi file vengono registrati. Non utilizzare le informazioni di identificazione personale (PII) nei nomi file.
- Trascinare uno o più file nella finestra Cloud Shell.
Per caricare un file in Cloud Shell utilizzando il menu:
- Fare clic sul menu Cloud Shell nella parte superiore sinistra della finestra Cloud Shell e selezionare Carica. Verrà visualizzata la finestra di dialogo Caricamento file.
- Trascinare la selezione di un file o fare clic su seleziona dal computer.Nota
La finestra di dialogo Trasferimento file supporta solo la selezione di un file alla volta da trasferire. - Fare clic sul pulsante Carica.
- Viene visualizzata la finestra di dialogo Trasferimento file.
- I trasferimenti di file in corso vengono visualizzati con una barra di avanzamento
- È possibile annullare un trasferimento di file in corso facendo clic sulla X accanto alla barra di avanzamento del file
- I trasferimenti di file completati vengono visualizzati con un segno di spunta verde
- È possibile nascondere la finestra di dialogo Trasferimento file facendo clic su Nascondi.
- È possibile visualizzare la finestra di dialogo Trasferimento file in qualsiasi momento selezionando Trasferimenti file dal menu Cloud Shell.
Per scaricare un file da Cloud Shell:
- Fare clic sul menu Cloud Shell nella parte superiore sinistra della finestra Cloud Shell e selezionare Scarica. Viene aperta la finestra di dialogo Scaricamento file:
- Digitare il nome del file nella directory home che si desidera scaricare.Nota
È possibile scaricare solo file dalla directory home. - Fare clic sul pulsante Download.
- Viene visualizzata la finestra di dialogo Trasferimento file.
- I trasferimenti di file in corso vengono visualizzati con una barra di avanzamento
- È possibile annullare un trasferimento di file in corso facendo clic sulla X accanto alla barra di avanzamento del file
- I trasferimenti di file completati vengono visualizzati con un segno di spunta verde
- È possibile nascondere la finestra di dialogo Trasferimento file facendo clic su Nascondi.
- È possibile visualizzare la finestra di dialogo Trasferimento file in qualsiasi momento selezionando Trasferimenti file dal menu Cloud Shell.
Personalizzazione della configurazione dell'interfaccia CLI OCI Cloud Shell
Cloud Shell viene fornita con un'interfaccia CLI OCI preautenticata, aggiornata e di cui viene eseguito il provisioning per l'utente quando si apre una nuova Cloud Shell. La posizione e il token di configurazione OCI sono esterni alla home directory dell'utente, in /etc/oci
. Ad esempio:
example_user@cloudshell:~ (us-ashburn-1)$ ll /etc/oci
total 20K
drwxrwx---. 1 root oci 44 Oct 12 00:07 ./
drwxr-xr-x. 1 root root 4.0K Oct 12 00:07 ../
-rw-------. 1 jonathan_s oci 1.9K Jan 1 1970 config
-rw-------. 1 jonathan_s oci 1.3K Jan 1 1970 delegation_token
example_user@cloudshell:~ (us-ashburn-1)$
La posizione del file di configurazione, il tipo di autenticazione CLI OCI e la scelta del profilo sono specificati con le variabili di ambiente:
OCI_CLI_AUTH=instance_obo_user
OCI_CLI_CONFIG_FILE=/etc/oci/config
OCI_CLI_PROFILE=us-ashburn-1
Per personalizzare l'interfaccia CLI OCI, è possibile creare un file RC CLI OCI e inserirlo nella directory .OCI locale:
$ oci setup oci-cli-rc --file path/to/target/file
Per ulteriori informazioni sulla configurazione dell'interfaccia CLI OCI, vedere Configuring the CLI.
Gestione delle aree di Cloud Shell
Cloud Shell utilizza il file di configurazione dell'interfaccia CLI e le variabili ENV per determinare l'area con cui interagisce l'interfaccia CLI OCI. Il file di configurazione dell'interfaccia CLI OCI (specificato dalla variabile di ambiente OCI_CLI_CONFIG_FILE
) contiene i profili CLI per Cloud Shell. Ogni area è il proprio profilo CLI e il profilo corrente viene specificato tramite la variabile di ambiente OCI_CLI_PROFILE
.
Ad esempio, se si apre Cloud Shell dalla console con l'opzione "US East (Ashburn)" selezionata nell'elenco a discesa dell'area Console, Cloud Shell verrà aperta con l'opzione OCI_CLI_PROFILE
impostata su us-ashburn-1
.
In Cloud Shell non è presente alcun valore di profilo
[DEFAULT]
perché l'area selezionata cambia a seconda della configurazione della console all'apertura di Cloud Shell.Se si desidera personalizzare le impostazioni CLI OCI in Cloud Shell, è possibile utilizzare un file di configurazione dell'interfaccia CLI OCI. Ad esempio, per impostare un compartimento predefinito nel file di configurazione nel profilo area appropriato nel file RC. Per il nostro esempio "us-ashburn-1", è possibile aggiungere un'impostazione di compartimento predefinita come questa:
[COMPARTMENT DEFAULTS]
[us-ashburn-1]
compartment-id = ocid1.compartment.oc1..xxxxxxxx
Reimpostazione dell'ambiente Cloud Shell
È possibile utilizzare lo strumento csreset
per ripristinare lo stato predefinito dell'ambiente Cloud Shell. Puoi reimpostare solo le impostazioni del tuo profilo bash ed emacs, oppure puoi eliminare tutti i dati nella tua home directory e reimpostare le impostazioni bash ed emacs.
Per reimpostare i file bash
È possibile utilizzare l'opzione --bashfiles
(o -b
) per ripristinare i valori predefiniti dei file $HOME/.bashrc
, $HOME/.bash_profile
, $HOME/.bash_logout
e $HOME/.emacs
:
csreset --bashfiles
o
csreset -b
Per ripristinare tutto
Per cancellare tutti i dati nella directory $HOME, è necessario cancellare tutti i file creati a causa dell'esecuzione di qualsiasi applicazione o strumento, ad esempio se è stato eseguito podman pull hello-world
, quindi utilizzare podman image rm
per rimuovere i file creati da podman nella directory $HOME/.local
e quindi eseguire csreset -a
.
Visualizzazione della Guida
Per visualizzare le opzioni di utilizzo, utilizzare l'opzione --help
o -h
:
csreset -h
o
csreset --help
Backup e ripristino della directory home di Cloud Shell mediante lo storage degli oggetti
È possibile archiviare ed eseguire il backup del contenuto della directory home di Cloud Shell in un bucket nello storage degli oggetti.
Sebbene Cloud Shell fornisca persistenza tra le sessioni, il servizio non offre la possibilità di ripristinare i file che potrebbero essere stati eliminati inavvertitamente dall'utente. Inoltre, il servizio non fornisce il disaster recovery per i dati contenuti nella directory home. Se i tuoi dati sono fondamentali per te, considera la possibilità di creare backup tra più aree.
Per eseguire il backup della directory home di Cloud Shell nello storage degli oggetti
- Crea un bucket nello storage degli oggetti che conterrà il backup (puoi anche utilizzare un bucket esistente). Per informazioni su come utilizzare i bucket nello storage degli oggetti, vedere Bucket di storage degli oggetti.Nota
Per trovare lo spazio di nomi di storage degli oggetti predefinito per la tenancy in uso, è possibile eseguire il comando:oci os ns get
. - Eseguire il comando seguente da un prompt Cloud Shell. Assicurarsi che i valori di
OCI_CS_USER_BACKUPS_BUCKET_NAME
eOCI_CS_USER_BACKUPS_NAMESPACE
siano impostati sui valori appropriati per il backup:OCI_CS_USER_BACKUPS_BUCKET_NAME="MyCloudShellBackupsBucket" OCI_CS_USER_BACKUPS_NAMESPACE="NamespaceForBackupsBucket" FILENAME=CloudShellHomeDirectoryBackup-$OCI_REGION-$OCI_CS_USER_OCID-$(date --iso-8601=seconds).tar.gz TEMP_TAR_LOCATION=/tmp tar -zcvf $TEMP_TAR_LOCATION/$FILENAME ~/ echo "Creating backup object: $FILENAME in bucket: $OCI_CS_USER_BACKUPS_BUCKET_NAME in namespace: $OCI_CS_USER_BACKUPS_NAMESPACE" oci os object put --namespace-name $OCI_CS_USER_BACKUPS_NAMESPACE --bucket-name $OCI_CS_USER_BACKUPS_BUCKET_NAME --file $TEMP_TAR_LOCATION/$FILENAME rm $TEMP_TAR_LOCATION/$FILENAME
- Verificare che tutti i comandi siano stati completati senza errori. È possibile eseguire il comando seguente per confermare che il file di backup esiste nello storage degli oggetti e ha la dimensione prevista:
oci os object head --namespace-name $OCI_CS_USER_BACKUPS_NAMESPACE --bucket-name $OCI_CS_USER_BACKUPS_BUCKET_NAME --name $FILENAME
Per ripristinare la directory home di Cloud Shell dallo storage degli oggetti
- Trova il nome dell'oggetto con il backup e il nome del bucket in cui si trova. Questi valori sono necessari come parametri per i comandi riportati di seguito. Per informazioni sullo storage degli oggetti, consulta la documentazione sullo storage degli oggetti.
- Eseguire i comandi riportati di seguito da un prompt Cloud Shell. Sostituire le variabili
OCI_CS_USER_BACKUPS_BUCKET_NAME
,OCI_CS_USER_BACKUPS_OBJECT_NAME
eOCI_CS_USER_BACKUPS_NAMESPACE
con i valori appropriati.Nota
Per trovare lo spazio di nomi di storage degli oggetti predefinito per la tenancy in uso, è possibile eseguire il comando:oci os ns get
.Nota
Il comando tar non sovrascrive i file esistenti. Per sovrascrivere i file esistenti, rimuovere il parametro--skip-old-files
e aggiungere il parametro--overwrite
.OCI_CS_USER_BACKUPS_BUCKET_NAME="MyCloudShellBackupsBucket" OCI_CS_USER_BACKUPS_OBJECT_NAME="CloudShellHomeDirectoryBackup-us-ashburn-1-ocid1.user...tar.gz" OCI_CS_USER_BACKUPS_NAMESPACE="NamespaceForBackupsBucket" TEMP_TAR_LOCATION=/tmp oci os object get --namespace-name $OCI_CS_USER_BACKUPS_NAMESPACE --bucket-name $OCI_CS_USER_BACKUPS_BUCKET_NAME --name $OCI_CS_USER_BACKUPS_OBJECT_NAME --file $TEMP_TAR_LOCATION/$OCI_CS_USER_BACKUPS_OBJECT_NAME tar --skip-old-files -xzvf $TEMP_TAR_LOCATION/$OCI_CS_USER_BACKUPS_OBJECT_NAME -C / rm -rf $TEMP_TAR_LOCATION/$OCI_CS_USER_BACKUPS_OBJECT_NAME
- Controllare l'output del comando e i file nella directory home per verificare che tutti i comandi siano stati completati senza errori.
Utilizzo delle versioni Python
python
al prompt dei comandi:python
Utilizzo delle versioni kubectl
Cloud Shell è preinstallato con ogni versione di Kubernetes attualmente supportata da OKE. Queste versioni sono installate in /usr/local/bin/kubectl-{version}
(ad esempio: /usr/local/bin/kubectl-v1.17.13
) e il percorso del file binario è incluso nella variabile di ambiente PATH.
Per impostazione predefinita, l'esecuzione di kubectl
nella sessione Cloud Shell richiamerà la seconda versione installata più recente di kubectl. Lo facciamo per ottimizzare la compatibilità in base al criterio di distorsione della versione di Kubernetes.
Se si desidera utilizzare una versione di kubectl diversa dalla versione predefinita, è possibile richiamare il file binario specifico della versione.
kubectl-v1.17.13 get services
Un'altra opzione è quella di creare un alias per puntare kubectl a una versione specifica. alias kubectl=kubectl-v1.17.13
Se si desidera che l'alias rimanga tra le sessioni Cloud Shell, aggiungere la definizione alias al file
~/.bashrc
.Gestione dei runtime delle lingue
csruntimectl
per visualizzare e gestire i runtime di lingua utilizzati da Cloud Shell per l'esecuzione del programma.Il comando
csruntimectl
attualmente supporta Java e Python.list
. Ad esempio:csruntimectl java list
set
per specificare la versione utilizzata da Cloud Shell runtime. Ad esempio, per impostare Java Runtime:csruntimectl java set oraclejdk-11
Tenere presente che questa impostazione persiste nelle sessioni Cloud Shell.
help
per visualizzare un elenco delle opzioni attualmente supportate.csruntimectl help
Recupero dell'indirizzo IP pubblico per una sessione Cloud Shell
L'indirizzo IP pubblico di Cloud Shell è dinamico. Non verrà modificata durante una sessione di Cloud Shell, ma può cambiare all'avvio di una nuova sessione.
curl -s checkip.dyndns.org | sed -e 's/.*Current IP Address: //' -e 's/<.*$//'
Questo comando restituisce l'indirizzo IP pubblico del gateway NAT associato a Cloud Shell. Poiché Cloud Shell non è associato a un gateway Internet, non è possibile utilizzare questo indirizzo IP per raggiungere un servizio Web in esecuzione su Cloud Shell.