Uso de Cloud Shell
En esta sección, se describe cómo usar Cloud Shell.
Introducción a Cloud Shell
Puede acceder a Cloud Shell de dos formas:
- Mediante la consola de OCI
- A través del botón 'Try It' (Probar) que aparece en muchos ejemplos de código y líneas de comandos a lo largo de la documentación
Cloud Shell utiliza el OCID de su usuario para crear el directorio raíz. Si tiene varias cuentas en un arrendamiento (por ejemplo, tiene una cuenta de usuario federada y no federada), obtendrá un directorio raíz de Cloud Shell independiente y único para cada cuenta.
Para acceder a Cloud Shell mediante la consola:
- Conéctese a la consola.
- Haga clic en el icono de Cloud Shell/Code Editor en la cabecera de la consola y seleccione Cloud Shell en el menú desplegable. Tenga en cuenta que la CLI de OCI que se ejecuta en Cloud Shell ejecutará comandos con la región seleccionada en el menú de selección Región de la consola cuando se inició Cloud Shell.
Esto muestra Cloud Shell en un "cajón" en la parte inferior de la consola:
Puede utilizar los iconos de la esquina superior derecha de la ventana de Cloud Shell para minimizar, maximizar, reiniciar y cerrar la sesión de Cloud Shell.
Para mover el foco fuera de Cloud Shell mediante el teclado, pulse Ctrl-ESCAPE.
Para las operaciones del portapapeles, los usuarios de Windows pueden utilizar Ctrl-C o Ctrl-Insertar para copiar y Mayús-Insertar o Ctrl-V para pegar. Para los usuarios de Mac OS, utilice Cmd-C para copiar y Cmd-V para pegar.
Para acceder a Cloud Shell a través del botón Try It:
Muchos ejemplos de código y comandos de la documentación de OCI incluyen un botón Try It. Este botón copiará el ejemplo en el portapapeles y abrirá una sesión de Cloud Shell para que pueda probarlo.
Cloud Shell incluye la CLI de OCI autenticada previamente, por lo que no es necesario realizar ninguna configuración antes de empezar a utilizarla.
Inténtelo con los comandos siguientes:
oci os ns get
oci iam compartment list
Interacción con un cluster de OKE desde Cloud Shell
Siga las instrucciones de Configuración del acceso de Cloud Shell a los clusters para lo siguiente:
- Configure un archivo kubeconfig de OKE para utilizarlo con Cloud Shell:
- Seleccione un cluster.
- Haga clic en el botón Acceder al cluster.
- Haga clic en Acceso a Cloud Shell.
- Haga clic en Iniciar Cloud Shell para mostrar la ventana de Cloud Shell.
En la ventana de Cloud Shell, ejecute el comando de la CLI de Oracle Cloud Infrastructure para configurar el archivo kubeconfig y guardarlo en una ubicación accesible para kubectl. Por ejemplo:
$ 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
-
Verifique que kubectl está disponible y que se puede conectar al cluster desde la ventana de Cloud Shell introduciendo el siguiente comando en esta ventana:
$ kubectl get nodes
Transferencia de archivos
- Solo puede seleccionar un archivo al mismo tiempo para transferirlo con el cuadro de diálogo Transferencia de archivos, pero puede seleccionar varios archivos para transferirlos mediante la función de arrastrar y soltar.
- No puede transferir directorios.
- El tamaño máximo de archivo es de 4 GB.
- Los permisos de archivo no se conservan en los archivos transferidos.
- Se registran los nombres de los archivos. No utilice información de identificación personal (PII) en los nombres de archivo.
- Arrastre uno o más archivos a la ventana de Cloud Shell.
Para cargar un archivo en Cloud Shell mediante el menú:
- Haga clic en el menú de Cloud Shell en la parte superior izquierda de la ventana de Cloud Shell y seleccione Cargar. Aparecerá el cuadro de diálogo Carga de archivos.
- Arrastre y suelte un archivo o haga clic en seleccionar desde su equipo.Nota
El cuadro de diálogo Transferencia de archivos solo soporta la selección de un archivo al mismo tiempo para la transferencia. - Haga clic en el botón Cargar.
- Aparecerá el cuadro de diálogo Transferencia de archivos.
- Las transferencias de archivos en curso se muestran con una barra de progreso
- Puede cancelar una transferencia de archivo en curso haciendo clic en la X situada junto a la barra de progreso del archivo.
- Las transferencias de archivos completadas se muestran con una marca de selección verde
- Puede ocultar el cuadro de diálogo Transferencia de archivos haciendo clic en Ocultar.
- Puede ver el cuadro de diálogo Transferencia de archivos en cualquier momento seleccionando Transferencias de archivos en el menú de Cloud Shell
Para descargar un archivo desde Cloud Shell:
- Haga clic en el menú de Cloud Shell situado en la parte superior izquierda de la ventana de Cloud Shell y seleccione Descargar. Aparecerá el cuadro de diálogo Descarga de archivo:
- Introduzca el nombre del archivo de su directorio raíz que desea descargar.Nota
Solo puede descargar archivos del directorio raíz. - Haga clic en el botón Descargar.
- Aparecerá el cuadro de diálogo Transferencia de archivos.
- Las transferencias de archivos en curso se muestran con una barra de progreso
- Puede cancelar una transferencia de archivo en curso haciendo clic en la X situada junto a la barra de progreso del archivo.
- Las transferencias de archivos completadas se muestran con una marca de selección verde
- Puede ocultar el cuadro de diálogo Transferencia de archivos haciendo clic en Ocultar.
- Puede ver el cuadro de diálogo Transferencia de archivos en cualquier momento seleccionando Transferencias de archivos en el menú de Cloud Shell
Personalización de la configuración de la CLI de OCI de Cloud Shell
Cloud Shell incluye una CLI de OCI autenticada previamente, que se refresca y aprovisiona para el usuario cuando abre una nueva instancia de Cloud Shell. La ubicación y el token de configuración de OCI están fuera del directorio raíz del usuario, en /etc/oci
. Por ejemplo:
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 ubicación del archivo de configuración, el tipo de autenticación de la CLI de OCI y la opción de perfil se especifican con variables de entorno:
OCI_CLI_AUTH=instance_obo_user
OCI_CLI_CONFIG_FILE=/etc/oci/config
OCI_CLI_PROFILE=us-ashburn-1
Para personalizar la CLI de OCI, puede crear un archivo RC de CLI de OCI y colocarlo en el directorio local .oci:
$ oci setup oci-cli-rc --file path/to/target/file
Para obtener más información sobre la configuración de la CLI de OCI, consulte Configuración de la CLI.
Gestión de regiones de Cloud Shell
Cloud Shell utiliza el archivo de configuración de la CLI y variables ENV para determinar con qué región interactúa la CLI de OCI. El archivo de configuración de la CLI de OCI (especificado por la variable de entorno OCI_CLI_CONFIG_FILE
) contiene los perfiles de CLI para Cloud Shell. Cada región es su propio perfil de CLI, y el perfil actual se especifica mediante la variable de entorno OCI_CLI_PROFILE
.
Por ejemplo, si abre Cloud Shell desde la consola con "Este de EE. UU. (Ashburn)" seleccionado en la lista desplegable de la región de la consola, Cloud Shell se abrirá con OCI_CLI_PROFILE
definido en us-ashburn-1
.
No hay ningún valor de perfil
[DEFAULT]
en Cloud Shell porque la región seleccionada cambia según la configuración de la consola cuando se abre Cloud Shell.Si desea personalizar la configuración de la CLI de OCI en Cloud Shell, puede utilizar un archivo de configuración de CLI de OCI. Por ejemplo, para definir un compartimento por defecto en el archivo de configuración bajo el perfil de región adecuado en el archivo RC. Para nuestro ejemplo "us-ashburn-1", puede agregar un valor de compartimento por defecto como el siguiente:
[COMPARTMENT DEFAULTS]
[us-ashburn-1]
compartment-id = ocid1.compartment.oc1..xxxxxxxx
Restablecimiento del entorno de Cloud Shell
Puede utilizar la herramienta csreset
para restablecer el entorno de Cloud Shell a su estado por defecto. Puede restablecer la configuración del perfil bash y emacs, o puede suprimir todos los datos en el directorio raíz y restablecer la configuración de bash y emacs.
Para restablecer los archivos bash
Puede utilizar la opción --bashfiles
(o -b
) para restablecer los archivos $ HOME/.bashrc
, $ HOME/.bash_profile
, $ HOME/.bash_logout
y $ HOME/.emacs
a sus valores por defecto:
csreset --bashfiles
o
csreset -b
Para restablecer todo
Puede utilizar la opción --all
(o -a
) para borrar todos los datos del directorio $HOME y restablecer los archivos $HOME/.bashrc
, $HOME/.bash_profile
, $HOME/.bash_logout
y $HOME/.emacs
a sus valores por defecto:
csreset --all
o
csreset -a
Mostrar la ayuda
Para mostrar las opciones de sintaxis, utilice la opción --help
o -h
:
csreset -h
o
csreset --help
Copia de seguridad y restauración del directorio de inicio de Cloud Shell mediante Object Storage
Puede archivar y realizar una copia de seguridad del contenido del directorio de inicio de Cloud Shell en un cubo de Object Storage.
Si bien Cloud Shell proporciona persistencia entre sesiones, el servicio no proporciona la capacidad de restaurar archivos que el usuario pueda haber suprimido involuntariamente. El servicio tampoco proporciona recuperación ante desastres para los datos incluidos en el directorio de inicio. Si los datos son críticos, considere la posibilidad de crear copias de seguridad entre regiones.
Realizar una copia de seguridad del directorio de inicio de Cloud Shell en Object Storage
- Cree un cubo que contenga la copia de seguridad en Object Storage (también puede utilizar un cubo existente). Para obtener información sobre cómo trabajar con cubos en Object Storage, consulte Cubos de almacenamiento de objetos.Nota
Para buscar el espacio de nombres predeterminado de Object Storage para su tenencia, puede ejecutar el comando:oci os ns get
. - Ejecute el siguiente comando desde un indicador de Cloud Shell. Asegúrese de que los valores de
OCI_CS_USER_BACKUPS_BUCKET_NAME
yOCI_CS_USER_BACKUPS_NAMESPACE
estén definidos en los valores adecuados para la copia de seguridad: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
- Verifique que todos los comandos se hayan completado sin errores. Puede ejecutar el siguiente comando para confirmar que el archivo de copia de seguridad existe en Object Storage y tiene el tamaño esperado:
oci os object head --namespace-name $OCI_CS_USER_BACKUPS_NAMESPACE --bucket-name $OCI_CS_USER_BACKUPS_BUCKET_NAME --name $FILENAME
Restaurar el directorio de inicio de Cloud Shell desde Object Storage
- Busque el nombre del objeto con la copia de seguridad y el nombre del cubo donde se encuentra. Necesitará estos valores como parámetros para los siguientes comandos. Para obtener información sobre Object Storage, consulte la documentación de Object Storage.
- Ejecute los siguientes comandos desde un indicador de Cloud Shell. Asegúrese de sustituir las variables
OCI_CS_USER_BACKUPS_BUCKET_NAME
,OCI_CS_USER_BACKUPS_OBJECT_NAME
yOCI_CS_USER_BACKUPS_NAMESPACE
por los valores adecuados.Nota
Para buscar el espacio de nombres predeterminado de Object Storage para su tenencia, puede ejecutar el comando:oci os ns get
.Nota
El comando tar no sobrescribe los archivos existentes. Si desea sobrescribir los archivos existentes, elimine el parámetro--skip-old-files
y añada el parámetro--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
- Compruebe la salida del comando y los archivos del directorio de inicio para verificar que todos los comandos se hayan completado sin errores.
Utilización de las versiones de Python
python
en el símbolo del sistema:python
Trabajar con versiones de kubectl
Cloud Shell se proporciona preinstalado con cada versión de Kubernetes soportada actualmente por OKE. Estas versiones se instalan en /usr/local/bin/kubectl-{version}
(por ejemplo: /usr/local/bin/kubectl-v1.17.13
) y la ruta de acceso al binario se incluye en la variable de entorno PATH.
Por defecto, la ejecución de kubectl
en la sesión de Cloud Shell llamará a la segunda versión más reciente instalada de kubectl. Lo hacemos para optimizar la compatibilidad en función de la política de sesgo de versión de Kubernetes.
Si desea utilizar una versión de kubectl distinta a la versión por defecto, puede llamar al binario específico de la versión.
kubectl-v1.17.13 get services
Otra opción es crear un alias para apuntar kubectl hacia una versión específica. alias kubectl=kubectl-v1.17.13
Si desea que el alias se mantenga entre sesiones de Cloud Shell, agregue la definición de alias al archivo
~/.bashrc
.Gestión de tiempos de ejecución de lenguaje
csruntimectl
para ver y gestionar los entornos de ejecución de lenguaje que utiliza Cloud Shell para la ejecución de programas.El comando
csruntimectl
actualmente solo soporta Java.list
. Por ejemplo:csruntimectl java list
set
para especificar qué versión de ejecución utiliza Cloud Shell. Por ejemplo, para definir el tiempo de ejecución de Java:csruntimectl java set oraclejdk-11
Tenga en cuenta que esta configuración se mantiene en las sesiones de Cloud Shell.
help
para mostrar una lista de las opciones soportadas actualmente:csruntimectl help
Obtención de la dirección IP pública para una sesión de Cloud Shell
La dirección IP pública de Cloud Shell es dinámica. No cambiará durante una sesión de Cloud Shell, pero puede cambiar al iniciar una nueva sesión.
curl -s checkip.dyndns.org | sed -e 's/.*Current IP Address: //' -e 's/<.*$//'
Este comando devuelve la dirección IP pública del gateway de NAT asociado a Cloud Shell. Dado que Cloud Shell no está asociado a un gateway de Internet, no puede utilizar esta dirección IP para acceder a un servicio web que se ejecute en Cloud Shell.