Scrydon

Azure Marketplace

Déployer Scrydon sur AKS via Azure Marketplace

Si votre organisation utilise Azure Kubernetes Service (AKS), vous pouvez déployer Scrydon directement depuis Azure Marketplace. Le déploiement utilise une extension de cluster packagée en CNAB — aucun CLI Helm ni identifiants de registre requis.

Prérequis

Avant de déployer depuis le Marketplace :

  • Cluster AKS exécutant Kubernetes 1.28+
  • cert-manager installé pour le provisionnement automatique des certificats TLS, avec sa prise en charge Gateway API activée (config.enableGatewayAPI: true) — voir Prérequis TLS
  • Accès DNS pour créer des enregistrements A ou CNAME pour votre domaine

L'add-on AGIC n'est plus un prérequis. La périphérie de Scrydon repose sur la Gateway API de Kubernetes, et cette offre apporte sa propre implémentation : il active la dépendance Traefik intégrée (traefik.enabled: true), qui installe les CRD gateway.networking.k8s.io et publie la GatewayClass traefik. L'IP publique provient du Service LoadBalancer de Traefik. Application Gateway for Containers est une option future envisageable — hormis le Middleware Traefik de limitation de débit, toutes les ressources générées par le chart relèvent du cœur de la Gateway API — mais ce n'est pas la voie retenue aujourd'hui pour cette offre.

Étape 1 : Déployer depuis le portail Azure

  1. Trouvez Scrydon dans Azure Marketplace
  2. Cliquez sur Déployer et renseignez l'assistant :
    • Cluster AKS — sélectionnez votre cluster cible
    • Domaine de base — par ex. app.example.com (routage par chemin — un seul enregistrement DNS couvre toutes les applications Scrydon)
    • TLS — activez pour les certificats HTTPS automatiques
    • Analytics — activez optionnellement le module analytics
    • Mot de passe de base de données — pour l'instance PostgreSQL intégrée
    • Secret d'authentification — clé de signature de session (utilisez une valeur aléatoire forte)
  3. Cliquez sur Créer pour démarrer le déploiement

Le déploiement crée tous les services Scrydon dans le namespace scrydon-platform. Le package Marketplace regroupe chaque image Scrydon dans Microsoft Container Registry (MCR), de sorte qu'AKS tire les images sans avoir besoin de votre jeton ACR.

Plan de données tiers sur Azure : le chart désactive automatiquement StarRocks et SeaweedFS intégrés en mode Azure (leurs images tiers en amont ne sont pas re-taguées dans MCR par l'outil CPA). Pour les équivalents du plan de données sur Azure :

  • Stockage d'objets — configurez Azure Blob via l'API compatible S3 sous https://app.<domain>/settings/platform/storage après l'installation.
  • Tables gérées (StarRocks) — soit définissez apiTable.enabled: false pour désactiver Tables, soit pointez apiTable.starrocks.host vers un StarRocks géré par le client (par ex. l'starrocks-kubernetes-operator déployé dans un namespace séparé, ou une instance StarRocks managée).

Étape 2 : Configurer le DNS

L'installation Marketplace par défaut utilise le routage par chemin — un seul enregistrement DNS couvre toutes les applications Scrydon avec des préfixes de chemin (/cortex, /agentic, /analytics, …). Créez un enregistrement A ou CNAME pointant vers l'IP publique du Service Traefik :

Nom d'hôteTypeRoutes
app.<domain>A ou CNAME/cortex, /agentic, /analytics, /platform, /api/auth, /api/ontology, /api/table, /agentic/realtime, /marimo

(Si vous avez choisi le routage par sous-domaine dans l'assistant, créez un enregistrement A ou CNAME par application — cortex.<domain>, agentic.<domain>, etc.)

Pour trouver cette IP :

kubectl get svc -n scrydon-platform -l app.kubernetes.io/name=traefik \
  -o jsonpath='{.items[0].status.loadBalancer.ingress[0].ip}'

Étape 3 : Finaliser la configuration

Une fois que tous les pods sont en cours d'exécution et que le DNS s'est propagé, accédez à :

https://app.<your-domain>/platform/setup

(Ou https://app.<your-domain>/setup si vous avez monté platform à la racine.)

L'assistant de configuration vous guide en cinq étapes :

  1. Licence — collez ou déposez votre bundle JSON de licence { jwt, publicKey }
  2. Compte administrateur — créez le premier administrateur (e-mail + mot de passe)
  3. Organisation — nommez votre locataire racine
  4. E-mail — configurez la distribution des e-mails (Resend / SendGrid / SMTP / ignorer)
  5. Terminer — redirigé vers l'accueil de la plateforme

Voir Helm → Exécuter l'assistant de configuration pour le format du bundle et ce que fait l'assistant à chaque étape.

Toutes les options

L'assistant Marketplace expose les paramètres courants (domaine, TLS, analytics, mot de passe de base de données, secret d'authentification). Le déploiement exécute le même chart Helm en dessous, donc toutes les valeurs qu'il prend en charge — modes de routage, base de données BYO, planification, etc. — sont documentées dans la référence Helm. Si vous avez besoin d'un paramètre que l'assistant n'expose pas, déployez via Helm sur AKS à la place, où vous contrôlez le values.customer.yaml complet.

Mises à jour

Les déploiements Azure Marketplace prennent en charge les mises à jour automatiques des versions mineures via l'extension de cluster AKS. Les mises à jour de version majeure sont publiées en tant que nouvelles versions Marketplace — le portail Azure vous avertit lorsque des mises à jour sont disponibles.

Dépannage

Pods bloqués en ImagePullBackOff

L'extension de cluster regroupe toutes les images de conteneurs. Si les pods ne peuvent pas les tirer :

  • Vérifiez que l'extension a été installée avec succès : az k8s-extension show --name scrydon --cluster-name <aks> --resource-group <rg> --cluster-type managedClusters
  • Vérifiez l'absence de politiques réseau bloquant Microsoft Container Registry (MCR)

Certificats TLS non provisionnés

  • Vérifiez que cert-manager est installé : kubectl get pods -n cert-manager
  • Vérifiez que sa prise en charge Gateway API est activée — sans config.enableGatewayAPI: true, aucun Certificate n'est jamais créé à partir de l'annotation de la Gateway
  • Vérifiez l'état des certificats : kubectl get certificates -n scrydon-platform

Assistant de configuration inaccessible

  • Vérifiez que les enregistrements DNS se résolvent : nslookup platform.<domain>
  • Vérifiez l'état des pods : kubectl get pods -n scrydon-platform
  • Vérifiez que la GatewayClass est acceptée : kubectl get gatewayclass traefik
  • Vérifiez que la porte d'entrée est programmée : kubectl get gateway -n scrydon-platform et kubectl get httproute -A. Un listener bloqué sur Accepted=False reason=PortUnavailable signifie que gateway.listenerPorts.* ne correspond pas aux ports des entryPoints du contrôleur — Traefik écoute sur :8000/:8443, et non sur 80/443.
Sur cette page

Sur cette page