Azure (AKS)
Le chemin le plus rapide vers une installation Scrydon fonctionnelle sur Azure Kubernetes Service via Helm, avec les notes réseau spécifiques à Azure qui posent souvent problème.
Deux façons d'exécuter Scrydon sur Azure :
- Azure Marketplace — Natif au portail, en un clic, mises à jour automatiques, sans CLI Helm ni identifiants de registre. Utilisez cette option sauf si vous avez besoin de valeurs Helm personnalisées.
- Helm sur AKS (cette page) — contrôle total sur les valeurs du chart. Suivez les cinq étapes ci-dessous ; pour toutes les surcharges que le chart expose, consultez la référence Helm.
Démarrage rapide
curl -fsSL https://get.scrydon.com | bashL'installateur guidé vous demande la version, l'emplacement de déploiement, ainsi que l'identifiant de registre et le bundle de licence fournis par votre équipe. Il vérifie votre cluster avant toute modification — y compris que la classe de routage et l'émetteur cert-manager que vous nommez existent réellement — installe, puis confirme que la plateforme répond sur votre nom d'hôte.
Vous préférez l'inspecter d'abord, ou obtenir une copie figée ?
curl -fsSL https://get.scrydon.com -o setup.sh
curl -fsSL https://get.scrydon.com/setup.sh.sha256 | shasum -a 256 -c -
bash setup.shLes étapes manuelles présentées plus loin sur cette page restent prises en charge ; c'est ce qu'exécute le parcours standard de l'installateur.
Profil NATO UNCLASSIFIED
Le démarrage rapide ordinaire et le parcours Helm manuel ne sélectionnent pas le profil NATO UNCLASSIFIED. Pour une installation neuve sur un substrat de qualification AKS spécialement conçu et approuvé, utilisez le profil appartenant à la version avec son enregistrement de cible immuable et sa surcouche de site examinée de façon restrictive :
bash /absolute/private/setup.sh \
--version <exact-version> \
--profile nato-unclassified \
--site-values /absolute/private/site.nato.yaml \
--qualification-target /absolute/private/target.json \
--kubeconfig /absolute/private/kubeconfig \
--context <dedicated-context> \
--location azure \
--namespace scrydon-platform \
--host <qualification-hostname> \
--storage-class managed-csi \
--ingress-class traefik \
--tls-issuer <qualification-issuer> \
--pull-secret /absolute/private/scrydon-pull-secret.yaml \
--license /absolute/private/license.json \
--backend connected \
--non-interactive--site-values n'est pas une échappatoire vers des valeurs Helm arbitraires.
Cette option accepte uniquement les champs propres au déploiement du profil
pour le réseau, le DNS, le groupe de nœuds Kata et la sauvegarde Azure Blob
privée ; elle rejette les secrets en ligne et les tentatives d'affaiblissement
des contrôles obligatoires. L'enregistrement de cible doit provenir de la
procédure de substrat protégée et examinée, et correspondre au candidat, à la
ressource Azure, au kubeconfig dédié et à l'identité du cluster actif.
Le profil constitue une base de contrôles de déploiement, pas une déclaration d'accréditation NATO. La qualification et l'accréditation exigent toujours des preuves liées à la version, des procédures opérationnelles, l'acceptation du risque et une décision de l'autorité d'accréditation de sécurité compétente.
Avant de commencer
- Un cluster AKS exécutant Kubernetes 1.28+ avec accès
kubectl. - Une implémentation Gateway API — les CRD
gateway.networking.k8s.ioet une GatewayClass. Définisseztraefik.enabled: truepour que le chart installe une release Traefik fournissant les deux, ou pointezgateway.classNamevers une classe déjà présente sur le cluster. Voir Prérequis Kubernetes. - Un bundle de licence Scrydon — JSON
{ "jwt": "…", "publicKey": "…" }. - Des identifiants de registre pour
scrydonops.azurecr.io(le nom du token ACR + valeur fournis par votre équipe de compte). - Un nom DNS unique pointant vers votre équilibreur de charge en périphérie (ex.
app.example.com).
Dimensionnement complet et liste de contrôle : Prérequis.
Étape 1 : Se connecter au registre
helm registry login scrydonops.azurecr.io --username <acr-token-name>
# (collez la valeur du token à l'invite de mot de passe)Étape 2 : Créer l'espace de noms et le secret de récupération d'images
Par défaut, le chart déploie chaque service dans un seul espace de noms, scrydon-platform :
kubectl create namespace scrydon-platform 2>/dev/null || true
kubectl create secret docker-registry scrydon-registry \
--namespace scrydon-platform \
--docker-server=scrydonops.azurecr.io \
--docker-username=<acr-token-name> \
--docker-password=<acr-token-password>La séparation des services entre espaces de noms est optionnelle via
namespaces.*(voir la référence Helm). Si vous le faites, créez le même secret de récupération dans chaque espace de noms que vous ciblez.
Étape 3 : Écrire values.customer.yaml
La valeur spécifique à Azure est global.storageClass (managed-csi, ou managed-csi-premium pour un IOPS plus élevé). Si une Application Gateway termine le TLS en amont du cluster, conservez gateway.tls.enabled: true — le navigateur utilise toujours HTTPS, donc le schéma d'URL public, le CORS et les cookies sécurisés doivent le refléter même si App Gateway transfère du HTTP simple à Traefik.
# Remplacez REPLACE-WITH-* par les valeurs que vous générez. Gardez ce fichier hors du contrôle de source.
global:
imageRegistry: scrydonops.azurecr.io # pull images from the ACR you logged into
imagePullSecrets:
- name: scrydon-registry # from Step 2
storageClass: managed-csi # or managed-csi-premium
routing:
host: app.example.com # the hostname your DNS points at
gateway:
tls:
enabled: true # browser reaches Scrydon over HTTPS (true even behind App Gateway)
# Secrets — generate fresh per deployment.
infra:
db:
credentials:
password: REPLACE-WITH-DB-PASSWORD # openssl rand -hex 16
auth:
secrets:
AUTH_SECRET: REPLACE-WITH-AUTH-SECRET # openssl rand -hex 32
apiTable:
secrets:
STARROCKS_PASSWORD: REPLACE-WITH-STARROCKS-PW # openssl rand -hex 24Étape 4 : Installer
helm install scrydon oci://scrydonops.azurecr.io/scrydon/charts/scrydon \
--version <version> \
--namespace scrydon-platform \
-f values.customer.yaml \
--waitÉtape 5 : Lancer l'assistant de configuration
Ouvrez https://app.example.com/platform/setup et complétez les cinq étapes — collez le bundle { jwt, publicKey }, créez le compte administrateur, nommez votre organisation, configurez l'e-mail (ou passez), terminez. Connectez-vous ensuite sur https://app.example.com/. Détails : Helm → Lancer l'assistant de configuration.
Spécificités Azure
- Classe de stockage —
managed-csi(étape 3), oumanaged-csi-premiumpour un IOPS plus élevé. - Derrière Application Gateway — App Gateway termine le TLS et transfère du HTTP simple à Traefik. Définissez
gateway.tls.enabled: true(fait à l'étape 3) et faites confiance au sous-réseau App Gateway viatrustedIPs. C'est un point qui pose régulièrement problème — le guide complet se trouve dans Déchargement TLS. - Domaines privés ou PKI d'entreprise — si votre périphérie AKS utilise un DNS privé ou des certificats émis par une autorité de certification d'entreprise, suivez Certificats TLS.
- Base de données — le Postgres intégré fonctionne prêt à l'emploi ; ou pointez vers Azure Database for PostgreSQL via BYO Database.
Toutes les options
Tout ce qui dépasse ce chemin minimal — modes de routage, StarRocks personnalisé, planification des pods, réductions pour ressources limitées, un plan de contrôle Dapr existant, et les opérations courantes — se trouve dans la référence Helm.