Usando a Interface de Linha de Comando com um Dispositivo Roving Edge Infrastructure
Descreve como usar a Interface de Linha de Comando para acessar um dispositivo Roving Edge Infrastructure.
A Interface de Linha de Comando (CLI) do Oracle Cloud Infrastructure fornece um conjunto de comandos para configurar e executar as tarefas do Roving Edge Infrastructure. Use a CLI como alternativa à execução de comandos no Console do Dispositivo. Às vezes, você deverá usar a CLI para concluir determinadas tarefas em que nenhum equivalente da Console do Dispositivo está disponível.
Use CLIs para executar as tarefas do serviço Roving Edge Infrastructure na nuvem do Oracle Cloud Infrastructure. Essas tarefas podem incluir a solicitação de nós e a execução de tarefas diretamente nos nós do dispositivo. Instale a CLI separadamente nos dispositivos. As CLIs instaladas nos dispositivos são executadas localmente no ambiente e não exigem acesso à Internet.
Versão Mínima Obrigatória da CLI
A versão mínima obrigatória da CLI para o Roving Edge Infrastructure é 2.12.1.
Determinando as Versões da CLI
Acesse o URL a seguir para ver a versão atualmente disponível da CLI:
https://github.com/oracle/oci-cli/blob/master/CHANGELOG.rst
Digite o seguinte comando no prompt para ver a versão da CLI atualmente instalada em sua máquina:
oci --version
Se você tiver uma versão na sua máquina anterior à atualmente disponível, instale a versão mais recente.
Sempre atualize para a versão mais recente da CLI. A CLI não é atualizada automaticamente e você só poderá acessar os recursos novos ou atualizados da CLI instalando a versão atual.
Atualizando o Arquivo de Hosts
Abra o arquivo /etc/hosts
e adicione uma entrada ip_address host_name
para o RED.
Em que ip_address
é o endereço IP do dispositivo Roving Edge Infrastructure e host_name
é o nome do host do Roving Edge Infrastructure no qual você está executando a CLI.
Por exemplo:
10.0.1.8 rover.mycompany.com
Acesse o nome do host executando os seguintes comandos:
-
Faça download do certificado
redroot.pem
:echo -n | openssl s_client -showcerts -connect ip_address:8015 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > redroot.pem
-
Em seguida, exiba os nomes de host DNS:
openssl x509 -in redroot.pem -text -noout | grep DNS
No retorno do comando, é exibido o seguinte:
-
DNS:*.certcommonname.com
: Indica um certificado curinga. Prefixe o certificado com o subdomínio de sua escolha "ex: rover" e abra seu arquivo/etc/hosts
e adicione uma linha com o seguinte:10.145.140.5 rover.certcommonname.com
-
DNS:rover-install-red-1, DNS:…,
: Escolha qualquer uma das saídas de DNS e adicione a seguinte linha ao arquivo/etc/hosts
:10.145.140.5 rover-install-red-1
Abra o arquivo /etc/hosts
e adicione uma linha com o seguinte:
10.145.140.5 rover.mycompany.com otec-console-local rover-install-red-1
Se o valor do parâmetro obrigatório for listado como variável, por exemplo, name
, forneça um valor. Digite o comando como ele aparece na documentação.
A inclusão de [OPTIONS]
na sintaxe do comando indica parâmetros opcionais. Acesse a ajuda on-line da CLI para obter uma lista de parâmetros opcionais e seu uso.
Instalando a CLI
A instalação e a configuração das CLIs são descritas com detalhes no tópico Interface de Linha de Comando (CLI) na documentação do Oracle Cloud Infrastructure.
Definindo o Arquivo de Configuração
Antes de configurar o arquivo de configuração, você precisa reunir as seguintes informações:
-
OCID da tenancy do Roving Edge Infrastructure. Obtenha o OCID da tenancy usando o seguinte comando:
curl -k https://ip_address:12060/v1/tenants/orei
em que
ip_address
é o endereço IP do dispositivo Roving Edge Infrastructure. O OCID da tenancy está contido no retorno, por exemplo:{ "id" : "ocid1.tenancy.orei..uniqueID", "name" : "orei" }
Como alternativa, informe o seguinte URL no web browser da Console do Dispositivo:
https://ip_address:12060/v1/tenants/orei
O OCID da tenancy é retornado no web browser.
-
OCID do IAM (Identidade e Gerenciamento de Acesso) do usuário do Roving Edge Infrastructure. Obtenha o OCID da tenancy usando as seguintes etapas:
-
Acesse o Console do Dispositivo para o nó do dispositivo.
-
Abra o menu de navegação e selecione Gerenciamento de Identidades > Usuários.
A página Usuários é exibida. Todos os usuários são listados em formato tabular.
-
Selecione um usuário cujos detalhes você deseja obter. A página Detalhes do usuário é exibida.
-
Localize a linha do OCID em Informações do Usuário na página Detalhes e copie o link e salve essas informações.
Mantenha a página Web do Usuário do IAM aberta conforme necessário para fazer upload da chave pública no formato PEM.
-
Crie um diretório
.oci
no diretório home do host no qual você tenha a CLI do OCI instalada. Por exemplo:-
Linux e Macintosh:
cd $HOME mkdir .oci cd .oci
-
Windows PowerShell:
mkdir %HOMEDRIVE%%HOMEPATH%\.oci cd ~ cd .oci
-
-
-
Par de Chaves RSA no formato PEM: Em um terminal Linux ou Macintosh, ou janela PowerShell do Windows, alterne para o diretório
.oci
e execute:oci setup keys
O comando cria os seguintes arquivos no diretório
.oci
:-
oci_api_key_public.pem
-
oci_api_key.pem
Volte para a Console do Dispositivo e vá para a página Detalhes do Usuário do IAM. Selecione Chaves de API no lado esquerdo da janela e, em seguida, selecione Adicionar Chave Pública e selecione o arquivo
oci_api_key_public.pem
para upload.Depois de fazer upload da chave, registre o valor de Impressão Digital, pois você precisará dele posteriormente para atualizar o arquivo de configuração.
No diretório
.oci
, crie o arquivoconfig
e preencha-o com o seguinte:[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 você tiver incluído uma frase-senha ao criar a chave PEM, adicione uma linha com:
pass_phrase=your_passphrase
Os OCIDs do Roving Edge Infrastructure, como para user
e tenancy
, contêm orei
nos valores.
Se você já tiver um arquivo config
com um perfil DEFAULT
, poderá criar mais entradas com um perfil com o nome de sua escolha.
Cada tenancy (dispositivo) do Roving Edge Infrastructure precisa de seu próprio perfil. Você pode usar um nome base e incrementar o número de cada dispositivo. O exemplo a seguir usa o nome de perfil ROVINGEDGE1
do nome base ROVINGEDGE
:
O exemplo a seguir usa o 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 os OCIDS do Roving Edge Infrastructure contêm a string orei
.
Se você estiver usando um nome de perfil não padrão, inclua a opção --profile profile_name
em todos os comandos da CLI. Para este exemplo, o uso do perfil ROVINGEDGE1
requer a inclusão de --profile ROVINGEDGE1
na sintaxe da CLI. A seção a seguir "Configurando o Arquivo RC da CLI do OCI" descreve um método opcional de eliminar esse requisito.
Cada dispositivo do Roving Edge Infrastructure requer seu próprio perfil. Escolha um nome base como ROVINGEDGE
e incremente o número de cada dispositivo. Por exemplo: ROVINGEDGE1
.
Configurando o Arquivo RC da CLI do OCI
A Oracle recomenda enfaticamente a configuração de um arquivo RC da CLI do OCI opcional ao usar dispositivos Roving Edge Infrastructure. A configuração de um arquivo RC da CLI do OCI facilita a execução de comandos da CLI, eliminando a necessidade de incluir a opção --profile profile_name
em todos os comandos da CLI.
O arquivo RC da CLI do OCI precisa corresponder ao perfil definido no arquivo config
. Se você estiver usando um perfil DEFAULT
no arquivo config
, o arquivo RC da CLI do OCI também usará DEFAULT
. Se você criou um perfil com outro nome, como ROVINGEDGE1
, use o perfil ROVINGEDGE1
para o arquivo RC da CLI do OCI.
Antes de configurar o arquivo RC da CLI do OCI, execute as seguintes tarefas para obter as seguintes informações:
-
Crie um pacote de certificados:
Retorne ao local onde você gerou suas chaves PEM e execute o seguinte comando:
echo -n | openssl s_client -showcerts -connect ip_address:8015|sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > bundle.pem
Um arquivo com três certificados é criado no diretório
.oci
. Registre o caminho para uso futuro. -
Crie um arquivo chamado
oci_cli_rc
no diretório.oci
com o seguinte conteúdo:[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 você já tiver um arquivo oci_cli_rc
configurado com uma entrada DEFAULT
, corresponda ao nome usado no arquivo config
. Se você usar outro nome de perfil (por exemplo, ROVINGEDGE1
), o arquivo oci_cli_rc
incluirá esse nome. Por exemplo:
[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
Usando a CLI
Você pode especificar as opções da CLI usando os seguintes comandos:
-
--option value
ou
-
--option=value
Não está usando o Arquivo RC da CLI do OCI
Se você não estiver usando um arquivo oci_cli_rc
, a sintaxe básica da CLI do Roving Edge Infrastructure será:
oci resource action options --endpoint resource_endpoint --compartment-id Roving_Edge_tenancy_ocid_used_in_config_file --cert-bundle path_to_cert bundle
Essa sintaxe é aplicada a:
-
oci
é o menor nome de comando da CLI -
os bucket
é um exemplo deresource
-
create
é um exemplo deaction
-
As outras strings são
options
Os pontos finais do recurso são:
-
Object Storage:
https://otec-console-local:8019
Os comandos do serviço Object Storage também precisam incluir a opção
--namespace rover-namespace
. -
Computação:
https://otec-console-local:19060
-
Armazenamento em Blocos:
https://otec-console-local:5012
-
Serviço IAM:
https://otec-console-local:12050
-
Rede:
https://otec-console-local:18336
-
Sincronização de Dados:
https://otec-console-local:21060
-
Atualização do Sistema:
https://otec-console-local:23060
- Eventos:
https://otec-console-local:18000
- Monitoramento:
https://otec-console-local:22060
- Ferramentas de Diagnóstico:
https://otec-console-local:31060
Inclua o valor otec-console-local
da entrada da linha IP address
no arquivo /etc/hosts
para usar a funcionalidade do arquivo oci_cli_rc
.
Se você estiver usando um certificado do Oracle Cloud Infrastructure, os pontos finais de recursos serão:
Ex: DNS:*.commonname.com
-
Object Storage:
https://rover.commonname.com:8019
Os comandos do serviço Object Storage também precisam incluir a opção
--namespace rover-namespace
. -
Computação:
https://rover.commonname.com:19060
-
Armazenamento em Blocos:
https://rover.commonname.com:5012
-
Serviço IAM:
https://rover.commonname.com:12050
-
Rede:
https://rover.commonname.com:18336
-
Sincronização de Dados:
https://rover.commonname.com:21060
-
Atualização do Sistema:
https://rover.commonname.com:23060
-
Eventos:
https://rover.commonname.com:18000
-
Monitoramento:
https://rover.commonname.com:22060
-
Ferramentas de Diagnóstico:
https://rover.commonname.com:31060
Se o certificado do dispositivo for autoassinado, inclua o valor otec-console-local
para a entrada da linha de endereço IP no arquivo /etc/hosts para usar a funcionalidade de arquivo oci_cli_rc
.
Este é um exemplo de comando da 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 sua entrada de arquivo config
para o ambiente do Roving Edge Infrastructure não for DEFAULT
, inclua a opção --profile profile_name
na sintaxe da CLI. Por exemplo:
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 digitar informações confidenciais como parte do nome para exibição.
Usando o Arquivo RC da CLI do OCI
Se você estiver usando o arquivo the oci_cli_rc
, a sintaxe básica da CLI do Roving Edge Infrastructure será:
oci resource action options
Essa sintaxe é aplicada a:
-
oci
é o menor nome de comando da CLI -
os bucket
é um exemplo deresource
-
list
é um exemplo deaction
-
As outras strings são
options
O exemplo de linha de comando a seguir mostra uma construção de comando típica da CLI para listar os buckets em um compartimento especificado:
oci os bucket list --compartment-id ocid1.tenancy.orei..uniqueID
Se sua entrada de arquivo config
para o ambiente do Roving Edge Infrastructure não for DEFAULT
, inclua também a opção --profile profile_name
na sintaxe da CLI. Por exemplo:
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 Obrigatórios e Opcionais
A maioria dos utilitários de linha de comando tem parâmetros obrigatórios e opcionais incluídos no comando. Os parâmetros obrigatórios estão incluídos na sintaxe do comando, por exemplo:
oci os bucket create --name name [OPTIONS]
Se o valor do parâmetro obrigatório for listado como variável, por exemplo, name
, forneça um valor. Digite o comando como ele aparece na documentação.
A inclusão de [OPTIONS]
na sintaxe do comando indica parâmetros opcionais. Acesse a ajuda on-line da CLI para obter uma lista de parâmetros opcionais e seu uso.
Executando Comandos da CLI em Instâncias Hospedadas pelo Dispositivo
Siga essas diretrizes para executar comandos CLI em instâncias de computação hospedadas por dispositivos Roving Edge.
As instruções neste tópico são para computadores host do Oracle Linux.
-
Faça com que a instância passe pelo seguinte IP local:
169.254.169.254
Faça com que a instância faça referência ao dispositivo Roving Edge como
otec-console-local
. -
Empregue as seguintes regras de Tabelas 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 Portas de Serviço para obter uma lista de portas disponíveis.
Observação
Em alguns sistemas operacionais, a cadeia
BareMetalInstanceServices
pode serInstanceServices
. Use o comando iptables -L para ver o que se aplica ao seu SO.Salve o iptable para que as regras persistam após uma reinicialização:
iptables save
Comandos CLI Não Suportados
Os comandos da CLI a seguir não são suportados no momento. As soluções alternativas são fornecidas quando disponíveis.
-
CLIs do Serviço Object Storage:
oci os list
Você só pode usar o comando
oci os list
quando incluir a opção--fields
. Por exemplo:# 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": [] }
-
CLIs de Computação:
oci compute instance list-vnics
O comando
oci compute instance list-vnics
lista as VNICs anexadas à instância especificada e geralmente são usadas para obter o IP público de um nó de computação. No momento, essa CLI não é suportada no Roving Edge Infrastructure. Você pode obter informações da VNIC, incluindo o endereço IP associado a uma VNIC anexada a um nó de computação, usando qualquer um dos seguintes métodos:-
Console do Dispositivo: Vá para o seguinte local:
Computação > Instâncias > Detalhes da Instância > VNICs Anexadas
Os endereços IP das VNICs são listados na caixa de diálogo exibida.
-
CLI:
oci compute instance list-vnics
Primeiro, execute o seguinte comando para listar todos os anexos da VNIC:
oci compute vnic-attachment list --instance-id <> --all
Em seguida, execute o seguinte comando para a VNIC específica cujos detalhes você deseja obter:
oci network vnic get --vnic-id <>
O exemplo a seguir mostra esses dois comandos executados juntos com seus respectivos retornos:
# 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 apenas uma VNIC estiver anexada, você poderá combinar esses comandos da CLI com outras ferramentas Linux para limitar a saída apenas ao endereço IP público usando o seguinte 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 exemplo:
# 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
-
Acessando a Ajuda da Interface de Linha de Comando
Todos os comandos de ajuda da CLI têm um componente de ajuda associado que você pode acessar na linha de comando. Para exibir a ajuda, digite qualquer comando seguido pela opção --help
ou -h
. Por exemplo:
oci os bucket --help