Utilisation de Cloud Shell

Cette section décrit comment utiliser Cloud Shell.

Démarrage avec Cloud Shell

Vous pouvez accéder à Cloud Shell de deux façons :

  • Au moyen de la console OCI
  • À l'aide du bouton "Faire l'essai" qui apparaît dans de nombreux exemples de ligne de commande et de code tout au long de la documentation
Note

Cloud Shell utilise votre OCID d'utilisateur pour créer votre répertoire de base. Si vous avez plusieurs comptes dans une location (par exemple, vous avez un compte d'utilisateur fédéré et non fédéré), vous obtiendrez un répertoire de base Cloud Shell distinct et unique pour chaque compte.

Pour accéder à Cloud Shell au moyen de la console :

  1. Connectez-vous à la console.
  2. Cliquez sur l'icône Cloud Shell/Éditeur de code dans l'en-tête de la console et sélectionnez Cloud Shell dans le menu déroulant. Notez que l'interface de ligne de commande OCI de Cloud Shell exécutera les commandes par rapport à la région sélectionnée dans le menu de sélection de région de la console au moment du démarrage de Cloud Shell.

Menu de lancement de Cloud Shell

Cloud Shell s'affichera dans un "tiroir" au bas de la console :

Exemple de tiroir pour Cloud Shell

Vous pouvez utiliser les icônes dans le coin supérieur droit de la fenêtre Cloud Shell pour réduire, agrandir, redémarrer et fermer votre session Cloud Shell.

Pour déplacer le focus de Cloud Shell à l'aide du clavier, appuyez sur Ctrl-ESCAPE.

Note

Pour les opérations du presse-papiers, les utilisateurs Windows peuvent utiliser les touches Ctrl-C ou Ctrl-Inser pour la copie et Maj-Inser ou Ctrl-V pour le collage. Les utilisateurs du système d'exploitation Mac peuvent utiliser Cmd-C pour la copie et Cmd-V pour le collage.

Pour accéder à Cloud Shell à l'aide du bouton Faire l'essai :

De nombreux exemples de code et de commande dans la documentation OCI comprennent un bouton Faire l'essai. Ce bouton copiera l'exemple dans le presse-papiers et ouvrira une session Cloud Shell afin que vous puissiez tester l'exemple.

Votre Cloud Shell est fourni avec l'interface de ligne de commande OCI préauthentifiée. Vous n'avez donc aucune configuration à faire avant de commencer à l'utiliser.

Essayez-le avec les commandes suivantes :

oci os ns get
oci iam compartment list

Interagir avec une grappe OKE à partir de Cloud Shell

Suivez les instructions sous Configuration de l'accès Cloud Shell aux grappes pour :

  1. Configurer un fichier kubeconfig OKE à utiliser avec Cloud Shell :
    1. Sélectionnez une grappe.
    2. Cliquez sur le bouton Accéder à la grappe.
    3. Cliquez sur Accès Cloud Shell.
    4. Cliquez sur Lancer Cloud Shell pour afficher la fenêtre Cloud Shell.
    5. Dans la fenêtre Cloud Shell, exécutez la commande d'interface de ligne de commande Oracle Cloud Infrastructure pour configurer le fichier kubeconfig et l'enregistrer dans un emplacement accessible à kubectl. Par exemple :

      $ 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
  2. Pour vérifier que kubectl est disponible et que le serveur peut se connecter à la grappe à partir de la fenêtre Cloud Shell, entrez la commande suivante dans la fenêtre Cloud Shell :

    $ kubectl get nodes

Transfert de fichiers

Vous pouvez transférer des fichiers vers et depuis Cloud Shell, en tenant compte des limitations suivantes :
  • Vous ne pouvez sélectionner qu'un fichier à transférer à la fois à l'aide de la boîte de dialogue Transferts de fichiers, mais vous pouvez sélectionner plusieurs fichiers à transférer par glisser-déposer.
  • Vous ne pouvez pas transférer les répertoires.
  • La taille de fichier maximale est de 4 Mo.
  • Les autorisations de fichier ne sont pas conservées pour les fichiers transférés.
  • Les noms de fichier sont journalisés. N'utilisez pas d'informations d'identification personnelle dans les noms de fichier.
Pour charger un fichier dans Cloud Shell par glisser-déposer :
  1. Faites glisser un ou plusieurs fichiers dans la fenêtre Cloud Shell.

Pour charger un fichier dans Cloud Shell à l'aide du menu :

  1. Cliquez sur le menu Cloud Shell en haut à gauche de la fenêtre Cloud Shell et sélectionnez Charger. La boîte de dialogue Chargement de fichier s'affiche.
  2. Glissez-déposez un fichier ou cliquez sur sélection depuis votre ordinateur.
    Note

    La boîte de dialogue Transferts de fichiers permet de sélectionner un seul fichier à transférer à la fois.
  3. Cliquez sur le bouton Charger.
  4. La boîte de dialogue Transferts de fichiers s'affiche.
    1. Les transferts de fichiers en cours d'exécution sont affichés avec une barre de progression.
    2. Vous pouvez annuler un transfert de fichier en cours en cliquant sur le X à côté de la barre de progression du transfert du fichier.
    3. Les transferts de fichiers terminés sont affichés avec une coche verte.
    4. Vous pouvez masquer la boîte de dialogue Transferts de fichier en cliquant sur Masquer
    5. Vous pouvez afficher la boîte de dialogue Transferts de fichiers à tout moment en sélectionnant Transferts de fichiers dans le menu Cloud Shell.

Pour télécharger un fichier depuis Cloud Shell :

  1. Cliquez sur le menu Cloud Shell en haut à gauche de la fenêtre Cloud Shell et sélectionnez Télécharger. La boîte de dialogue Téléchargement de fichier s'affiche.
  2. Entrez le nom du fichier du répertoire de base à télécharger.
    Note

    Seuls les fichiers de votre répertoire de base peuvent être téléchargés.
  3. Cliquez sur le bouton Télécharger.
  4. La boîte de dialogue Transferts de fichiers s'affiche.
    1. Les transferts de fichiers en cours d'exécution sont affichés avec une barre de progression.
    2. Vous pouvez annuler un transfert de fichier en cours en cliquant sur le X à côté de la barre de progression du transfert du fichier.
    3. Les transferts de fichiers terminés sont affichés avec une coche verte.
    4. Vous pouvez masquer la boîte de dialogue Transferts de fichier en cliquant sur Masquer
    5. Vous pouvez afficher la boîte de dialogue Transferts de fichiers à tout moment en sélectionnant Transferts de fichiers dans le menu Cloud Shell.

Personnalisation de la configuration de l'interface de ligne de commande OCI pour Cloud Shell

Cloud Shell est fourni avec une interface de ligne de commande OCI préauthentifiée, qui est actualisée et provisionnée pour l'utilisateur lorsque vous ouvrez une nouvelle session Cloud Shell. L'emplacement et le jeton de la configuration OCI sont en dehors du répertoire de base de l'utilisateur, dans /etc/oci. Par exemple :


            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)$

L'emplacement du fichier de configuration, le type d'authentification de l'interface de ligne de commande OCI et les choix de profil sont indiqués par des variables d'environnement :

OCI_CLI_AUTH=instance_obo_user
            OCI_CLI_CONFIG_FILE=/etc/oci/config
            OCI_CLI_PROFILE=us-ashburn-1

Pour personnaliser l'interface de ligne de commande OCI, vous pouvez créer un fichier RC d'interface de ligne de commande OCI et le placer dans votre répertoire .oci local :

$ oci setup oci-cli-rc --file path/to/target/file

Pour plus d'informations sur la configuration de l'interface de ligne de commande OCI, voir Configuration de l'interface de ligne de commande.

Gestion des régions Cloud Shell

Cloud Shell utilise le fichier de configuration de l'interface de ligne de commande et les variables d'environnement pour déterminer la région avec laquelle l'interface de ligne de commande OCI interagit. Le fichier de configuration de l'interface de ligne de commande OCI (spécifié par la variable d'environnement OCI_CLI_CONFIG_FILE) contient les profils de l'interface de ligne de commande pour Cloud Shell. Chaque région est son propre profil de l'interface de ligne de commande, et le profil courant est spécifié par la variable d'environnement OCI_CLI_PROFILE.

Par exemple, si vous ouvrez Cloud Shell depuis la console avec la valeur "États-Unis - Est (Ashburn)" sélectionnée dans la liste déroulante des régions de la console, Cloud Shell s'ouvrira avec OCI_CLI_PROFILE réglé à us-ashburn-1.

Note

Il n'y a pas de valeur de profil [DEFAULT] dans Cloud Shell, car la région sélectionnée change en fonction de la configuration de la console lorsque Cloud Shell est ouvert.

Si vous souhaitez personnaliser les paramètres de l'interface de ligne de commande OCI dans Cloud Shell, vous pouvez utiliser un fichier de configuration de l'interface de ligne de commande OCI. Par exemple, pour définir un compartiment par défaut dans votre fichier de configuration sous le profil de région approprié dans votre fichier RC. Pour notre exemple "us-ashburn-1", vous pouvez ajouter un paramètre de compartiment par défaut comme ceci :

[COMPARTMENT DEFAULTS]
[us-ashburn-1]
compartment-id = ocid1.compartment.oc1..xxxxxxxx

Réinitialisation de votre environnement Cloud Shell

Vous pouvez utiliser l'outil csreset pour réinitialiser votre environnement Cloud Shell à son état par défaut. Vous pouvez réinitialiser simplement vos paramètres de profil bash et emacs, ou vous pouvez supprimer toutes les données de votre répertoire de base et réinitialiser les paramètres bash et emacs.

Pour réinitialiser vos fichiers bash

Vous pouvez utiliser l'option --bashfiles (ou -b) pour réinitialiser les fichiers $HOME/.bashrc, $HOME/.bash_profile, $HOME/.bash_logout et $HOME/.emacs à leurs valeurs par défaut :

csreset --bashfiles

ou

csreset -b

Pour tout réinitialiser

Vous pouvez utiliser l'option --all (ou -a) pour effacer toutes les données de votre répertoire $HOME et réinitialiser les fichiers $HOME/.bashrc, $HOME/.bash_profile, $HOME/.bash_logout et $HOME/.emacs à leurs valeurs par défaut :

csreset --all

ou

csreset -a

Affichage de l'aide

Pour afficher les options d'utilisation, utilisez l'option --help ou -h :

csreset -h

ou

csreset --help

Sauvegarde et restauration du répertoire de base Cloud Shell à l'aide du service de stockage d'objets

Vous pouvez archiver et sauvegarder le contenu de votre répertoire de base Cloud Shell dans un seau du service de stockage d'objets.

Note

Bien que Cloud Shell assure la persistance entre les sessions, le service ne permet pas de restaurer les fichiers qui ont pu être été supprimés par inadvertance par l'utilisateur. Le service ne permet pas non plus la récupération après sinistre des données de votre répertoire de base. Si vos données sont essentielles, envisagez de créer des sauvegardes inter-régions.

Pour sauvegarder votre répertoire de base Cloud Shell dans le stockage d'objets

  1. Créez un seau dans le stockage d'objets pour accueillir votre sauvegarde (vous pouvez également utiliser un seau existant). Pour plus d'informations sur l'utilisation des seaux dans le service de stockage d'objets, voir Seaux de stockage d'objets.
    Note

    Pour rechercher l'espace de noms du stockage d'objets par défaut pour votre location, vous pouvez exécuter la commande : oci os ns get.
  2. Exécutez la commande suivante à partir d'une invite Cloud Shell. Assurez-vous que les variables OCI_CS_USER_BACKUPS_BUCKET_NAME et OCI_CS_USER_BACKUPS_NAMESPACE sont réglées aux valeurs appropriées pour votre sauvegarde :
    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 
  3. Vérifiez que toutes les commandes se sont terminées sans erreur. Vous pouvez exécuter la commande suivante pour vérifier que votre fichier de sauvegarde existe dans le stockage d'objets et qu'il a la taille attendue :
    oci os object head --namespace-name $OCI_CS_USER_BACKUPS_NAMESPACE --bucket-name $OCI_CS_USER_BACKUPS_BUCKET_NAME --name $FILENAME

Pour restaurer votre répertoire de base Cloud Shell à partir du stockage d'objets

  1. Recherchez le nom de l'objet de votre sauvegarde et le nom du compartiment dans lequel il se trouve. Vous utiliserez ces valeurs comme paramètres pour les commandes ci-dessous. Pour plus d'informations sur le service de stockage d'objets.
  2. Exécutez les commandes suivantes à partir d'une invite Cloud Shell. Veillez à remplacer les variables OCI_CS_USER_BACKUPS_BUCKET_NAME, OCI_CS_USER_BACKUPS_OBJECT_NAME et OCI_CS_USER_BACKUPS_NAMESPACE par les valeurs appropriées.
    Note

    Pour rechercher l'espace de noms du stockage d'objets par défaut pour votre location, vous pouvez exécuter la commande : oci os ns get.
    Note

    La commande tar ne remplace pas les fichiers existants. Si vous voulez remplacer des fichiers existants, supprimez le paramètre --skip-old-files et ajoutez le paramètre --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
  3. Vérifiez la sortie de la commande et les fichiers de votre répertoire de base pour vous assurer que toutes les commandes se sont terminées sans erreur.

Utilisation des versions Python

Cloud Shell utilise Python 3. Pour exécuter python, entrez python à l'invite de commande :
python

Utilisation des versions de kubectl

Cloud Shell est préinstallé avec chaque version de Kubernetes actuellement prise en charge par OKE. Ces versions sont installées dans /usr/local/bin/kubectl-{version} (par exemple : /usr/local/bin/kubectl-v1.17.13), et le chemin d'accès au fichier binaire est inclus dans la variable d'environnement PATH.

Par défaut, l'exécution de kubectl dans votre session Cloud Shell appelle la deuxième version installée la plus récente de kubectl. Ce comportement vise à optimiser la compatibilité conformément à la politique d'asymétrie de versions de Kubernetes.

Si vous souhaitez utiliser une version de kubectl différente de la version par défaut, vous pouvez appeler le fichier binaire propre à la version.

Par exemple :
kubectl-v1.17.13 get services
Une autre option consiste à créer un alias pour faire pointer kubectl vers une version spécifique.
Par exemple :
alias kubectl=kubectl-v1.17.13
Note

Pour que l'alias persiste entre les sessions Cloud Shell, ajoutez sa définition à votre fichier ~/.bashrc.

Gestion des environnements d'exécution de langage

Vous pouvez utiliser la commande csruntimectl pour voir et gérer les environnements d'exécution de langage utilisés par Cloud Shell pour l'exécution des programmes.
Note

La commande csruntimectl ne prend actuellement en charge que Java.
Pour voir quelles versions d'un environnement d'exécution sont actuellement prises en charge dans Cloud Shell, utilisez l'option list. Par exemple :
csruntimectl java list
Vous pouvez utiliser l'option set pour spécifier la version de l'environnement d'exécution utilisée par Cloud Shell. Par exemple, pour définir l'environnement d'exécution de Java :
csruntimectl java set oraclejdk-11

Notez que ce paramètre persiste entre les sessions Cloud Shell.

Utilisez l'option help pour générer une liste des options actuellement prises en charge :
csruntimectl help

Obtention de l'adresse IP publique pour une session Cloud Shell

Vous pouvez déterminer l'adresse IP publique de votre session Cloud Shell. Ces informations peuvent être utiles dans un certain nombre de scénarios, notamment la configuration de l'accès aux ressources externes à partir de votre session Cloud Shell.
Note

L'adresse IP publique Cloud Shell est dynamique. Elle n'est pas modifiée au cours d'une session Cloud Shell, mais elle peut être modifiée au démarrage d'une nouvelle session.
Vous pouvez déterminer l'adresse IP publique de votre session Cloud Shell en exécutant la commande suivante :
curl -s checkip.dyndns.org | sed -e 's/.*Current IP Address: //' -e 's/<.*$//'
Note

Cette commande retourne l'adresse IP publique de la passerelle NAT associée à Cloud Shell. Comme Cloud Shell n'est pas associé à une passerelle Internet, vous ne pouvez pas utiliser cette adresse IP pour accéder à un service Web exécuté sur Cloud Shell.