Utilisation de Cloud Shell

Cette section décrit l'utilisation de Cloud Shell.

Introduction à Cloud Shell

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

  • Via la console OCI
  • Via le bouton Essayer qui apparaît sur de nombreux exemples de ligne de commande et de code tout au long de la documentation
Remarque

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

Procédure d'accès à Cloud Shell via la console :

  1. Connectez-vous à la console.
  2. Cliquez sur l'icône Cloud Shell/Editeur de code dans l'en-tête de la console et sélectionnez Cloud Shell dans le menu déroulant. L'interface de ligne de commande OCI exécutée dans Cloud Shell exécutera des commandes au niveau de la région sélectionnée dans le menu de sélection Région de la console au démarrage de Cloud Shell.

Menu de lancement de Cloud Shell

Cloud Shell est affiché dans un volet au bas de la console :

Exemple de volet 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 la session Cloud Shell.

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

Remarque

Pour les opérations du presse-papiers, les utilisateurs Windows peuvent utiliser les touches Ctrl + C ou Ctrl + Inser pour copier et Maj + Inser ou Ctrl + V pour coller. Les utilisateurs Mac OS doivent utiliser Cmd + C pour copier et Cmd + V pour coller.

Procédure d'accès à Cloud Shell via le bouton Essayer :

De nombreux exemples de code et de commande de la documentation OCI s'accompagnent d'un bouton Essayer. Ce bouton permet de copier l'exemple dans le presse-papiers et d'ouvrir une session Cloud Shell afin que vous puissiez essayer de l'utiliser.

Cloud Shell est fourni avec une interface de ligne de commande OCI pré-authentifiée. Aucune configuration n'est donc requise pour commencer à l'utiliser.

Essayez les commandes suivantes :

oci os ns get
oci iam compartment list

Interaction avec un cluster OKE à partir de Cloud Shell

Suivez les instructions figurant dans Configuration de l'accès de Cloud Shell aux clusters pour effectuer la procédure ci-après :

  1. Configurez un fichier Kubeconfig OKE à utiliser avec Cloud Shell :
    1. Sélectionnez un cluster.
    2. Cliquez sur le bouton Accéder au cluster.
    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 à 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. Vérifiez que kubectl est disponible et peut se connecter au cluster à partir de la fenêtre Cloud Shell en saisissant la commande suivante dans cette fenêtre :

    $ kubectl get nodes

Transfert de fichiers

Vous pouvez transférer des fichiers vers et depuis Cloud Shell, avec les limites suivantes :
  • Vous ne pouvez sélectionner qu'un seul fichier à transférer à l'aide de la boîte de dialogue Transfert de fichiers, mais vous pouvez sélectionner plusieurs fichiers à transférer par glisser-déplacer.
  • Vous ne pouvez pas transférer de répertoires.
  • La taille maximale de fichier est de 4 Go.
  • Les droits d'accès aux fichiers ne sont pas conservés sur 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.
Procédure de téléchargement d'un fichier vers Cloud Shell par glisser-déplacer :
  1. Faites glisser des fichiers vers la fenêtre Cloud Shell.

Procédure de téléchargement d'un fichier vers 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 Télécharger vers le serveur. La boîte de dialogue Téléchargement de fichier vers le serveur apparaît.
  2. Glissez-déplacez un fichier ou cliquez sur sélectionner un élément sur votre ordinateur.
    Remarque

    La boîte de dialogue Transfert de fichiers prend en charge la sélection d'un seul fichier à la fois à transférer.
  3. Cliquez sur le bouton Télécharger vers le serveur.
  4. La boîte de dialogue Transfert de fichiers apparaît.
    1. Les transferts de fichiers en cours sont affichés avec une barre de progression.
    2. Vous pouvez annuler un transfert de fichier en cours en cliquant sur la croix (X) en regard de la barre de progression du fichier.
    3. Les transferts de fichier terminés sont signalés par une coche verte.
    4. Vous pouvez masquer la boîte de dialogue Transfert de fichiers en cliquant sur Masquer.
    5. Vous pouvez afficher la boîte de dialogue Transfert de fichiers à tout moment en sélectionnant Transferts de fichiers dans le menu Cloud Shell.

Procédure de téléchargement d'un fichier à partir de Cloud Shell :

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

    Vous pouvez uniquement télécharger des fichiers à partir du répertoire de base.
  3. Cliquez sur le bouton Télécharger en local.
  4. La boîte de dialogue Transfert de fichiers apparaît.
    1. Les transferts de fichiers en cours sont affichés avec une barre de progression.
    2. Vous pouvez annuler un transfert de fichier en cours en cliquant sur la croix (X) en regard de la barre de progression du fichier.
    3. Les transferts de fichier terminés sont signalés par une coche verte.
    4. Vous pouvez masquer la boîte de dialogue Transfert de fichiers en cliquant sur Masquer.
    5. Vous pouvez afficher la boîte de dialogue Transfert 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 de 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 votre utilisateur lorsque vous ouvrez une nouvelle session Cloud Shell. Le jeton et l'emplacement de configuration OCI se trouvent 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 le choix du profil sont spécifiés avec 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, reportez-vous à 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 d'interface de ligne de commande pour Cloud Shell. Chaque région est son propre profil d'interface de ligne de commande et le profil en cours est spécifié via la variable d'environnement OCI_CLI_PROFILE.

Par exemple, si vous ouvrez Cloud Shell à partir de la console avec la région "Est des Etats-Unis (Ashburn)" sélectionnée dans la liste déroulante correspondante, Cloud Shell est ouvert avec le paramètre OCI_CLI_PROFILE défini sur us-ashburn-1.

Remarque

Cloud Shell ne comporte aucune valeur de profil [DEFAULT] car la région sélectionnée varie en fonction de la configuration de la console lors de l'ouverture de Cloud Shell.

Pour personnaliser les paramètres de l'interface de ligne de commande OCI dans Cloud Shell, vous pouvez utiliser un fichier de configuration correspondant. 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. Dans notre exemple avec "us-ashburn-1", vous pouvez ajouter un paramètre de compartiment par défaut comme suit :

[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établir l'état par défaut de votre environnement Cloud Shell. Vous pouvez réinitialiser uniquement vos paramètres de profil bash et emacs, ou supprimer toutes les données de votre répertoire de base et réinitialiser les paramètres bash et emacs.

Procédure de réinitialisation de vos fichiers bash

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

csreset --bashfiles

ou

csreset -b

Procédure de réinitialisation globale

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

csreset --all

ou

csreset -a

Affichage de l'aide

Pour afficher les options d'utilisation, servez-vous de l'option --help ou -h :

csreset -h

ou

csreset --help

Sauvegarde et restauration du répertoire de base Cloud Shell à l'aide d'Object Storage

Vous pouvez archiver et sauvegarder le contenu de votre répertoire de base Cloud Shell vers un bucket dans Object Storage.

Remarque

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

Procédure de sauvegarde du répertoire de base Cloud Shell vers Object Storage

  1. Créez dans Object Storage un bucket qui contiendra votre sauvegarde (vous pouvez également utiliser un bucket existant). Pour obtenir des informations sur l'utilisation des buckets dans Object Storage, reportez-vous à Buckets Object Storage.
    Remarque

    Afin de trouver l'espace de noms Object Storage par défaut pour votre location, vous pouvez exécuter la commande suivante : oci os ns get.
  2. Exécutez la commande suivante à partir d'une invite Cloud Shell. Assurez-vous que les valeurs de OCI_CS_USER_BACKUPS_BUCKET_NAME et OCI_CS_USER_BACKUPS_NAMESPACE sont définies sur les 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 ont été exécutées sans erreur. Vous pouvez exécuter la commande suivante pour vérifier que votre fichier de sauvegarde existe dans Object Storage 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

Procédure de restauration du répertoire de base Cloud Shell à partir d'Object Storage

  1. Recherchez le nom de l'objet avec votre sauvegarde et le nom du bucket dans lequel il se trouve. Vous aurez besoin de ces valeurs comme paramètres pour les commandes ci-dessous. Pour obtenir des informations sur Object Storage, reportez-vous à la documentation Object Storage.
  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.
    Remarque

    Afin de trouver l'espace de noms Object Storage par défaut pour votre location, vous pouvez exécuter la commande suivante : oci os ns get.
    Remarque

    La commande tar n'écrase pas les fichiers existants. Si vous voulez écraser les fichiers existants, enlevez 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. Consultez la sortie de la commande et les fichiers de votre répertoire de base pour vérifier que toutes les commandes ont été exécutées sans erreur.

Utilisation des versions de Python

Cloud Shell utilise Python 3. Pour exécuter python, saisissez 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 plus récente installée de kubectl. Nous procédons ainsi pour optimiser la compatibilité selon la stratégie d'écart de version de Kubernetes.

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

Par exemple :
kubectl-v1.17.13 get services
Vous pouvez également créer un alias pour pointer kubectl vers une version spécifique.
Par exemple :
alias kubectl=kubectl-v1.17.13
Remarque

Si vous voulez rendre l'alias persistant entre les sessions Cloud Shell, ajoutez la définition de l'alias au fichier ~/.bashrc.

Gestion des exécutions de langage

Vous pouvez utiliser la commande csruntimectl pour visualiser et gérer les exécutions de langage utilisées par Cloud Shell pour l'exécution de programme.
Remarque

Jusqu'à présent, la commande csruntimectl prend en charge Java uniquement.
Pour connaître les versions d'une exécution actuellement prises en charge dans Cloud Shell, utilisez l'option list. Par exemple :
csruntimectl java list
Vous pouvez utiliser l'option set pour indiquer la version de l'exécution employée par Cloud Shell. Par exemple, pour définir l'exécution Java :
csruntimectl java set oraclejdk-11

Ce paramètre persiste d'une session Cloud Shell à l'autre.

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

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

Vous pouvez déterminer l'adresse IP publique de votre session Cloud Shell. Cette information peut être utile dans un certain nombre de scénarios, notamment la configuration de l'accès à des ressources externes à partir de votre session Cloud Shell.
Remarque

L'adresse IP publique Cloud Shell est dynamique. Elle ne changera pas au cours d'une session Cloud Shell, mais peut changer 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/<.*$//'
Remarque

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