Utilisation de l'interface de ligne de commande avec un appareil Roving Edge Infrastructure
Explique comment utiliser l'interface de ligne de commande pour accéder à un appareil Roving Edge Infrastructure.
L'interface de ligne de commande Oracle Cloud Infrastructure fournit un ensemble de commandes permettant de configurer et d'exécuter des tâches Roving Edge Infrastructure. Au lieu d'exécuter des commandes à partir de la console de périphériques, utilisez l'interface de ligne de commande. Parfois, vous devez utiliser l'interface de ligne de commande pour effectuer certaines tâches, l'équivalent n'étant pas disponible dans la console de périphériques.
Utilisez les CLI pour effectuer des tâches de service Roving Edge Infrastructure dans le cloud Oracle Cloud Infrastructure. Ces tâches peuvent inclure la demande de noeuds et l'exécution de tâches directement sur les noeuds de périphérique. Installez la CLI séparément sur chaque périphérique. Les CLI installées sur des appareils sont exécutées localement dans votre environnement et ne nécessitent pas d'accès à Internet.
Version minimale requise de l'interface de ligne de commande
La version minimale requise pour l'interface de ligne de commande dans le cadre de Roving Edge Infrastructure est 2.12.1.
Identification des versions d'CLI
Accédez à l'URL suivante pour connaître la version d'interface de ligne de commande actuellement disponible :
https://github.com/oracle/oci-cli/blob/master/CHANGELOG.rst
Entrez la commande suivante à l'invite pour connaître la version d'interface de ligne de commande actuellement installée sur l'ordinateur :
oci --version
Si vous disposez sur l'ordinateur d'une version antérieure à celle actuellement disponible, installez la dernière version.
Effectuez toujours la mise à jour vers la dernière version de l'interface de ligne de commande. L'interface de ligne de commande n'est pas mise à jour automatiquement. Pour accéder aux fonctionnalités nouvelles ou mises à jour, installez la dernière version.
Mise à jour du fichier hosts
Ouvrez le fichier /etc/hosts
et ajoutez une entrée ip_address host_name
pour votre RED.
Où ip_address
est l'adresse IP de l'appareil Roving Edge Infrastructure et host_name
est le nom de l'hôte Roving Edge Infrastructure sur lequel vous exécutez l'interface de ligne de commande.
Par exemple :
10.0.1.8 rover.mycompany.com
Accédez au nom d'hôte en exécutant les commandes suivantes :
-
Téléchargez le certificat
redroot.pem
:echo -n | openssl s_client -showcerts -connect ip_address:8015 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > redroot.pem
-
Affichez ensuite les noms d'hôte DNS :
openssl x509 -in redroot.pem -text -noout | grep DNS
Dans le retour de la commande, les éléments suivants s'affichent :
-
DNS:*.certcommonname.com
: indique un certificat générique. Préfixez le certificat avec le sous-domaine de votre choix "ex : rover" et ouvrez votre fichier/etc/hosts
et ajoutez une ligne avec ce qui suit :10.145.140.5 rover.certcommonname.com
-
DNS:rover-install-red-1, DNS:…,
: choisissez l'une des sorties DNS et ajoutez la ligne suivante au fichier/etc/hosts
:10.145.140.5 rover-install-red-1
Ouvrez le fichier /etc/hosts
et ajoutez une ligne contenant les éléments suivants :
10.145.140.5 rover.mycompany.com otec-console-local rover-install-red-1
Si la valeur du paramètre requis est indiquée sous la forme d'une variable, par exemple name
, vous devez fournir une valeur. Entrez la commande telle qu'elle apparaît dans la documentation.
L'inclusion de la mention [OPTIONS]
dans la syntaxe de commande indique des paramètres facultatifs. Accédez à l'aide en ligne de l'interface de ligne de commande pour obtenir la liste des paramètres facultatifs et connaître leur utilisation.
Installation de l'interface de ligne de commande
L'installation et la configuration des interfaces de ligne de commande sont décrites en détail dans Interface de ligne de commande (CLI) dans la documentation Oracle Cloud Infrastructure.
Configuration du fichier de configuration
Avant de configurer le fichier de configuration, vous devez collecter les informations suivantes :
-
OCID de location Roving Edge Infrastructure. Obtenez l'OCID de location à l'aide de la commande suivante :
curl -k https://ip_address:12060/v1/tenants/orei
où
ip_address
est l'adresse IP de l'appareil Roving Edge Infrastructure. L'OCID de location est contenu dans le retour, par exemple :{ "id" : "ocid1.tenancy.orei..uniqueID", "name" : "orei" }
Vous pouvez également saisir l'URL suivante dans le navigateur Web de la console de dispositifs :
https://ip_address:12060/v1/tenants/orei
L'OCID de location est renvoyé dans votre navigateur Web.
-
OCID d'identité et d'accès utilisateur Roving Edge Infrastructure (IAM). Obtenez l'OCID de location en procédant comme suit :
-
Accédez à la console de périphériques pour le noeud de périphérique.
-
Ouvrez le menu de navigation et sélectionnez Gestion des identités > Utilisateurs.
La page Utilisateurs apparaît. Tous les utilisateurs sont répertoriés sous forme tabulaire.
-
Sélectionnez l'utilisateur dont les détails doivent être obtenus. La page Détails de l'utilisateur s'affiche.
-
Recherchez la ligne OCID sous Informations sur l'utilisateur sur la page Détails, copiez le lien et enregistrez ces informations.
Gardez la page Web Utilisateur IAM ouverte en fonction de vos besoins pour télécharger la clé publique au format PEM.
-
Créez un répertoire
.oci
dans le répertoire de base sur l'hôte sur lequel l'interface de ligne de commande OCI est installée. Par exemple :-
Linux et Macintosh :
cd $HOME mkdir .oci cd .oci
-
Windows PowerShell :
mkdir %HOMEDRIVE%%HOMEPATH%\.oci cd ~ cd .oci
-
-
-
Paire de clés RSA au format PEM : dans un terminal Linux ou Macintosh, ou dans une fenêtre Windows PowerShell, accédez au répertoire
.oci
et exécutez :oci setup keys
La commande crée les fichiers suivants dans le répertoire
.oci
:-
oci_api_key_public.pem
-
oci_api_key.pem
Revenez à la console d'appareil et accédez à la page Détails de l'utilisateur IAM. Sélectionnez Clés d'API dans la partie gauche de la fenêtre, puis Ajouter une clé publique et sélectionnez le fichier
oci_api_key_public.pem
à télécharger.Après avoir téléchargé la clé, enregistrez la valeur Empreinte telle que vous en aurez besoin ultérieurement pour mettre à jour le fichier de configuration.
Dans le répertoire
.oci
, créez le fichierconfig
et remplissez-le avec les éléments suivants :[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 vous avez inclus une phrase de passe lors de la création de la clé PEM, ajoutez une ligne avec :
pass_phrase=your_passphrase
Les OCID Roving Edge Infrastructure, tels que user
et tenancy
, contiennent orei
dans les valeurs.
Si vous disposez déjà d'un fichier config
avec un profil DEFAULT
, vous pouvez créer d'autres entrées avec un profil portant le nom de votre choix.
Chaque location Roving Edge Infrastructure (appareil) a besoin de son propre profil. Vous pouvez utiliser un nom de base et incrémenter le nombre pour chaque périphérique. L'exemple suivant utilise le nom de profil ROVINGEDGE1
du nom de base ROVINGEDGE
:
L'exemple suivant utilise le profil 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
Tous les OCIDS de Roving Edge Infrastructure contiennent la chaîne orei
.
Si vous utilisez un nom de profil autre que celui par défaut, incluez l'option --profile profile_name
dans toutes les commandes de la CLI. Pour cet exemple, l'utilisation du profil ROVINGEDGE1
nécessite l'inclusion de --profile ROVINGEDGE1
dans la syntaxe de l'interface de ligne de commande. La section suivante "Configuration du fichier RC de l'interface de ligne de commande OCI" décrit une méthode facultative pour éliminer cette exigence.
Chaque périphérique Roving Edge Infrastructure nécessite son propre profil. Choisissez un nom de base tel que ROVINGEDGE
et incrémentez le nombre pour chaque périphérique. Par exemple : ROVINGEDGE1
.
Configuration du fichier RC de l'interface de ligne de commande OCI
Oracle recommande vivement de configurer un fichier RC d'interface de ligne de commande OCI facultatif lorsque vous utilisez des appareils Roving Edge Infrastructure. La configuration d'un fichier RC de l'interface de ligne de commande OCI facilite l'exécution des commandes de l'interface de ligne de commande en éliminant la nécessité d'inclure l'option --profile profile_name
dans toutes les commandes de l'interface de ligne de commande.
Le fichier RC de l'interface de ligne de commande OCI doit correspondre à l'ensemble de profils dans le fichier config
. Si vous utilisez un profil DEFAULT
dans le fichier config
, le fichier RC de l'interface de ligne de commande OCI utilise également DEFAULT
. Si vous avez créé un profil avec un autre nom, tel que ROVINGEDGE1
, utilisez le profil ROVINGEDGE1
pour le fichier RC de l'interface de ligne de commande OCI.
Avant de configurer le fichier RC de l'interface de ligne de commande OCI, effectuez les tâches suivantes pour obtenir les informations suivantes :
-
Créez un groupe de certificats :
Revenez à l'emplacement où vous avez généré vos clés PEM et exécutez la commande suivante :
echo -n | openssl s_client -showcerts -connect ip_address:8015|sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > bundle.pem
Un fichier avec trois certificats est créé dans le répertoire
.oci
. Enregistrez le chemin pour une utilisation ultérieure. -
Créez un fichier nommé
oci_cli_rc
dans le répertoire.oci
avec le contenu suivant :[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 un fichier oci_cli_rc
est déjà configuré avec une entrée DEFAULT
, faites correspondre le nom utilisé dans le fichier config
. Si vous utilisez un autre nom de profil (par exemple, ROVINGEDGE1
), le fichier oci_cli_rc
inclut ce nom. Par exemple :
[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
Utilisation de l'interface de ligne de commande
Vous pouvez spécifier des options d'interface de ligne de commande à l'aide des commandes suivantes :
-
--option value
ou
-
--option=value
Pas d'utilisation du fichier RC de l'interface de ligne de commande OCI
Si vous n'utilisez pas de fichier oci_cli_rc
, la syntaxe de base de l'interface de ligne de commande pour Roving Edge Infrastructure est la suivante :
oci resource action options --endpoint resource_endpoint --compartment-id Roving_Edge_tenancy_ocid_used_in_config_file --cert-bundle path_to_cert bundle
Cette syntaxe s'applique aux éléments suivants :
-
oci
est le nom abrégé de la commande d'interface de ligne de commande. -
os bucket
est un exemple d'élémentresource
. -
create
est un exemple d'action
. -
Les autres chaînes sont des
options
.
Les adresses de ressource sont les suivantes :
-
Object Storage :
https://otec-console-local:8019
Les commandes Object Storage doivent également inclure l'option
--namespace rover-namespace
. -
Compute :
https://otec-console-local:19060
-
Stockage de blocs :
https://otec-console-local:5012
-
IAM :
https://otec-console-local:12050
-
Réseau :
https://otec-console-local:18336
-
Synchronisation des données :
https://otec-console-local:21060
-
Mise à niveau du système :
https://otec-console-local:23060
- Evénements :
https://otec-console-local:18000
- Surveillance :
https://otec-console-local:22060
- Outils de diagnostic :
https://otec-console-local:31060
Incluez la valeur otec-console-local
pour l'entrée de ligne IP address
dans le fichier /etc/hosts
afin d'utiliser la fonctionnalité de fichier oci_cli_rc
.
Si vous utilisez un certificat Oracle Cloud Infrastructure, les adresses de ressource sont les suivantes :
Ex: DNS:*.commonname.com
-
Object Storage :
https://rover.commonname.com:8019
Les commandes Object Storage doivent également inclure l'option
--namespace rover-namespace
. -
Compute :
https://rover.commonname.com:19060
-
Stockage de blocs :
https://rover.commonname.com:5012
-
IAM :
https://rover.commonname.com:12050
-
Réseau :
https://rover.commonname.com:18336
-
Synchronisation des données :
https://rover.commonname.com:21060
-
Mise à niveau du système :
https://rover.commonname.com:23060
-
Evénements :
https://rover.commonname.com:18000
-
Surveillance :
https://rover.commonname.com:22060
-
Outils de diagnostic :
https://rover.commonname.com:31060
Si le certificat de périphérique est auto-signé, incluez la valeur otec-console-local
pour l'entrée de ligne d'adresse IP dans le fichier /etc/hosts afin d'utiliser la fonctionnalité de fichier oci_cli_rc
.
Voici un exemple de commande 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 l'entrée de fichier config
de l'environnement Roving Edge Infrastructure n'est pas DEFAULT
, incluez l'option --profile profile_name
dans la syntaxe de l'interface de ligne de commande. Par exemple :
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
Evitez de saisir des informations confidentielles dans le nom d'affichage.
Utilisation du fichier RC de l'interface de ligne de commande OCI
Si vous utilisez le fichier the oci_cli_rc
, la syntaxe de base de l'interface de ligne de commande pour Roving Edge Infrastructure est la suivante :
oci resource action options
Cette syntaxe s'applique aux éléments suivants :
-
oci
est le nom abrégé de la commande d'interface de ligne de commande. -
os bucket
est un exemple d'élémentresource
. -
list
est un exemple d'élémentaction
. -
Les autres chaînes sont des
options
.
L'exemple de ligne de commande suivant présente une structure de commande d'interface de ligne de commande standard permettant de répertorier les buckets d'un compartiment spécifié :
oci os bucket list --compartment-id ocid1.tenancy.orei..uniqueID
Si l'entrée de fichier config
de l'environnement Roving Edge Infrastructure n'est pas DEFAULT
, vous devez également inclure l'option --profile profile_name
dans la syntaxe de l'interface de ligne de commande. Par exemple :
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
Paramètres requis et facultatifs
La plupart des utilitaires de ligne de commande comportent des paramètres requis et facultatifs inclus dans la commande. Les paramètres requis sont inclus dans la syntaxe de la commande, par exemple :
oci os bucket create --name name [OPTIONS]
Si la valeur du paramètre requis est indiquée sous la forme d'une variable, par exemple name
, vous devez fournir une valeur. Entrez la commande telle qu'elle apparaît dans la documentation.
L'inclusion de la mention [OPTIONS]
dans la syntaxe de commande indique des paramètres facultatifs. Accédez à l'aide en ligne de l'interface de ligne de commande pour obtenir la liste des paramètres facultatifs et connaître leur utilisation.
Exécution de commandes CLI sur des instances hébergées par un périphérique
Suivez ces instructions pour exécuter des commandes d'interface de ligne de commande sur des instances de calcul hébergées par des appareils Roving Edge.
Les instructions de cette rubrique concernent les ordinateurs hôtes Oracle Linux.
-
Demandez à l'instance de passer par l'adresse IP locale suivante :
169.254.169.254
Demandez à l'instance de faire référence à l'appareil Roving Edge en tant que
otec-console-local
. -
Utilisez les règles de tables IP suivantes :
{ 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 }
Pour connaître la liste des ports disponibles, reportez-vous à la section Service Ports.
Remarque
Sur certains systèmes d'exploitation, la chaîne
BareMetalInstanceServices
peut plutôt êtreInstanceServices
. Utilisez la commande iptables -L pour voir ce qui s'applique à votre système d'exploitation.Enregistrez l'iptable de sorte que les règles persistent après un redémarrage :
iptables save
Commandes de la CLI non prises en charge
Les commandes CLI suivantes ne sont actuellement pas prises en charge. Des solutions sont proposées, le cas échéant.
-
Interfaces de ligne de commande Object Storage :
oci os list
Vous pouvez uniquement utiliser la commande
oci os list
lorsque vous incluez l'option--fields
. Par exemple :# 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": [] }
-
Interfaces de ligne de commande Compute :
oci compute instance list-vnics
La commande
oci compute instance list-vnics
répertorie les cartes d'interface réseau virtuelles attachées à l'instance indiquée et est souvent utilisée pour obtenir l'adresse IP publique d'un noeud de calcul. Cette interface de ligne de commande n'est pas prise en charge actuellement dans Roving Edge Infrastructure. Vous pouvez obtenir des informations sur les cartes d'interface réseau virtuelles, y compris l'adresse IP associée à une carte d'interface réseau virtuelle attachée à un noeud de calcul, à l'aide de l'une des méthodes suivantes :-
Console de périphériques : accédez à l'emplacement suivant :
Compute > Instances > Détails de l'instance > VNIC attachées
Les adresses IP des VNIC sont répertoriées dans la boîte de dialogue qui s'affiche.
-
CLI :
oci compute instance list-vnics
Commencez par exécuter la commande suivante pour répertorier tous les attachements de la carte d'interface réseau virtuelle :
oci compute vnic-attachment list --instance-id <> --all
Exécutez ensuite la commande suivante pour la carte d'interface réseau virtuelle spécifique pour laquelle vous souhaitez obtenir des détails :
oci network vnic get --vnic-id <>
L'exemple suivant illustre l'exécution de ces deux commandes avec leurs résultats respectifs :
# 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 une seule carte d'interface réseau virtuelle est attachée, vous pouvez combiner ces commandes de CLI avec d'autres outils Linux pour limiter la sortie à l'adresse IP publique uniquement à l'aide de la commande suivante :
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}'
Par exemple :
# 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
-
Accès à l'aide de l'interface de ligne de commande
Toutes les commandes d'aide de l'interface de ligne de commande sont associées à un composant d'aide accessible à partir de la ligne de commande. Pour afficher l'aide, entrez une commande suivie de l'option --help
ou -h
. Par exemple :
oci os bucket --help