Leçon 5 15 min

Installer OKS CLI

Pour piloter vos clusters Kubernetes sur OUTSCALE, vous avez besoin d'un outil de ligne de commande dédié. OKS CLI est cet outil : il vous permet de créer des clusters, gérer des nodepools et récupérer votre kubeconfig en quelques commandes. Pensez-y comme le "cockpit" de votre infrastructure OKS.

Dans cette leçon, nous allons installer OKS CLI et ses dépendances sur votre machine, puis configurer l'autocomplétion pour travailler efficacement.

Objectifs de cette leçon

À la fin de cette leçon, vous saurez :

  • Installer Python et créer un environnement virtuel isolé
  • Installer OKS CLI via pip
  • Activer l'autocomplétion pour gagner en productivité
  • Installer kubectl pour interagir avec vos workloads Kubernetes

Prérequis système

Avant de commencer, assurez-vous que votre machine dispose des outils de base. Ces prérequis sont nécessaires car OKS CLI est développé en Python et utilise des fonctionnalités modernes du langage.

ComposantVersion minimaleVérification
Python3.11+python3 --version
pipDernièrepip --version
kubectl1.28+kubectl version --client
ℹ️ Pourquoi Python 3.11+ ?

OKS CLI utilise des fonctionnalités modernes de Python (typing amélioré, asyncio optimisé) qui nécessitent au minimum la version 3.11. Sur Linux, vous pouvez installer python3.11 via votre gestionnaire de paquets.

Étape 1 : Créer un environnement virtuel

Pourquoi ne pas installer OKS CLI directement sur votre système ? Parce que les dépendances Python peuvent entrer en conflit avec d'autres projets. L'environnement virtuel (venv) résout ce problème en créant un espace isolé.

💡 Analogie

Pensez au venv comme une boîte à outils dédiée : chaque projet a la sienne, avec exactement les outils dont il a besoin, sans interférer avec les autres.

Linux / macOS

# Créer un dossier de travail
mkdir ~/oks-workspace && cd ~/oks-workspace

# Créer l'environnement virtuel
python3 -m venv .venv

# Activer l'environnement
source .venv/bin/activate

# Votre prompt change pour indiquer l'activation
# (.venv) user@machine:~/oks-workspace$

Windows (PowerShell)

# Créer un dossier de travail
mkdir $HOME\oks-workspace
cd $HOME\oks-workspace

# Créer l'environnement virtuel
python -m venv .venv

# Activer l'environnement
.venv\Scripts\Activate.ps1
💡 Automatiser l'activation

Ajoutez un alias dans votre .bashrc ou .zshrc :

alias oks-env="cd ~/oks-workspace && source .venv/bin/activate"

Étape 2 : Installer OKS CLI

Maintenant que votre environnement est prêt, vous pouvez installer l'outil principal. OKS CLI est distribué sur PyPI (Python Package Index), le dépôt officiel des paquets Python. L'installation se fait en une commande.

# Installer OKS CLI depuis PyPI
pip install oks-cli

# Vérifier l'installation
oks-cli version

Résultat attendu

1.22

La sortie tient sur une ligne : le numéro de version, sans autre détail.

Mettre à jour OKS CLI

pip install --upgrade oks-cli

Étape 3 : Activer l'autocomplétion

Taper des commandes longues à répétition est fastidieux et source d'erreurs. L'autocomplétion vous permet de taper les premières lettres puis d'appuyer sur Tab pour compléter automatiquement. C'est un gain de temps énorme au quotidien.

# Installer l'autocomplétion pour votre shell
oks-cli install-completion

Cette commande :

  1. ✅ Détecte automatiquement votre shell (bash, zsh, fish)
  2. ✅ Crée le script de complétion dans ~/.oks_cli/completions/
  3. ✅ Met à jour votre .bashrc ou .zshrc
⚠️ Redémarrage requis

Après l'installation, redémarrez votre terminal ou exécutez :

source ~/.bashrc  # ou ~/.zshrc

Tester l'autocomplétion

oks-cli [TAB][TAB]
# Affiche les commandes disponibles :
# cache  cluster  fullhelp  install-completion  netpeering
# profile  project  quotas  user  version

Notez qu'il n'y a ni nodepool ni kubeconfig à la racine : les nodepools se gèrent sous cluster nodepool, et le kubeconfig sous cluster kubeconfig.

Étape 4 : Installer kubectl

Vous avez maintenant OKS CLI pour gérer l'infrastructure (clusters, nodepools). Mais pour déployer et gérer vos applications sur Kubernetes, vous avez besoin d'un autre outil : kubectl.

💡 Analogie

OKS CLI est comme le constructeur de l'immeuble (il crée la structure), tandis que kubectl est le concierge (il gère ce qui se passe à l'intérieur).

Linux

# Télécharger la dernière version stable
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"

# Rendre exécutable et déplacer
chmod +x kubectl
sudo mv kubectl /usr/local/bin/

# Vérifier
kubectl version --client

macOS (Homebrew)

brew install kubectl

Windows (Chocolatey)

choco install kubernetes-cli

Structure des fichiers OKS

Où OKS CLI stocke-t-il ses données ? Comprendre la structure des fichiers vous aidera à déboguer et à sécuriser votre installation. Tout est regroupé dans un dossier caché de votre répertoire personnel.

~/.oks_cli/
├── config.json              # vos profils et leurs credentials
├── cache/                   # cache interne
├── completions/             # scripts d'autocomplétion
│   └── oks-cli.sh
├── <profil>.access_token    # jeton d'accès, par profil
├── <profil>.refresh_token   # jeton de renouvellement
├── <profil>.project_id      # projet par défaut retenu
└── <profil>.cluster_id      # cluster par défaut retenu

Notez les fichiers préfixés du nom de profil. Ils portent l'état de votre session : les jetons obtenus, et les projet et cluster retenus par défaut par project login et cluster login.

C'est ce qui explique un comportement déroutant : supprimer un profil retire son entrée de config.json, mais laisse ces fichiers sur le disque. Un profil recréé sous le même nom repart donc avec les jetons de l'ancien.

Commandes essentielles

Voici les commandes que vous utiliserez le plus souvent. Gardez ce tableau sous la main comme référence rapide. Chaque commande accepte l'option --help pour afficher sa documentation détaillée.

CommandeDescription
oks-cli versionAffiche la version installée
oks-cli --helpAide générale sur toutes les commandes
oks-cli <cmd> --helpAide détaillée sur une commande spécifique
oks-cli profile listListe vos profils d'authentification
oks-cli project listListe les projets (VPC) disponibles
oks-cli cluster listListe vos clusters Kubernetes

Résolution de problèmes

Même avec une installation soignée, vous pouvez rencontrer des erreurs. Voici les problèmes les plus fréquents et leurs solutions.

Python introuvable

Si python3 --version retourne une erreur, installez Python selon votre OS :

# Sur Ubuntu/Debian
sudo apt update && sudo apt install python3.11 python3.11-venv

# Sur Fedora/RHEL
sudo dnf install python3.11

# Sur macOS
brew install python@3.11

Permission denied sur kubectl

sudo chmod +x /usr/local/bin/kubectl

OKS CLI non trouvé après installation

Vérifiez que l'environnement virtuel est activé :

which oks-cli
# Doit afficher : ~/oks-workspace/.venv/bin/oks-cli

Points clés à retenir

Récapitulons les éléments essentiels de cette leçon :

  1. Environnement virtuel : Toujours utiliser un venv pour isoler les dépendances et éviter les conflits
  2. Python 3.11+ : Version minimale requise pour OKS CLI
  3. Deux outils complémentaires : OKS CLI gère l'infrastructure, kubectl gère les applications
  4. Autocomplétion : Activez-la dès l'installation pour une meilleure productivité
  5. Sécurité : Les credentials sont stockés dans ~/.oks_cli/config.json, protégez ce fichier avec chmod 600

Prochaine étape

Votre environnement est maintenant prêt. Dans la prochaine leçon, nous allons créer et gérer vos profils d'authentification pour vous connecter au cloud OUTSCALE et accéder à vos projets.