Déploiement serverless
Des applications qui se mettent à l'échelle d'elles-mêmes — du marketplace au runtime.
Dans le Déploiement, les développeurs exécutent leurs propres applications sur eQuantic Cloud en tant que services serverless qui se mettent à l'échelle automatiquement, y compris à zéro lorsqu'ils sont inactifs.
Créer un service
L'assistant est un marketplace par catégorie. La catégorie Custom (par défaut) couvre quatre origines :
| Origine | Ce qu'elle fait |
|---|---|
| Dépôt Git | Nous détectons la stack, générons le Dockerfile et découvrons le port et les variables — auto-detect. |
| Dockerfile | Build à partir d'un Dockerfile dans le dépôt. |
| Docker Compose | Démarre plusieurs services depuis un compose.yml. |
| Image Docker | Utilise une image prête d'un registre. |
Les autres catégories proposent ~40 services open-source prêts à l'emploi (Postgres, Redis, RabbitMQ, MinIO, Grafana, n8n, Metabase, Keycloak, WordPress…), chacun avec son propre formulaire d'installation.
Opérer le service
- Vue d'ensemble avec des graphiques de CPU/mémoire et l'origine/build.
- Deployments avec stream de build en direct et rollback.
- Échelle & ressources — déclencheurs de mise à l'échelle (KEDA), scale-to-zero, plage d'instances et CPU/mémoire modifiables à tout moment — redimensionner un service en cours d'exécution le redéploie progressivement avec sa nouvelle part, sans recréation.
- Health check — pointez la plateforme vers l'endpoint de probe propre à votre application, et surchargez les command/args du conteneur quand les valeurs par défaut de l'image ne sont pas les vôtres.
- Console interactive (drawer), logs runtime en direct, variables et domaines (TLS automatique).
wwwsur n'importe quel domaine personnalisé — un interrupteur par domaine, qui redirigewww.exemple.comversexemple.comen 301 (la valeur par défaut, et ce que veulent les moteurs de recherche : deux hôtes servant un contenu identique sont deux URL canoniques pour une même page) ou sert les deux. Faire pointer un CNAMEwwwici ne suffit pas : le DNS résout le nom, et qui répond — et pour quel hôte le certificat est émis — se décide ensuite, à partir de la requête. Le domaine doit donc revendiquer lewwwpour que la plateforme le route et lui délivre TLS.- L'adresse propre du service — dans l'onglet Domaines, choisissez le nom auquel le service répond sous le domaine de la plateforme :
cura-accounts.apps.equantic.spaceau lieu ducura-accounts-e49f09.apps.equantic.spacegénéré. L'adresse générée continue de fonctionner, avec une 301 vers celle choisie qui garde le chemin et la query, si bien qu'un lien déjà partagé ne casse pas. Un nom revient au premier qui le demande sur toute la plateforme, et un nom abandonné est aussitôt libre pour n'importe qui. Chaque adresse de l'onglet a un bouton pour la copier. - Configuration avancée (EXPERT) — overrides de ressources/probes et inspection du manifeste généré.
Les paramètres avancés de l'assistant offrent les mêmes leviers au moment de la création — les ressources et la plage d'instances qu'on y choisit sont celles avec lesquelles tourne le premier déploiement.
Les Pull Requests ouvertes peuvent aussi recevoir des environnements de preview éphémères, déployés comme des services classiques et détruits automatiquement au merge ou à la fermeture — voir Dépôts & CI/CD.
D'où vient la version
L'onglet Aperçu d'un service indique quelle version tourne et, quand l'image est l'une des nôtres, d'où elle vient : l'exécution de pipeline qui l'a publiée, le commit derrière cette exécution, et le dépôt. L'écran de l'exécution répond à la même question par l'autre bout, avec un bandeau Déployée dans nommant chaque environnement où ses images tournent.
Le lien est enregistré, jamais deviné. Un job qui publie avec le jeton que la plateforme injecte déjà est attribué à cette exécution :
- run: docker login registry.equantic.space -u eqs -p $EQS_TOKEN - run: docker push registry.equantic.space/acme/api:${{ github.sha }}
Une image tirée d'un registre que nous n'exploitons pas n'a pas de provenance, et l'écran le dit au lieu d'afficher un panneau vide.
Joindre un service depuis un autre
La chaîne de connexion d'un service le nomme en entier — postgres.p-1a2b3c-production.svc.cluster.local — et pas seulement postgres. Le nom court ne résout qu'à l'intérieur du Space auquel il appartient, et un Space est un namespace Kubernetes : une application d'un autre Space à qui on avait donné le nom court fonctionnait jusqu'à ce que quelque chose la redémarre, et elle ne résolvait alors plus sa propre base.
Copiez la connexion depuis le panneau Connecter du service (ou eqs db url <service>) et elle fonctionne depuis n'importe où dans le workspace.