Uso de la interfaz de línea de comandos con un dispositivo de Roving Edge Infrastructure
Describe cómo utilizar la interfaz de línea de comandos para acceder a un dispositivo de Roving Edge Infrastructure.
La interfaz de línea de comandos (CLI) de Oracle Cloud Infrastructure proporciona un juego de comandos para configurar y ejecutar tareas de Roving Edge Infrastructure. Use la CLI como alternativa a la ejecución de comandos desde la consola de dispositivos. A veces, debe usar la CLI para completar determinadas tareas para las que no hay un equivalente disponible en la consola de dispositivos.
Utilice CLI para realizar tareas del servicio Roving Edge Infrastructure en la nube de Oracle Cloud Infrastructure. Estas tareas pueden incluir la solicitud de nodos y la ejecución de tareas directamente en los nodos del dispositivo. Instale la CLI por separado en cada dispositivo. Las CLI instaladas en los dispositivos se ejecutan localmente en su entorno y no requieren acceso a Internet.
Versión de CLI mínima necesaria
La versión de CLI mínima necesaria para Roving Edge Infrastructure es la 2.12.1.
Determinación de las versiones de CLI
Acceda a la siguiente URL para ver la versión disponible actualmente de la CLI:
https://github.com/oracle/oci-cli/blob/master/CHANGELOG.rst
Introduzca el siguiente comando en el indicador para ver la versión de la CLI instalada actualmente en la máquina:
oci --version
Si tiene una versión en su máquina anterior a la versión disponible actualmente, instale la versión más reciente.
Actualizar siempre a la última versión de la CLI. La CLI no se actualiza automáticamente y solo puede acceder a las funciones de la CLI nuevas o actualizadas instalando la versión actual.
Actualización del archivo de hosts
Abra el archivo /etc/hosts
y agregue una entrada ip_address host_name
para RED.
Donde ip_address
es la dirección IP del dispositivo de Roving Edge Infrastructure y host_name
es el nombre del host de Roving Edge Infrastructure en el que está ejecutando la CLI.
Por ejemplo:
10.0.1.8 rover.mycompany.com
Para acceder al nombre de host, ejecute los siguientes comandos:
-
Descargue el certificado
redroot.pem
:echo -n | openssl s_client -showcerts -connect ip_address:8015 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > redroot.pem
-
A continuación, muestre los nombres de host DNS:
openssl x509 -in redroot.pem -text -noout | grep DNS
En el retorno del comando, aparece lo siguiente:
-
DNS:*.certcommonname.com
: indica un certificado comodín. Asigne un prefijo al certificado con el subdominio de su elección "ex: rover", abra el archivo/etc/hosts
y agregue una línea con lo siguiente:10.145.140.5 rover.certcommonname.com
-
DNS:rover-install-red-1, DNS:…,
: seleccione cualquiera de las salidas de DNS y agregue la siguiente línea al archivo/etc/hosts
:10.145.140.5 rover-install-red-1
Abra el archivo /etc/hosts
y agregue una línea con lo siguiente:
10.145.140.5 rover.mycompany.com otec-console-local rover-install-red-1
Si el valor de parámetro necesario aparece como una variable (por ejemplo name
) debe proporcionar un valor. Introduzca el comando tal y como aparece en la documentación.
La inclusión de [OPTIONS]
en la sintaxis del comando indica parámetros opcionales. Acceda a la ayuda en línea de la CLI para obtener una lista de los parámetros opcionales y su uso.
Instalación de la CLI
La instalación y la configuración de las CLI se describen detalladamente en el tema Interfaz de línea de comandos (CLI) de la documentación de Oracle Cloud Infrastructure.
Configuración del archivo de configuración
Antes de configurar el archivo de configuración, debe recopilar la siguiente información:
-
OCID de arrendamiento de Roving Edge Infrastructure. Obtenga el OCID del arrendamiento mediante el siguiente comando:
curl -k https://ip_address:12060/v1/tenants/orei
donde
ip_address
es la dirección IP del dispositivo de Roving Edge Infrastructure. El OCID de arrendamiento está incluido en la devolución, por ejemplo:{ "id" : "ocid1.tenancy.orei..uniqueID", "name" : "orei" }
También puede introducir la siguiente URL en el explorador web de la consola de dispositivos:
https://ip_address:12060/v1/tenants/orei
El OCID de arrendamiento se devuelve en el explorador web.
-
OCID de Identity and Access Management (IAM) de usuario de Roving Edge Infrastructure. Obtenga el OCID del arrendamiento mediante los siguientes pasos:
-
Acceda a la consola de dispositivos para el nodo de dispositivo.
-
Abra el menú de navegación y seleccione Gestión de identidad > Usuarios.
Aparecerá la página Usuarios. Todos los usuarios se muestran en formato tabular.
-
Seleccione el usuario cuyos detalles desea obtener. Aparece la página Detalles del usuario.
-
Busque la línea OCID en Información de usuario en la página Detalles, copie el enlace y guarde esta información.
Mantenga la página web de usuario de IAM abierta cuando la necesite para cargar la clave pública en formato PEM.
-
Cree un directorio
.oci
en el directorio raíz del host en el que tiene instalada la CLI de OCI. Por ejemplo:-
Linux y Macintosh:
cd $HOME mkdir .oci cd .oci
-
Windows PowerShell:
mkdir %HOMEDRIVE%%HOMEPATH%\.oci cd ~ cd .oci
-
-
-
Par de claves RSA en formato PEM: en un terminal Linux o Macintosh, o en la ventana PowerShell de Windows, cambie al directorio
.oci
y ejecute:oci setup keys
El comando crea los siguientes archivos en el directorio
.oci
:-
oci_api_key_public.pem
-
oci_api_key.pem
Vuelva a la consola de dispositivos y vaya a la página Detalles de usuario de IAM. Seleccione Claves de API en la parte izquierda de la ventana y, a continuación, seleccione Agregar clave pública y seleccione el archivo
oci_api_key_public.pem
para cargar.Después de cargar la clave, registre el valor de Huella, ya que la necesitará más adelante para actualizar el archivo de configuración.
En el directorio
.oci
, cree el archivoconfig
y rellénelo con lo siguiente:[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
-
Si incluyó una frase de contraseña al crear la clave PEM, agregue una línea con:
pass_phrase=your_passphrase
Los OCID de Roving Edge Infrastructure, como para user
y tenancy
, contienen orei
en los valores.
Si ya tiene un archivo config
con un perfil DEFAULT
, puede crear más entradas con un perfil con el nombre que desee.
Cada arrendamiento (dispositivo) de Roving Edge Infrastructure necesita su propio perfil. Puede utilizar un nombre base e incrementar el número de cada dispositivo. En el siguiente ejemplo se utiliza el nombre de perfil ROVINGEDGE1
del nombre base ROVINGEDGE
:
En el siguiente ejemplo se utiliza el perfil 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
Todos los OCIDS de Roving Edge Infrastructure contienen la cadena orei
.
Si utiliza un nombre de perfil no predeterminado, incluya la opción --profile profile_name
en todos los comandos de la CLI. Para este ejemplo, el uso del perfil ROVINGEDGE1
requiere que incluya --profile ROVINGEDGE1
en la sintaxis de la CLI. En la siguiente sección, "Configuración del archivo RC de la CLI de OCI", se describe un método opcional para eliminar este requisito.
Cada Roving Edge Infrastructuredevice necesita su propio perfil. Seleccione un nombre base como ROVINGEDGE
e incremente el número de cada dispositivo. Por ejemplo: ROVINGEDGE1
.
Configuración del archivo RC de la CLI de OCI
Oracle recomienda configurar un archivo RC de la CLI de OCI opcional al utilizar dispositivos de Roving Edge Infrastructure. La configuración de un archivo RC de la CLI de OCI facilita la ejecución de comandos de la CLI al eliminar la necesidad de incluir la opción --profile profile_name
en todos los comandos de la CLI.
El archivo RC de la CLI de OCI debe coincidir con el perfil definido en el archivo config
. Si utiliza un perfil DEFAULT
en el archivo config
, el archivo RC de la CLI de OCI también utiliza DEFAULT
. Si ha creado un perfil con otro nombre, como ROVINGEDGE1
, utilice el perfil ROVINGEDGE1
para el archivo RC de la CLI de OCI.
Antes de configurar el archivo RC de la CLI de OCI, realice las siguientes tareas para obtener la siguiente información:
-
Cree un grupo de certificados:
Vuelva al lugar donde generó las claves de PEM y ejecute el siguiente comando:
echo -n | openssl s_client -showcerts -connect ip_address:8015|sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > bundle.pem
Se crea un archivo con tres certificados en el directorio
.oci
. Registre la ruta para usarla en el futuro. -
Cree un archivo denominado
oci_cli_rc
en el directorio.oci
con el siguiente contenido:[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
Si ya tiene un archivo oci_cli_rc
configurado con una entrada DEFAULT
, coincida con el nombre utilizado en el archivo config
. Si utiliza otro nombre de perfil (por ejemplo, ROVINGEDGE1
), el archivo oci_cli_rc
incluye ese nombre. Por ejemplo:
[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 de la CLI
Puede usar los siguientes comandos para especificar opciones de CLI:
-
--option value
o
-
--option=value
No se utiliza el archivo RC de la CLI de OCI
Si no utiliza un archivo oci_cli_rc
, la sintaxis básica de la CLI para Roving Edge Infrastructure es:
oci resource action options --endpoint resource_endpoint --compartment-id Roving_Edge_tenancy_ocid_used_in_config_file --cert-bundle path_to_cert bundle
Esta sintaxis se aplica a lo siguiente:
-
oci
es el nombre abreviado del comando de CLI. -
os bucket
es un ejemplo deresource
-
create
es un ejemplo deaction
-
Otras cadenas son
options
Los puntos finales de recursos son:
-
Almacenamiento de objetos:
https://otec-console-local:8019
Los comandos de Object Storage también deben incluir la opción
--namespace rover-namespace
. -
Recursos informáticos:
https://otec-console-local:19060
-
Almacenamiento de bloques:
https://otec-console-local:5012
-
IAM:
https://otec-console-local:12050
-
Red:
https://otec-console-local:18336
-
Sincronización de datos:
https://otec-console-local:21060
-
Actualización del sistema:
https://otec-console-local:23060
- Eventos:
https://otec-console-local:18000
- Supervisión:
https://otec-console-local:22060
- Herramientas de diagnóstico:
https://otec-console-local:31060
Incluya el valor otec-console-local
para la entrada de línea IP address
en el archivo /etc/hosts
para utilizar la funcionalidad del archivo oci_cli_rc
.
Si utiliza un certificado de Oracle Cloud Infrastructure, los puntos finales de recursos son:
Ex: DNS:*.commonname.com
-
Almacenamiento de objetos:
https://rover.commonname.com:8019
Los comandos de Object Storage también deben incluir la opción
--namespace rover-namespace
. -
Recursos informáticos:
https://rover.commonname.com:19060
-
Almacenamiento de bloques:
https://rover.commonname.com:5012
-
IAM:
https://rover.commonname.com:12050
-
Red:
https://rover.commonname.com:18336
-
Sincronización de datos:
https://rover.commonname.com:21060
-
Actualización del sistema:
https://rover.commonname.com:23060
-
Eventos:
https://rover.commonname.com:18000
-
Supervisión:
https://rover.commonname.com:22060
-
Herramientas de diagnóstico:
https://rover.commonname.com:31060
Si el certificado de dispositivo está autofirmado, incluya el valor otec-console-local
para la entrada de línea de dirección IP en el archivo /etc/hosts para utilizar la funcionalidad del archivo oci_cli_rc
.
Este es un ejemplo de un comando de la CLI:
oci os bucket list --compartment-id ocid1.tenancy.orei..uniqueID --endpoint https://otec-console-local:8019 --cert-bundle /Users/username/.oci/bundle.pem
Si la entrada del archivo config
para el entorno de Roving Edge Infrastructure no es DEFAULT
, incluya la opción --profile profile_name
en la sintaxis de la CLI. Por ejemplo:
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
Evite introducir información confidencial como parte del nombre mostrado.
Uso del archivo RC de la CLI de OCI
Si utiliza el archivo the oci_cli_rc
, la sintaxis básica de la CLI para Roving Edge Infrastructure es:
oci resource action options
Esta sintaxis se aplica a lo siguiente:
-
oci
es el nombre abreviado del comando de CLI. -
os bucket
es un ejemplo deresource
-
list
es un ejemplo deaction
-
Otras cadenas son
options
El siguiente ejemplo de línea de comandos muestra una construcción de comandos típica de la CLI para mostrar los cubos en un compartimento especificado:
oci os bucket list --compartment-id ocid1.tenancy.orei..uniqueID
Si la entrada del archivo config
para el entorno de Roving Edge Infrastructure no es DEFAULT
, también debe incluir la opción --profile profile_name
en la sintaxis de la CLI. Por ejemplo:
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
Parámetros necesarios y opcionales
La mayoría de las utilidades de la línea de comandos tienen parámetros obligatorios y opcionales que se incluyen con el comando. Los parámetros necesarios se incluyen en la sintaxis del comando; por ejemplo:
oci os bucket create --name name [OPTIONS]
Si el valor de parámetro necesario aparece como una variable (por ejemplo name
) debe proporcionar un valor. Introduzca el comando tal y como aparece en la documentación.
La inclusión de [OPTIONS]
en la sintaxis del comando indica parámetros opcionales. Acceda a la ayuda en línea de la CLI para obtener una lista de los parámetros opcionales y su uso.
Ejecución de comandos de la CLI en instancias alojadas en dispositivos
Siga estas directrices para ejecutar comandos de la CLI en instancias informáticas alojadas en dispositivos Roving Edge.
Las instrucciones de este tema son para las computadoras host de Oracle Linux.
-
Haga que la instancia pase por la siguiente IP local:
169.254.169.254
Haga que la instancia haga referencia al dispositivo Roving Edge como
otec-console-local
. -
Utilice las siguientes reglas de tablas 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 }
Consulte Service Ports para ver la lista de puertos disponibles.
Nota
En algunos sistemas operativos, la cadena
BareMetalInstanceServices
puede serInstanceServices
. Utilice el comando iptables -L para ver qué se aplica al sistema operativo.Guarde iptable para que las reglas se mantengan después de un reinicio:
iptables save
Comandos de la CLI no admitidos
Actualmente no se admiten los siguientes comandos de la CLI. Cuando es posible, se indican soluciones alternativas.
-
CLI de Object Storage:
oci os list
Solo puede utilizar el comando
oci os list
cuando incluya la opción--fields
. Por ejemplo:# 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 de recursos informáticos:
oci compute instance list-vnics
El comando
oci compute instance list-vnics
muestra las VNIC conectadas a la instancia especificada y, a menudo, se utiliza para obtener la IP pública para un nodo de cálculo. Esta CLI no está soportada actualmente en Roving Edge Infrastructure. Puede obtener información de VNIC, incluida la dirección IP asociada con una VNIC conectada a un nodo de cálculo, mediante cualquiera de los siguientes métodos:-
Consola de dispositivos: vaya a la siguiente ubicación:
Compute > Instancias > Detalles de instancia > VNIC asociadas
Las direcciones IP de las VNIC se muestran en el cuadro de diálogo que aparece.
-
CLI:
oci compute instance list-vnics
En primer lugar, ejecute el siguiente comando para mostrar todas las asociaciones de VNIC:
oci compute vnic-attachment list --instance-id <> --all
A continuación, ejecute el siguiente comando para la VNIC específica para la que desea obtener detalles:
oci network vnic get --vnic-id <>
En el siguiente ejemplo, se muestran estos dos comandos que se ejecutan junto con sus respectivas devoluciones:
# 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" }
Si solo hay una VNIC conectada, puede combinar estos comandos de la CLI con otras herramientas de Linux para limitar la salida solo a la dirección IP pública mediante el siguiente 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}'
Por ejemplo:
# 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
-
Acceso a la ayuda de la interfaz de línea de comandos
Todos los comandos de ayuda de la CLI tienen un componente de ayuda asociado al que puede acceder desde la línea de comandos. Para ver la ayuda, introduzca cualquier comando seguido de la opción --help
o -h
. Por ejemplo:
oci os bucket --help