Aller au contenu principal

Première application

Disponible

Fonctionnalité déployée et prise en charge. Les champs et commandes décrits ici sont stables au sein de la version v1alpha1.

Vous êtes connecté et positionné sur un tenant. Déployons une première application : un serveur web public, avec son certificat TLS, en moins de cinq minutes.

1. Générer un manifeste​

Le catalogue de gabarits vous évite de partir d'une page blanche :

sng template gen App web
web.yml écrit (App)

Ouvrez web.yml et remplacez son contenu par ce service minimal :

web.yml
apiVersion: deploy.stackngo.io/v1alpha1
kind: App
metadata:
name: web
spec:
services:
web:
image: nginxdemos/hello:plain-text
ports: ["80"]
size: xxs
healthcheck:
http: /
port: 80
ingress: {}
  • services : un service nommé web, une image publique, un port.
  • size: xxs : la plus petite taille de conteneur (voir Tailles).
  • ingress: {} : exposer le service sur Internet, avec le domaine par défaut et un certificat TLS.

Le manifeste ne mentionne pas de tenant : il est appliqué dans votre tenant courant.

2. Vérifier avant d'appliquer​

sng validate web.yml
sng plan web.yml
CHANGE KIND NAME
create App web

validate contrôle la structure du manifeste. plan compare avec l'état désiré actuel et annonce ce que apply va faire : create, update ou unchanged.

3. Appliquer​

sng apply web.yml
apply acme — 1 object(s)

Le manifeste est maintenant dans l'état désiré de votre tenant. La plateforme l'applique en moins d'une minute.

4. Suivre le déploiement​

sng app describe web
NAME READY SERVICES REASON AGE
web True 1/1 48s

SERVICE KIND PHASE READY URL
web deployment Ready true https://web-web.acme.dev.stackngo.app

Tant que READY est False, la colonne REASON et la phase de chaque service expliquent ce qui se passe (Progressing le temps de tirer l'image, Waiting si une dépendance n'est pas prête). L'index des conditions détaille chaque raison.

Les journaux du conteneur :

sng app logs web

5. Ouvrir l'application​

L'URL suit toujours le même schéma : https://<service>-<app>.<tenant>.dev.stackngo.app.

curl https://web-web.acme.dev.stackngo.app
Server address: …:80
Server name: web-…

Le certificat TLS a été émis automatiquement.

6. Modifier, puis nettoyer​

Changez image, ajoutez un service ou un volume, puis réappliquez : sng apply web.yml. sng plan vous montre toujours l'écart avant d'agir. Pour une mise à l'échelle rapide sans toucher au fichier : sng app scale web 2.

Quand vous avez fini :

sng kind delete App web

Les conteneurs, le certificat et l'URL disparaissent en moins d'une minute. Les volumes éventuels sont conservés (voir Stockage).

Si ça ne marche pas​

Ce que vous voyezQue faire
sng apply répond invalid manifest …Le message nomme le champ fautif ; corrigez-le et relancez sng validate
READY reste False avec RolloutFailedsng app logs web : l'image démarre-t-elle sans privilèges administrateur, la sonde vise-t-elle le bon port ?
READY reste False avec QuotaExceededChoisissez une size plus petite ou changez de tier
L'URL répond avec un certificat non valideLe certificat est en cours d'émission : réessayez une minute plus tard

Ce que vous venez de faire​

Étape suivante : Et ensuite ?