Lab 04 : Utilisation de la CLI OSC
Objectifs
Section intitulée « Objectifs »Découvrir comment utiliser la OSC CLI pour gérer vos ressources Cloud OUTSCALE.
OSC CLI est une interface en ligne de commande (CLI) développée par 3DS OUTSCALE. On va l’utiliser dans cette partie pour déployer une instance (VM).

Installer OSC CLI
Section intitulée « Installer OSC CLI »Vous pouvez installer OSC CLI sur la plupart des plateformes Linux, MacOS et Windows. Dans cette partie, on va l’installer sur Linux.
- Assurez-vous que Python 3.6 ou ultérieur et pip3 sont installés sur votre machine.
- Il est recommandé d’installer OSC CLI et ses dépendances dans un environnement virtuel Python (virtualenv), plutôt que directement sur votre système. Pour cela, on va installer direnv.
sudo apt install python3.10-venvcurl -sfL https://direnv.net/install.sh | bashecho 'eval "$(direnv hook bash)"'>> ~/.bashrcsource ~/.bashrc- Créez un dossier
osccli-env:
mkdir osccli-env- Dans ce dossier, créez un fichier
.envrcavec le contenu suivant :
layout python3# check if python version is set in current dirif [ ! -d ".venv" ] ; then echo "Installing virtualenv for $(python -V)" python -m venv .venvfiecho "Activating $(python -V) virtualenv"source .venv/bin/activateecho "Virtualenv has been activated for $(python -V)"echo "$(which python)"- Dans le dossier
osccli-env, lancez :
direnv allow- Installez OSC CLI :
pip3 install osc-sdk- Validez l’installation :
osc-cli --helpConfigurer OSC CLI
Section intitulée « Configurer OSC CLI »Pour utiliser OSC CLI, il faut générer les accès à partir de votre compte OUTSCALE. On peut passer par le Dashboard Cockpit ou par osc-cli.
Avec Cockpit
Section intitulée « Avec Cockpit »- Sur Cockpit, placez le curseur de la souris sur votre nom.
- Cliquez sur Access keys.
- Tapez votre mot de passe.
- Cliquez sur Créer. Le formulaire Générer une access key apparaît.
- Sélectionnez une date d’expiration.
- Cliquez sur Générer.
- Copiez ou téléchargez la secret key.
- Récupérez l’access key.
Avec OSC CLI
Section intitulée « Avec OSC CLI »-
Identifiez-vous (remplacez
EMAILetPASSWORD) :Terminal window osc-cli icu ListAccessKeys --authentication-method "password" --login "EMAIL" --password "PASSWORD" -
Dans votre répertoire d’utilisateur (
/home/[user]), créez un dossier.osc. -
Dans
.osc, créezconfig.json:{"default": {"access_key": "ACCESSKEY","secret_key": "SECRETKEY","host": "outscale.com","https": true,"method": "POST","region_name": "eu-west-2"}} -
Remplacez
ACCESSKEY,SECRETKEY, et si nécessaireeu-west-2. -
Activez l’auto-complétion :
Terminal window source <(osc-cli --bash_completion) -
Testez la configuration :
Terminal window osc-cli fcu DescribeInstances
Utiliser OSC CLI
Section intitulée « Utiliser OSC CLI »-
Installez
jq:Terminal window sudo apt install jq -
Créez une keypair (dans
mykey.pem) :Terminal window osc-cli fcu CreateKeyPair \--KeyName mykey | jq -r '.CreateKeyPairResponse.keyMaterial' > mykey.pem -
Créez un security group :
Terminal window osc-cli fcu CreateSecurityGroup \--GroupName SGsshaccess \--GroupDescription "ssh sg access" -
Autorisez SSH :
Terminal window osc-cli fcu AuthorizeSecurityGroupIngress \--GroupName SGsshaccess \--CidrIp 0.0.0.0/0 \--FromPort 22 --ToPort 22 --IpProtocol tcp -
Vérifiez le groupe :
Terminal window osc-cli fcu DescribeSecurityGroups --GroupName SGsshaccess -
Trouvez une image :
Terminal window osc-cli fcu DescribeImages \--Filter '[{"Name":"owner-alias","Value":["Outscale"]},{"Name":"name","Value":["Ubuntu-22.04-2023.02.21-0"]}]' -
Récupérez l’ID de l’image et lancez l’instance :
Terminal window osc-cli fcu RunInstances \--ImageId ami-cd8d714e \--KeyName mykey \--InstanceType tinav4.c1r1p2 \--SecurityGroup ["SGsshaccess"] \--AvailabilityZone eu-west-2a \--MaxCount 1 \--MinCount 1 -
Récupérez l’ID de l’instance.
-
Nommez l’instance :
Terminal window osc-cli fcu CreateTags \--ResourceId Id \--Tag.1.Key "Name" \--Tag.1.Value "mavm" -
Vérifiez son état :
Terminal window osc-cli fcu DescribeInstanceStatus \--InstanceId Id -
Récupérez l’IP publique :
Terminal window osc-cli fcu DescribeInstances \--InstanceId i-3532b28a | jq -r '.DescribeInstancesResponse.reservationSet.item.instancesSet.item.ipAddress' -
Connectez-vous :
Terminal window chmod 600 mykey.pemssh -i mykey.pem outscale@PUBLICIP(Remplacez
PUBLICIP.) -
Quittez :
Ctrl+D.
Challenge
Section intitulée « Challenge »Effectuez les actions suivantes sur l’instance déployée :
- Arrêtez l’instance
- Démarrez l’instance
- Accédez à nouveau via SSH
- Supprimez l’instance