Première application
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 :
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 voyez | Que faire |
|---|---|
sng apply répond invalid manifest … | Le message nomme le champ fautif ; corrigez-le et relancez sng validate |
READY reste False avec RolloutFailed | sng 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 QuotaExceeded | Choisissez une size plus petite ou changez de tier |
| L'URL répond avec un certificat non valide | Le certificat est en cours d'émission : réessayez une minute plus tard |
Ce que vous venez de faire
Étape suivante : Et ensuite ?