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
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 :
- Connectez-vous à la console.
- 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.
Cloud Shell est affiché dans un volet au bas de la console :
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.
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 :
- Configurez un fichier Kubeconfig OKE à utiliser avec Cloud Shell :
- Sélectionnez un cluster.
- Cliquez sur le bouton Accéder au cluster.
- Cliquez sur Accès à Cloud Shell.
- Cliquez sur Lancer Cloud Shell pour afficher la fenêtre Cloud Shell.
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
-
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 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.
- 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 :
- 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.
- 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. - Cliquez sur le bouton Télécharger vers le serveur.
- La boîte de dialogue Transfert de fichiers apparaît.
- Les transferts de fichiers en cours sont affichés avec une barre de progression.
- Vous pouvez annuler un transfert de fichier en cours en cliquant sur la croix (X) en regard de la barre de progression du fichier.
- Les transferts de fichier terminés sont signalés par une coche verte.
- Vous pouvez masquer la boîte de dialogue Transfert de fichiers en cliquant sur Masquer.
- 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 :
- 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.
- 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. - Cliquez sur le bouton Télécharger en local.
- La boîte de dialogue Transfert de fichiers apparaît.
- Les transferts de fichiers en cours sont affichés avec une barre de progression.
- Vous pouvez annuler un transfert de fichier en cours en cliquant sur la croix (X) en regard de la barre de progression du fichier.
- Les transferts de fichier terminés sont signalés par une coche verte.
- Vous pouvez masquer la boîte de dialogue Transfert de fichiers en cliquant sur Masquer.
- 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
.
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.
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
- 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 à Gestion des buckets dans la documentation 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
. - Exécutez la commande suivante à partir d'une invite Cloud Shell. Assurez-vous que les valeurs de
OCI_CS_USER_BACKUPS_BUCKET_NAME
etOCI_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
- 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
- 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.
- 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
etOCI_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
- 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
python
Pour exécuter Python 3, entrez 'python3' dans la ligne de commande.python3
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.
kubectl-v1.17.13 get services
Vous pouvez également créer un alias pour pointer kubectl vers une version spécifique. alias kubectl=kubectl-v1.17.13
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
csruntimectl
pour visualiser et gérer les exécutions de langage utilisées par Cloud Shell pour l'exécution de programme.Jusqu'à présent, la commande
csruntimectl
prend en charge Java uniquement.list
. Par exemple :csruntimectl java list
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.
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
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.
curl -s checkip.dyndns.org | sed -e 's/.*Current IP Address: //' -e 's/<.*$//'
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.