Aller au contenu

Lab 04 : Utilisation de la CLI OSC

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

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.
Terminal window
sudo apt install python3.10-venv
curl -sfL https://direnv.net/install.sh | bash
echo 'eval "$(direnv hook bash)"'>> ~/.bashrc
source ~/.bashrc
  • Créez un dossier osccli-env :
Terminal window
mkdir osccli-env
  • Dans ce dossier, créez un fichier .envrc avec le contenu suivant :
.envrc
layout python3
# check if python version is set in current dir
if [ ! -d ".venv" ] ; then
echo "Installing virtualenv for $(python -V)"
python -m venv .venv
fi
echo "Activating $(python -V) virtualenv"
source .venv/bin/activate
echo "Virtualenv has been activated for $(python -V)"
echo "$(which python)"
  • Dans le dossier osccli-env, lancez :
Terminal window
direnv allow
  • Installez OSC CLI :
Terminal window
pip3 install osc-sdk
  • Validez l’installation :
Terminal window
osc-cli --help

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.

  1. Sur Cockpit, placez le curseur de la souris sur votre nom.
  2. Cliquez sur Access keys.
  3. Tapez votre mot de passe.
  4. Cliquez sur Créer. Le formulaire Générer une access key apparaît.
  5. Sélectionnez une date d’expiration.
  6. Cliquez sur Générer.
  7. Copiez ou téléchargez la secret key.
  8. Récupérez l’access key.
  1. Identifiez-vous (remplacez EMAIL et PASSWORD) :

    Terminal window
    osc-cli icu ListAccessKeys --authentication-method "password" --login "EMAIL" --password "PASSWORD"
  2. Dans votre répertoire d’utilisateur (/home/[user]), créez un dossier .osc.

  3. Dans .osc, créez config.json :

    {
    "default": {
    "access_key": "ACCESSKEY",
    "secret_key": "SECRETKEY",
    "host": "outscale.com",
    "https": true,
    "method": "POST",
    "region_name": "eu-west-2"
    }
    }
  4. Remplacez ACCESSKEY, SECRETKEY, et si nécessaire eu-west-2.

  5. Activez l’auto-complétion :

    Terminal window
    source <(osc-cli --bash_completion)
  6. Testez la configuration :

    Terminal window
    osc-cli fcu DescribeInstances
  1. Installez jq :

    Terminal window
    sudo apt install jq
  2. Créez une keypair (dans mykey.pem) :

    Terminal window
    osc-cli fcu CreateKeyPair \
    --KeyName mykey | jq -r '.CreateKeyPairResponse.keyMaterial' > mykey.pem
  3. Créez un security group :

    Terminal window
    osc-cli fcu CreateSecurityGroup \
    --GroupName SGsshaccess \
    --GroupDescription "ssh sg access"
  4. Autorisez SSH :

    Terminal window
    osc-cli fcu AuthorizeSecurityGroupIngress \
    --GroupName SGsshaccess \
    --CidrIp 0.0.0.0/0 \
    --FromPort 22 --ToPort 22 --IpProtocol tcp
  5. Vérifiez le groupe :

    Terminal window
    osc-cli fcu DescribeSecurityGroups --GroupName SGsshaccess
  6. 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"]}]'
  7. 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
  8. Récupérez l’ID de l’instance.

  9. Nommez l’instance :

    Terminal window
    osc-cli fcu CreateTags \
    --ResourceId Id \
    --Tag.1.Key "Name" \
    --Tag.1.Value "mavm"
  10. Vérifiez son état :

    Terminal window
    osc-cli fcu DescribeInstanceStatus \
    --InstanceId Id
  11. Récupérez l’IP publique :

    Terminal window
    osc-cli fcu DescribeInstances \
    --InstanceId i-3532b28a | jq -r '.DescribeInstancesResponse.reservationSet.item.instancesSet.item.ipAddress'
  12. Connectez-vous :

    Terminal window
    chmod 600 mykey.pem
    ssh -i mykey.pem outscale@PUBLICIP

    (Remplacez PUBLICIP.)

  13. Quittez : Ctrl+D.

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