Aller au contenu

Déployer AKKO — Une seule commande

Prérequis

  • kubectl (v1.28+)
  • helm (v3.12+)
  • Un cluster Kubernetes fonctionnel (k3d, k3s, kind, EKS, AKS, GKE, OpenShift, bare-metal)

Démarrage rapide

git clone https://github.com/AKKO-p/AKKO.git
cd AKKO
AKKO_DOMAIN=mon.domaine.com bash helm/scripts/deploy.sh

C'est tout. Le script : 1. Détecte le type de cluster (k3d, k3s, kind, EKS, AKS, GKE, OpenShift) 2. Génère les valeurs spécifiques au domaine + le realm Keycloak 3. Crée les secrets (si première exécution) 4. Crée le certificat TLS (auto-signé) 5. Exécute helm upgrade --install avec tous les fichiers de valeurs 6. Attend que tous les services soient prêts

Variables d'environnement

Variable Défaut Description
AKKO_DOMAIN akko.local Domaine cible pour toutes les URLs ingress
AKKO_NAMESPACE akko Namespace Kubernetes
AKKO_RELEASE akko Nom de la release Helm
AKKO_CLUSTER_TYPE auto-détecté Forcer le type de cluster
AKKO_SKIP_BUILD false Ignorer le build d'images (utiliser les images du registre)
AKKO_SKIP_CLUSTER false Ignorer la création du cluster (k3d uniquement)
AKKO_HELM_TIMEOUT 20m Timeout du helm upgrade
AKKO_PROTOCOL https Protocole pour les URLs

Notes par cluster

k3d (développement local)

bash helm/scripts/deploy.sh
# Domaine par défaut : akko.local, ajouter dans /etc/hosts

k3s (production mono-nœud)

AKKO_DOMAIN=159.195.77.208.nip.io \
AKKO_SKIP_BUILD=true \
AKKO_SKIP_CLUSTER=true \
bash helm/scripts/deploy.sh

EKS / AKS / GKE

AKKO_DOMAIN=akko.entreprise.com \
AKKO_SKIP_BUILD=true \
AKKO_SKIP_CLUSTER=true \
bash helm/scripts/deploy.sh

Les images custom doivent être poussées vers un registre accessible depuis le cluster. Définir global.image.registry :

helm upgrade akko helm/akko/ -n akko \
  --set global.image.registry=ghcr.io/akko-p \
  -f helm/examples/values-domain.yaml \
  ...

Images custom

AKKO utilise 8 images custom. Sur k3d/k3s elles sont buildées localement. Sur les clusters cloud, les pousser vers votre registre :

Image Rôle
akko-postgres:2026.03 PostgreSQL + PostGIS + pgvector + pgaudit
akko-spark:2026.03 Spark avec JARs Iceberg
akko-notebook:2026.03 Notebook utilisateur JupyterHub
akko-cockpit:2026.03 Portail + proxy de santé
akko-trino:2026.03 Trino + plugin AI Functions
akko-mlflow:2026.03 Serveur de suivi MLflow
akko-ai-service:2026.03 Service IA (FastAPI)
akko-airflow:2026.03 Airflow + dépendances Python

Vérifier

kubectl get pods -n akko          # Tous Running
helm list -n akko                  # STATUS: deployed
bash tests/smoke-trino-ai.sh      # 18 PASS

Mise à jour

AKKO_DOMAIN=mon.domaine.com bash helm/scripts/deploy.sh
# Même commande — idempotente